喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!

python是动态类型的语言,不需要声明变量的类型。

实际上,python中的变量仅仅只是用来保存一个数据对象的地址。无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保存到变量名中。所以变量名是类型无关的,但它指向的值是类型相关的,可以是数值、字符串、列表、函数、类、对象等等。这些内存对象中都至少包含3部分:对象类型、对象的引用计数(用来判断改对象是否可被垃圾回收器回收)、对象的值

因此,a = 3中,变量名a保存的是数据对象3的地址,之后可以为其赋值一个字符串a = "hello",这时a保存的是"hello"字符串的地址。在这个类型改变的过程中,a仅仅只是修改了一下地址而已。


变量的命名风格

python中的变量命名时只能包含数字、大小写字母、下划线这三种类型的字符,并且数字不能是首字符。

还有一些有特殊意义的变量命名方式(目前这些内容了解即可):

  1. 前缀并后缀双下划线的变量,如__name__,这种类型的变量在python中有特殊意义,属于对象的内置属性,以后学了类和对象就知道了
  2. 单下划线前缀的变量,如_x,这类变量不会被from ModuleName import *的方式导入
  3. 双下划线前缀的变量,如__x,这类变量是类的本地变量或称为类的私有变量,它会扩展成__classname_x

除此之外,还有约定俗成的命名方式:

  1. 常量以全大写字符表示
  2. 普通变量、函数名、方法名都以小写字母开头命名
  3. 模块名、包名以全小写字母命名
  4. 类名以大写字母开头

因为只是约定俗成,所以没有强制限制。