python总结:
一、数据结构
1、列表list 标志有序 大括号[ 1,2,3,4,5,6] 类似PHP数组
2、元组tuble 标志 小括号以及逗号(1,2,3)受限制的列表,不能下表赋值等
3、字符串
4、字典dist 标志花括号{"name":"admin","password":"password"} hash table的一种实现,一一对应,无论多大,查找速度一样(很像json,不同于json背后有数据结构,json本质是字符串)
5、集合 标志大括号{1,2,3,4,5,6} 唯一、无序,可以做去重排序用
二、内嵌函数、闭包、lamda表达式、匿名函数、递归
闭包:内部函数对外部函数变量进行了引用,则这个内部函数就是一个闭包,闭包只能访问外部函数变量而不能改变外部变量
lamda表达式: f = lamda x,y :x*y +1024 f为匿名函数f(3,4)
递归:同其它语言
三、类、魔术方法、构造方法、析构方法、self、super、公有/私有变量,默认公有私有用"__name"双下划线修饰
类:
class xxxx(CatSpider, CatSpider): # 支持多重继承
def __init__(self): # 构造方法 self相当于其他语言的this
super.__init__() # 调用父类(基类)构造函数方法
self.name = 'username' # 公有变量
self.__userinfo = 'userinfo' # 私有变量
def func1(self): # 公有方法
print (1)
def __fun2(self): # 私有方法
print (1)
def __del__(self): # 析构函数
print (1)
四、模块、包
模块:每一个py文件都可以是一个模块,可以用import导入,特点:重用
导入模块:import 模块名 as 新名字 import 包名.模块名 as 新名字
模块__name__属性 模块最后添加
if __name__ == '__main__':
test() #意思是单独运行的时候希望执行的代码
包:相关模块的集合,组织模块的方式。文件夹即为包名,文件夹中需要定义__init__.py模块文件,可以为空初始化用