本笔记为阿里云天池龙珠计划Python训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;
函数:
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”