- Python赋值并不是直接将一个值赋给一个变量,对象是通过引用传递的,在赋值时,不管该对象是新创建的,还是已经存在的,都是将该对象的引用(而不是值)赋给变量。
-
python中允许多元赋值:
多元赋值
-
python元素值互换时不需要引入中间变量tmp:
-
keyword模块存放了python的keyword:
keyword
- 一般来讲,以_开头的变量名被认为是私有的,在模块或类外不可以使用。
- 最高级别的Python语句——也就是那些没有缩进的代码行——在模块被导入时就会被执行。
- 再说一遍,通常只有主程序模块中含有大量的顶级可执行代码,其他所有被导入的模块只应该有很少的顶级执行代码。
- 变量无须事先声明。
- 变量无须指定类型。
- 程序员不用关心内存管理。
- 变量名会被"回收"。
- del语句能够直接释放资源。
- os.path.exist()函数,当输入一个不存在的文件名时,返回False,否则返回True。
- try-except-else:异常处理,首先执行try中代码块,抛出异常则执行except中的,没有抛出异常则执行else中的代码块。
python对象引用计数增加的情况
- 对象被创建。
x = 3.14
- 对象另外的别名被创建。
y = x
- 对象被作为参数传递给函数。
foobar(x)
- 对象成为容器对象的一个元素。
myList = [123, x, 'xyz']
python对象引用计数减少的情况
- 一个本地的引用离开了其作用范围,如foobar()函数结束时。
- 对象的别名被显示地销毁(del关键字)
del y
- 对象的一个别名被赋值给其他对象。
x = 123
- 对象被从一个窗口对象中移除。
myList.remove(x)
- 对象==窗口对象本身被销毁。
del myList
网友评论