python经典入门教程(python经典教程)

网友投稿 340 2022-06-09


Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。作为今年来越来越流行的语言,我们该如何学习或者转行学习Python呢,这里小迹为大家介绍如何入门学习Python。以下是小编为你整理的python经典入门教程

如何选择教材,好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。因此我们需要去百度或者知乎等平台看看大家是如何选购学习教材的,寻找最合适自己的学习资料;

书本的选购完成后,我们需要查看是否有配套的视频教程,可以通过百度或者去某些平台购买实时授课,这样在学习过程中遇到的问题就可以得以解答;

书和视频已搞定,那就是环境配置了,PC平台的环境配置以及库的安装,对于能否成功运行Python文件,有着关键的作用。不懂事要学会自己百度搜索相关的资源,一般你遇到的问题许多人也遇到过;

学习过程结束后,我们需要自己动手做些事情,比如写一些界面程序,学学机器学习,训练一下神经网络等,从中我们会发现我们的许多不足与不懂的地方,通过请教他人,或者加入一些论坛进行学习,参考他人的代码等,这都是很重要的,一定要学会站在巨人的肩膀上思考问题;

最后,还有非常非常重要的一点就是代码风格,从最开始学习就必须强迫自己模仿最优秀的代码风格。学会标注而不是一味地复制,在编程时懂得思考,同样的问题可以有数十种解法,因此,懂得思考很重要。

or循环判断的格式

for循环判断的格式为:

for i in range(100): print i,

我们开始加上判断条件输出50到70之间的数

for i in range(100): if i >49 and i <71: print i,

当然可以以此类推,比如输出 1-100 内,除开50-70的数,说明一下在range后面的括号内,前面可以自定义起始值

#求1-100 内的所有奇数for i in range(1,100): if i % 2 == 1: print i,

我们在1到100内循环查找,如果i无法被2整除就是奇数(视频中这里写错了写成了质数,表示抱歉)

新增一个知识点获取随机数,我们可以通过导入的方式获取一个随机数

import randoma = random.randint(1,200)b = random.randint(1,999)print a,b

常用的变量

class Student(object): def __init__(self, name, score): self.name = name self.score =score def Print_score(self): print ('%s:%s' % (self.name, self.score))bat = Student('hongbin', 100)bat.Print_score()print bat.name

我们可以观察一下在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:小编可是好不容易才“考了”100分 就这样被修改成了59,会不会很不爽!

在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问。如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,我们可以测试一下:

这样就确保了外部代码不能随意修改对象内部的状态,这样通过访问限制的保护,代码更加健壮。

掌握常见的反爬策略与反爬处理策略

反爬,是相对于网站方来说的,对方不想给你爬他站点的数据,所以进行了一些限制,这就是反爬。

反爬处理,是相对于爬虫方来说的,在对方进行了反爬策略之后,你还想爬相应的数据,就需要有相应的攻克手段,这个时候,就需要进行反爬处理。

常见的反爬策略主要有:

IP限制

UA限制

Cookie限制

资源随机化存储

动态加载技术

对应的反爬处理手段主要有:

IP代理池技术

用户代理池技术

Cookie保存与处理

自动触发技术

抓包分析技术+自动触发技术

……

这些大家在此先有一个基本的思路印象即可,后面都会具体通过实战案例去介绍。

掌握PhantomJS、Selenium等工具的使用

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

掌握分布式爬虫技术与数据去重技术

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

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

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:编程创造性学习理念(编程创新设计)
下一篇:少儿为何要学习编程(少儿编程没必要学)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~