前言
欢迎来到Python
的世界!!
也许你已经听过许多的计算机编程语言,比如C/C++
,比如经久不衰且流行的Java
,比如适合写网页的JavaScript
等等
你会很好奇,python
和其他语言到底有什么不同,我们从开发效率来说,比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
所以Python
是一种非常高级的语言。
代码少,带来的是运行效率的低下,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。
虽然我并不想介入语言之争,但是在github
2017的年度报告,Python
超过了Java
成为了第二名,这从侧面体现出Python
的流行程度,连BAT、Google等等这些公司都在使用Python
,所以不必担忧学习了Python
之后未来用不上。
Python
能干很多事情,日常任务,可以写网络游戏的后台,可以做网站,比如Youtube
,就是使用Python
写的
当然,也有Python
不能做的事情,比如操作系统,这个只能用C语言写(接近底层且快),开发APP,只能用Swift/Objective-C
(iphone)或者Java/Kotlin
(Android),写游戏内核(比如PUBG的虚幻4引擎),最好使用C/C++
python
极其简单,哪怕你没有学过任何编程语言,会使用电脑,你只要上过初中的数学课,并且认真听了,就能学会这门编程语言。
虽然这么说,但是在python
的高级程序设计中,这些抽象的知识也是很难学的(比如元编程、鸭子类型、函数式编程)
最后,人生苦短,我用Python。
国外大佬的Python全指南(官方中文版)(甚至包括如何装Python)(requests库之父)Hitchhiker’s Guide to Python
一个基本的学习计划(面向数据类)
一个月基本要掌握的内容:
输入输出函数(input)(print)
数据类型和变量
字符串操作和编码
if、for in 、while
python基础数据结构的基本使用(dict)(list)(tuple)
and or not 逻辑运算符的使用
学会第三方库的导入
(基于快速上手的原则,我们暂时不学习面向对象编程,如果学有余力可以学习)
接触并使用函数
文件的IO读写
数据结构的高级特性(切片)(拆包)(生成式)
错误捕捉
?????
大概的可能就这些,基本的学习教程可以自己看书或者看在线教程
我们可以练一些数学题来熟悉python
,比如质数、水仙花数、公倍数之类的纯数学问题
然后我们的第一个方向就是爬虫,这个我们就不细讲,我们需要学会的几个库(其实只需要学会其中的几种功能):
lxml
BeautifulSoup
requests
json(标准库)
然后学一下HTML的基本知识,比如:
- 元素
- 属性
- 段落
再了解一下HTTP的基本知识:
- HTTP方法(get,post,put之类)
- URL
- cookie
- HTTP报文头部
学习一下chrome
的检查元素(chrome/Firefox/Safari),了解网站的构造和服务器与网站如何交互
对于动态加载的网站,我们了解一下AJAX、异步加载,然后我们可以直接抓取服务器APi传输的数据:
bilibili新番页面(因为有播放量等的缘故,所以需要随时更新而使用ajax)
基本自己手写爬虫就没有任何问题了,如果想提高效率可以学习多线程或者协程(较难),如果嫌还是太麻烦,可以学习爬虫框架,比如scrapy
.