基础
- Python可以直接定义变量名字并进行赋值的,例如我们写出a = 4时,Python解释器干了两件事情:
- 在内存中创建了一个值为4的整型数据
- 在内存中创建了一个名为a的变量,并把它指向4
if _name_ == "_main_":
由于每个python模块(python文件)都包含内置的变量name,当运行模块被执行的时候,name等于文件名(包含了后缀.py)。如果import到其他模块中,则name等于模块名称(不包含后缀.py)。而“main”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,name == ‘main‘结果为真;而当模块被import到其他模块中时,name == ‘main‘结果为假,就是不调用对应的方法。- 简而言之就是:name 是当前模块名,当模块被直接运行时模块名为 main 。当模块被直接运行时,代码将被运行,当模块被导入时,代码不被运行。让你写的脚本模块可以导入到别的模块中用
- 文件操作
1
2
3
4
5
6
7
8
9
10
11try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
with open('/path/to/file', 'r') as f:
print(f.read())
这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。
总结
1 | 1. 原始数据类型和运算符 |
爬虫
概况
request库
- r.headers是response对象的headers。即网页的头部信息。r.request.headers是request库发送请求给服务器的https定制头,是个字典