勤学思培训网KTYKGJ
  • 终于理解python3入门案例

    python虽然好学,但是也要是付出努力之后,学懂了才会觉得好学,如果你没有动力,没有付出时间和精力,那对于你来说就是多好学也是非常的困难的!如何找到学习python的动力呢?以下是小编为你整理的python3入门案例

    这是你学习之前的第一步,一定要清楚的知道,自己为什么要学习python,不论是为了达成某种目的,比如:工作中要用到?对以后发展有利?等等方面,绝不是凭空乱想的,一时兴起想要学习。


    [图片0]

    做任何事情,都需要有兴趣,不然,即便是你天天坐在那儿,埋头苦学,你的思想也在九霄云外遨游,不知所以。所以,提高学习兴趣是关键!

    一定要设定目标,比如:我一个月要掌握基础,第二个月,也要学习框架等等,要给自己做好初期的预算,不能没有目标,学到哪儿算哪儿的态度是不可能学好东西的!所以,一定要给自己设定明确的目标,这样学习就会有动力,就像一只有人催促一样。

    一定要有一个团队或者同伴,大家一起干一件事情要比你一个人孤零零的干快得多,也要有趣的多,可以少走很多的弯路,集体的力量是强大的,当你觉得学习越来越顺利的时候,你就会有动力去继续学习。

    用python运算

    或许,你觉得100+300太简单了,那我们可以尝试一个复杂的,在>>>后输入10*(100/2)/3+2,按下回车后,就可以看到结果了,各种四则运算,包括三角函数,python都是可以计算的

    接下来我们看个更强大的功能,输入*,按下回车,就会看到结果了,惊讶吗,强大吧,你可以打开windows自带的计算器计算这个式子,虽然也能计算出结果,但是它的结果却是很粗略的,不光是整数,小数也是可以计算的,小数在程序设计语言中一般称为浮点数。还有因为历史原因,计算机中出现的数学结果如e2,是指的10的2次方,这个和我们学的数学中的e是不一样了。

    接下来我们尝试下三角函数的计算,我们输入sin(30),按下回车后,似乎出问题了,下面出现了一些红色的字符,注意遇到红色字符,就表明我们犯错了。注意有这么一句:

    NameError: name 'sin' is not defined,意思呢就是python不认识sin,昨天我们用的print则是它认识的,那该怎么办呢,我们应该特别强调一下,告诉python,sin是数学中的三角函数,首先我们敲入import math告诉python我们要用一些数学的功能,然后在敲入(30)

    看到结果了,似乎不对啊,这是怎么回事呢,实际上在python里面sin这个函数要的参数是以弧度为单位的,而我们给的是角度,如何把角度转换成弧度呢,python也给我们方法了,下来我们输入((30)),这回结果就对了,其中就是把角度转换成弧度的

    Python的特点

    1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    2.易于阅读:Python代码定义的更清晰。

    3.易于维护:Python的成功在于它的源代码是相当容易维护的。

    4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

    5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。


    [图片1]

    6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

    7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

    8.数据库:Python提供所有主要的商业数据库的接口。

    编程:Python支持GUI可以创建和移植到许多系统调用。

    10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

    掌握PhantomJS、Selenium等工具的使用

    有一些站点,通过常规的爬虫很难去进行爬取,这个时候,你需要借助一些工具模块进行,比如PhantomJS、Selenium等,所以,你还需要掌握PhantomJS、Selenium等工具的常规使用方法。

    如果你已经学习或者研究到到了这里,那么恭喜你,相信现在你爬任何网站都已经不是问题了,反爬对你来说也只是一道形同虚设的墙而已了。

    但是,如果要爬取的资源非常非常多,靠一个单机爬虫去跑,仍然无法达到你的目的,因为太慢了。

    所以,这个时候,你还应当掌握一种技术,就是分布式爬虫技术,分布式爬虫的架构手段有很多,你可以依据真实的服务器集群进行,也可以依据虚拟化的多台服务器进行,你可以采用urllib+redis分布式架构手段,也可以采用Scrapy+redis架构手段,都没关系,关键是,你可以将爬虫任务部署到多台服务器中就OK。

    至于数据去重技术,简单来说,目的就是要去除重复数据,如果数据量小,直接采用数据库的数据约束进行实现,如果数据量很大,建议采用布隆过滤器实现数据去重即可,布隆过滤器的实现在Python中也是不难的。