函数: 1.help(函数名) ? 2.函数名.__doc__输出函数中的文本 ? 3.默认参数一定要放在位置参数后面,不然程序会报错。 4.加了星号(*)的变量名会存放所有未命名的变量参数。 5.**kw - 关键字参数,可以是从零个到任意个,自动组装成字典。 6.*, nkw - 命名关键字参数,用户想要输入的关键字参数,定义方式是在nkw 前面加个分隔符 *。 7.参数定义的顺序:位置参数、默认参数、可变参数/命名关键字参数和关键字参数。 8.当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。 9.如果在一个内部函数里对外层非全局作用域的变量进行引用,那么内部函数就被认为是闭包。通过闭包可以访问外层非全局作用域的变量,这个作用域称为 闭包作用域。 10.如果要修改闭包作用域中的变量则需要 nonlocal 关键字 11.如果一个函数在内部调用自身本身,这个函数就是递归函数。 lambda表达式:匿名函数 1.filter:过滤器 ?closure:关闭 filter(function, iterable)过滤掉不符合条件的元素 ?map(function, *iterables) 根据提供的函数对指定序列做映射。 类与对象:类的实例有对象(=属性 + 方法),类定义结构,以类为模板创建对象,类不但包含方法定义,而且还包含所有实例共享的数据。 1.关键字class? 2.继承:子类自动共享父类之间数据和方法的机制 3.多态:不同对象对同一方法响应不同的行动 4.raise-手动抛出异常,raise [exceptionName [(reason)]] 5.Python 的 self 相当于 C++ 的 this 指针。 6.类的方法与普通的函数只有一个特别的区别 —— 它们必须有一个额外的第一个参数名称(对应于该实例,即该对象本身),按照惯例它的名称是 self。在调用方法时,我们无需明确提供与参数 self 相对应的参数。 7.在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了,不能直接调用,但也可以调用出来。 8.继承:super() 函数是用于调用父类(超类)的一个方法。 Python 虽然支持多继承的形式,但我们一般不使用多继承,因为容易引起混乱。
class DerivedClassName(modname.BaseClassName): ? ? ? ?statement-1 ? ? ? ? ? ? ? . ? ? ? ? ? ? ? . ? ? ? ? ? ? ? . ? ? ? ?statement-N 如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性。
9.Python 严格要求方法需要有实例才能被调用,这种限制其实就是 Python 所谓的绑定概念。BIF(相关内置函数),hasattr(object, name) 用于判断对象是否包含对应的属性。
魔法方法:
1.魔法方法总是被双下划线包围,例如__init__ 。魔法方法的第一个参数应为cls (类方法) 或者self (实例方法)。__init__(self[, ...]) ?构造器,当一个实例被创建的时候调用的初始化方法,__new__(cls[, ...]) ?在一个对象实例化的时候所调用的第一个方法,在调用__init__ 初始化前,先调用__new__ 。
-
__str__(self) :
- 打印一个对象,触发
__str__ %s 格式化,触发__str__ str 强转数据类型,触发__str__
2.算术运算符:不通过类而是通过函数来创建对象
3.divmod(a, b) 把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b) 。
4.反算数运算符:多了一个“r”
|