1. 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序运行。推荐使用 #!/usr/bin/env python 当系统看见这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
2. 从字符串中获取一段字符串,下标是从0开始算起,[头下标:尾下标]获取的字符串包括头下标的字符,但不包括尾下标的字符。
3. 元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用中括号。元组中只包含一个元素时,需要在元素后面添加逗号。元组的下标索引从0开始,可以进行截取、组合。
4. 字典中的键值对中的键是唯一的,如果重复最后一个键值对,会替换前面的。
5. 函数能够处理比声明时更多的参数,这些参数叫做不定参数,声明时不会命名,加了星号(*)的变量名会存放所有未命名的变量参数。
6. 在函数空间中的若想对全局变量进行操作,需要在函数中的变量前加 global
7.类中的构造函数_init_()。定义类的方法时,必须有self,self不是关键字,代表的是类的实例,代表当前对象的地址,而self.class指向类。
8. 析构函数如果定义的话,定义方法 def __del__(self): class_name = self.__class__.__name__
9. 子类继承父类的时候,如果不重写_init_,实例化子类时,会自动调用父类定义的_init_,如果重写的_init_,实例化子类,就不会调用父类已经定义的_init_。如果重写了_init_时,要调用父类的构造方法,可以使用super关键字。 super(子类,self)._init_(参数1,参数2,……)还有一种经典写法:父类名称._init_(self,参数1,参数2,……)。
需要注意的是在python中super只能应用于新类,即所有类都必须有继承的类,如果什么都不想继承,就继承object类
10. 以双下划线开头声明的变量和方法都是私有的,不能在类的外部调用。python不允许实例化的类访问私有数据,但是可以使用(对象名._类名._私有属性名)访问属性。以单划线开头表示的是protected类型的变量,只能允许本身和其子类进行访问,不能用于from module import*
11.
12. generator和函数的执行流程不一样。函数是顺序执行,遇到return
语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()
的时候执行,遇到yield
语句返回,再次执行时从上次返回的yield
语句处继续执行 。