1. 可变参数(例如 *nums),允许传入一个list 或 tuple,但是 关键字参数(例如 **kv),允许传入一个dict,具体可参考此页;
2. set与dict类似,但只是一组key的集合,不存储value;tuple与list类似,只是tuple初始化后不能修改,即每个元素的指向不变;
3. Python切片操作使用 [start Index : end index : step],意为 从 start index 开始(from zero),到end index 为止,不包含 end index,每 step 个元素取一个,若step为 -1,则数据顺序翻转;如果要从最后一位元素开始,则 start index 从 -1 开始;
L=['A','B','C','D','E'] >>> L[0::2] ['A', 'C', 'E'] >>> L[::-1] ['E', 'D', 'C', 'B', 'A'] >>> L[-1:-3:-1] ['E', 'D'] >>> L[-2:] ['D', 'E']
4. 凡是可作用于for循环的对象都是Iterable类型,比如list、tuple、dict、set、str、generator;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
5. __slots__定义的属性仅对当前类的实例起作用,对继承的子类是不起作用的;
6. Python 格式化字符串时,如果有多个参数,则将结果需使用 括号,并 添加 逗号进行分隔;
"I'm %s. I'm %d year old" % ('Vamei', 99)
7. 由于Python解释器设计时具有GIL全局锁,导致了多线程无法利用多核,但可以利用多进程实现多核任务;多个Python进程有各自独立的GIL锁,互不影响。
8. 正则表达式默认采用贪婪匹配,也就是匹配尽可能多的字符;可以使用问号?来取消贪婪匹配;
>>> re.match(r'^(d+?)(0*)$', '102300').groups() ('1023', '00')
9.