喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!
python是动态类型的语言,不需要声明变量的类型。
实际上,python中的变量仅仅只是用来保存一个数据对象的地址。无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保存到变量名中。所以变量名是类型无关的,但它指向的值是类型相关的,可以是数值、字符串、列表、函数、类、对象等等。这些内存对象中都至少包含3部分:对象类型、对象的引用计数(用来判断改对象是否可被垃圾回收器回收)、对象的值。
因此,a = 3
中,变量名a保存的是数据对象3的地址,之后可以为其赋值一个字符串a = "hello"
,这时a保存的是"hello"字符串的地址。在这个类型改变的过程中,a仅仅只是修改了一下地址而已。
变量的命名风格
python中的变量命名时只能包含数字、大小写字母、下划线这三种类型的字符,并且数字不能是首字符。
还有一些有特殊意义的变量命名方式(目前这些内容了解即可):
- 前缀并后缀双下划线的变量,如
__name__
,这种类型的变量在python中有特殊意义,属于对象的内置属性,以后学了类和对象就知道了 - 单下划线前缀的变量,如
_x
,这类变量不会被from ModuleName import *
的方式导入 - 双下划线前缀的变量,如
__x
,这类变量是类的本地变量或称为类的私有变量,它会扩展成__classname_x
除此之外,还有约定俗成的命名方式:
- 常量以全大写字符表示
- 普通变量、函数名、方法名都以小写字母开头命名
- 模块名、包名以全小写字母命名
- 类名以大写字母开头
因为只是约定俗成,所以没有强制限制。