动态类型的语言
python是动态类型的语言,不需要声明变量的类型。
实际上,python中的变量仅仅只是用来保存一个数据对象的地址。无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保存到变量名中。所以变量名是类型无关的,但它指向的值是类型相关的,可以是数值、字符串、列表、函数、类、对象等等。这些内存对象中都至少包含3部分:对象类型、对象的引用计数(用来判断改对象是否可被垃圾回收器回收)、对象的值。
因此,a = 3中,变量名a保存的是数据对象3的地址,之后可以为其赋值一个字符串a = “hello”,这时a保存的是"hello"字符串的地址。在这个类型改变的过程中,a仅仅只是修改了一下地址而已。
变量的命名风格
python中的变量命名时只能包含数字、大小写字母、下划线这三种类型的字符,并且数字不能是首字符。 还有一些有特殊意义的变量命名方式(目前这些内容了解即可):
前缀并后缀双下划线的变量,如__ name__,这种类型的变量在python中有特殊意义,属于对象的内置属性,以后学了类和对象就知道了
单下划线前缀的变量,如_x,这类变量不会被from ModuleName import *的方式导入
双下划线前缀的变量,如__x,这类变量是类的本地变量或称为类的私有变量,它会扩展