r'...'
表示单引号内部的字符串不转义- 空值
None
不等于0
False
''
空字符串, None有专属的数据类型NoneType ASCII
编码是一个字节,Unicode
编码是两个字节,UTF-8
编码是可变长的1-6个字节(根据编码对应的数字采取不同的字节个数来表示)%
的转义用%%
表示dict
中判断key存在方法:in
dict.get(key)
d.get(key, -1)
,get方法如果key不存在则返回None或者自己定义的不存在返回值- 利用range函数生成等长度list要比set慢接近150倍左右
如果想定义一个什么事也不做的空函数,可以用
pass
语句def nop(): pass
比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来
函数多个返回值时,返回的是tuple
- 函数定义默认参数时,牢记一点:默认参数必须指向不变对象!否则默认参数指向了可变对象,函数中会对默认参数的对象进行改变,每当使用一次默认参数,都会改变默认参数
- 可变参数用
*
表示,如*nums
,关键字参数用**
表示,如**kw
关于位置参数和关键字参数
def f1(a, b, c=0, **kw): print('a =', a, 'b =', b, 'c =', c, 'kw =', kw) f1(0,1,2) # a=0 b=1 c=2 kw = {} f1(0,1,c=2) # a=0 b=1 c=2 kw = {} f1(0,1,d=2) # a = 0 b = 1 c = 0 kw = {'d': 2} f1(0,c=1,b=2) # a = 0 b = 2 c = 1 kw = {}
函数传参顺序为
必选参数
可变参数
关键字参数
- 类中定义私有变量:
self.__name = name
,双下划线开头双下划线结尾的变量,如:__num__
为特殊变量,非私有变量 关于类和实例绑定方法
公共部分from types import MethodType class Student(object): pass def set_age(self, age): self.age = age a = Student() b = Student()
实例绑定
a.set_age = MethodType(set_age,a) # 无法使用a.set_age = set_age形式绑定 a.set_age(15) print(a.age) # 15
类绑定
# situation 1 Student.set_age = MethodType(set_age, Student) a.set_age(15) b.set_age(16) print(a.age) # 16 print(b.age) # 16 # situation 2 Student.set_age = set_age a.set_age(15) b.set_age(16) print(a.age) # 15 print(b.age) # 16
- 15.
Python 学习随笔
最新推荐文章于 2022-07-21 15:57:36 发布