2.3Python对象
python中的一切都是对象,常见的对象类型如数字、字符串、列表、元组、字典、集合、文件、布尔型、空类型、编程单元类型等。
2.3.1变量引用对象
在Python中,变量与对象的关系体现在引用上,所谓变量引用对象就是建立变量到对象的连接。
变量由赋值语句创建的,而且是第一次给这个变量赋值时创建变量,创建对象的同时也建立了变量对对象的引用。变量有自己的存储空间,变量引用对象是该变量存储了对象的内存地址,而不是对变量是由赋值语句创建的,而且是在第一次给同一变量赋值时,则改变的是该变量的引用。示例代码如下:
>>>x=5
>>>x=[1,2,3,4,5]>>> x ='XYZ'
其中第一条是首次对变量x赋值,则第一条语句是创建变量x,创建整数5并建立变量x对整数对象5的引用。第二条和第三条语句则是改变变量x的引用。因此,说明同一变量可以引用不同类型的对象,对象是有类型的,而变量是没有类型的。
2.3.2 多个变量共享引用对象
共享引用是指多个变量都引用同一对象。示例代码如下:>>>x=5
>>>y=x
>>>print (x, y)
5 5
>>>x=6
>>> print (x,y)
6 5
y=x语句实际执行y=5,与变量x同时引用整数对象5,实际执行的是print(5,5)。变量x引用新的对象6,这里并不影响y的引用,实际执行的是print(6,5)。从上面的代码可以看出,将变量赋值给另一个变量时,将会使两个变量引用同一个对象。给变量赋新值时,会使变量引用新的对象,原来的引用被删除。
当变量共享引用时,如果修改了被引用的对象,意味着所有引用对象的变量获得的将是改变之后的对象的值。示例代码如下:
>>>x=[1,3,5]
>>>y=x
>>>x=[1,3,5]
>>>y=[1. 3,5]
>>>x[0] =5
>>>x
[5,3,5]
>>>y
[5,3,5]
y=x语句使y和x引用同一个列表对象[1,3,5],y的输出结果与x的输出结果相同。通过变量 x修改列表对象的第一项,得到的x和y都为修改后的列表。
2.3.3删除对象
在Python中,用 del语句删除对象,并释放对象所占用的资源。示例代码如下:
>>>x=[1, 3,5]
>>> del x[2]
>>>x
[1,3]
>>>x=1
>>>x
1
>>> del x
>>>x
Traceback (most recent call last):
File "<pyshell#6>", line 1,in <module>
工
NameError: name'x'is not defined
任务 2.4 Python 变量
在 Python 中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的变量。示例代码如下:
>>>x=5
创建了整型变量x,并赋值为5。再如如下语句,示例代码如下:>>> y = 'Hello world!'
创建了字符串变量y,并赋值为"Hello world!"。这一点适用于 Python任意类型的对象。
Python具有自动内存管理功能,会跟踪所有的值,程序员一般情况下不需要太多考虑内存管理的问题。但是,显式使用del命令删除不需要的值或显式关闭不再需要访问的资源是一个好习惯,同时也是一个优秀程序员的基本素养之一。
定义变量名时,需要注意如下问题:
(1)变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义。
(2)变量名中不能有空格以及标点符号(如括号、引号、逗号、斜线、反斜线、冒号、句号、问号、点号等)。
(3)不能使用关键字作为变量名。Python常见关键字
Python常见关键字
return is except class False try lambda for continue True while nonlocal from def None with not global and del yield or as if elif assert import pass else break finally raise in
(4)不建议使用系统内置的模块名、类型名或函数名以及已导人的模块名及其成员名作为变量名,这将会改变其类型和含义。
(5)变量名区分英文字母的大小写,例如apple和Apple是不同的变量。
从变量的命名规则中,我们发现无规矩不成方圆。变量的命名必须符合要求,而我们在学习和工作岗位中也一定要遵守相应的制度与规定,并约束和指导自己的行为,提升自身的 素养。