深度实践OpenStack:基于Python的OpenStack组件开发—3.3 Python数据类型
3.3 Python数据类型
3.3.1 变量
Python程序是通过变量来访问某块内存中的数据的,但Python中变量的概念和C语言中的变量有些不同,这里从变量的定义上来说明两者的不同之处。在C语言中定义一个变量时,需要指定变量的数据类型,变量初始化时,还需依据等号左边变量的数据类型进行相应赋值,否则会出现数据的转换操作,造成不可想象的错误,而在Python中定义变量不需要指定变量的数据类型,可以将各类数据直接赋值给等号左边的变量,比较自由。例如:
>>> x = 12
>>> id(x)
34347872
>>> x = 13
>>> id(x)
34347848
>>> y = 13
>>> id(13)
34347848
>>> y = '13'
>>> id(y)
140202476598096
图3-11 列表的帮助提示
说明 id函数用于返回括号里给定变量在内存里的地址。
在Python中,变量的定义和C语言类似,一切皆可是变量,即变量可以是数据,可以是自定义的类型,也可以是方法或者函数。
1.变量的命名规则
变量的命名规则:允许下划线、数字、英文字母、必须以下划线、英文字母开头,变量名字对大小写敏感。
2.变量自动回收机制
当变量的引用计数变为0时,Python会自动回收,如图3-12所示。当前的引用变量数是2,当变量A和变量B指向其他值时,原来值的引用计数就变为0,原来变量就会被自动回收。
图3-12 变量引用计数
Python的数据类型同C语言相似,区别在于C语言中的变量一直指向某地,也就是说C语言可以通过变量来改变它指向内存的值,而Python中变量变化的是它的“指向”,可以直接认为Python中的变量类似于C语言中指针的概念。因此C和Python中都有变量的概念,但两种语言变量的“变”的含义不同。
- 点赞
- 收藏
- 关注作者
评论(0)