赋值
1、python不支持自增、自减
2、多元赋值,x, y, z = 1, 2, 3或(x, y, z) = (1, 2, 3),则分别为x,y,z赋值。
3、x、y互换,简单的办法是x,y = y,x
4、_xxx,不用from module import *导入,在类或模块外无法使用
5、__xxx__,系统定义名字
6、__xxx,类中的私有变量名
import
导入模块,那些没有缩进的代码行在模块被导入时就会被执行,换句话说,除了需要在import时被执行(鬼才需要这样),否则要么放到函数当中,要么放到类当中。
那么python是否有办法能在运行时检测出该模块是被导入还是被直接执行呢,__name__系统变量就是干这件事的。
如果模块是被导入,__name__的值为模块名字
如果模块被直接执行,__name__的值为__main__
所以一般情况,一个模块的测试代码都会写成
if __name__ == "__main__":
main()
测试代码
python用于写脚本,
if __name__ == "__main__":
估计是肯定要用的。
如果用于单元测试,介绍一个库,import unittest
增加引用计数:
x=3.14
y=x
func(x)
a = [1, x]
减少引用计数:
离开作用域,如离开函数
del x
x = 124
a.remove(x)
del a
del作用:
名字空间中删除x
引用计数-1
相关模块:
调试:pdb
日志:logging
性能测试:cProfile