深度实践OpenStack:基于Python的OpenStack组件开发—3.3 Python数据类型

举报
华章计算机 发表于 2019/06/06 11:14:38 2019/06/06
【摘要】 本书摘自《深度实践OpenStack:基于Python的OpenStack组件开发》——书中第3章,3.3.1节,作者是喻涛、田亮、张家龙、赵利军、李飞。

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

image.png

图3-11 列表的帮助提示

说明 id函数用于返回括号里给定变量在内存里的地址。


在Python中,变量的定义和C语言类似,一切皆可是变量,即变量可以是数据,可以是自定义的类型,也可以是方法或者函数。

1.变量的命名规则

变量的命名规则:允许下划线、数字、英文字母、必须以下划线、英文字母开头,变量名字对大小写敏感。

2.变量自动回收机制

当变量的引用计数变为0时,Python会自动回收,如图3-12所示。当前的引用变量数是2,当变量A和变量B指向其他值时,原来值的引用计数就变为0,原来变量就会被自动回收。

image.png

图3-12 变量引用计数

Python的数据类型同C语言相似,区别在于C语言中的变量一直指向某地,也就是说C语言可以通过变量来改变它指向内存的值,而Python中变量变化的是它的“指向”,可以直接认为Python中的变量类似于C语言中指针的概念。因此C和Python中都有变量的概念,但两种语言变量的“变”的含义不同。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。