天才教育网合作机构 > 培训机构 >

天才领路者

欢迎您!
朋友圈

400-850-8622

全国统一学习专线 9:00-21:00

位置:培训资讯 > 总算理解如何自学python开发

总算理解如何自学python开发

日期:2019-09-18 16:15:06     浏览:200    来源:天才领路者
核心提示:为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版本号。例如在CPython发行版3.4中

为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版本号。例如在CPython 发行版3.4中,fibo.py文件的预编译文件就是:__pycache__/fibo.cpython-34.pyc。这种命名规则可以保证不同版本的模块和不同版本的python编译器的预编译模块可以共存。以下是小编为你整理的如何自学python开发  

脚本在运行之前会首先检查python文件的*编辑日期和预编译模块的编译时间,从而决定是否需要重新编译。预编译模块也是跨平台的,所以不同的模块是可以在不同的系统和不同的架构之间共享的。  

Python在两种情况下不检查缓存。*种,从命令行中直接加载的模块总是会重新编译并且结果不保存。第二种,如果没有源模块,则不会检查缓存。为了支持无源代码的部署方式,应该将预编译模块放在源代码文件夹中而不是__pycache__中,并且不要包含源代码模块。

如何自学python开发

 

你可以使用-O和-OO参数来降低预编译模块的大小。-O开关会去除assert语句,-OO开关会去除assert语句和__doc__字符串。因为有些模块要依赖这些语句,因此只有当你确认模块的内容时才去使用这些开关。优化模块的后缀名是.pyo。  

.pyo和.pyc文件的执行速度不会比.py文件快,快的地方在于模块加载的速度。compileall模块可以用来把某个文件夹的中的所有文件都编译成为.pyc或者.pyo文件。  

lambda

lambda通常是匿名函数的代名词,我们用到lambda的时候就是创建一个匿名函数:举个简单的例子:x代表了输入,x**2代表计算方法,也代表返回内容,也就是说这个函数输入一个数,返回这个数的平方。但是因为这个函数没有函数名,所以无法在其他地方调用  

除非我们将这个函数起一个名字:但通常我们不会这么做,匿名函数只是作为匿名使用。  

filter函数用法是:filter(fuction,list):将list中每一个元素带入到function中,计算返回值,将返回值为True的list中的元素形成一个新的list,当然也可以是tuple。  

对于上面这个函数,我们可以用lambda来简化:它的意思是,如果alist中的值的平方小于5,就返回这个值,形成一个新的list  

关于python

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,*个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议[1] 。Python语法简洁清晰,特色之一是强制用空白符(w作为语句缩进。  

首先从Python官网(https://www.python.org/downloads/)下载Python安装程序,本文以Python 3.5.2为例:

 

web-based installer 需要通过联网完成安装2、executable installer 通过可执行文件(*.exe)方式安装3、embeddable zip file 嵌入式版本,可以集成到其它应用中  

笔者开发环境是Windows所以选择红框选中的版本,Mac用户下载红框标注的版本,下载完成后,找到相应的软件包,  

 

如何用python下载电子书

这里下载biquge里面的一本电子书,书名是《两界搬运工》,代码是17_17115。

之所以在这个网站下载,是因为这里的反爬措施不那么严厉,连续下载了一千二百七十七章,也没有出现封锁IP的现象。

找到目录页,可以看到章节列表,而每一章都对应一个超链接。

用python读取目录页:

import requests as rt

import re

url = '……biquge.com.tw/17_17115/'

a = rt.get(url)

print(a)

如果返回,就说明这个页面读取成功了。

查看页面的headers,了解编码格式:

a.headers

上面没有明确指出编码格式,尝试使用gbk编码:

a.encoding='gbk'

然后读取目录页的源代码:

b = a.text

用正则表达式来提取每一章的超链接:

c = re.findall('

',b)

提取每一章的标题,需要匹配汉字字符串和空格:

d = re.findall('

([u4e00-u9fa5 ]+)',b)

尝试着下载第二章的网页源代码:

p = '……biquge.com.tw'

u = rt.get(p+c[1])

u.encoding = 'gbk'

v = u.text

可以看到,网页源代码里面包含着电子书的正文内容;

每一段的开头,是四个空格( )。

这样,可以单独把正文的内容拿出来:

w = re.findall('( .*?)

',v)

但是,我们可以发现,段落开头的空格仍旧是 ,这样看着很难受是不是?因此,可以用' '替换

替换的方法是re.sub:

for j in w:

j = re.sub(' ',' ',j)

print(j)

这个函数的具体用法,可以参考《python里面re.sub()函数的使用方法》。

如果本页不是您要找的课程,您也可以百度查找一下: