1、可变对象
python中,数值类型、字符串、元组都是不可变数据类型,列表、字典、集合属于可变数据类型。
对象中包含以下三个数据:
- id(地址)
- type
- value
In [34]: tup=1,
In [35]: tup??
Type: tuple
String form: (1,)
Length: 1
Docstring:
tuple() -> empty tuple
tuple(iterable) -> tuple initialized from iterable's items
If the argument is a tuple, the return value is the same object.
In [36]: id(tup)
Out[36]: 2276140967528
2、变量的使用
首先都有一个名字,是自己起的。可以新建,也可以对它赋值。
In [37]: a=1
In [38]: b=1
In [39]: id(a)
Out[39]: 1415015488
In [40]: id(b)
Out[40]: 1415015488
In [41]: c=a
In [42]: id(c)
Out[42]: 1415015488
可以看到,变量就是一个指针,指向的是我们赋值所在的对象。
3、变量的修改
3.1 修改变量的元素
In [43]: lis=[1,2,2,4]
In [44]: lis
Out[44]: [1, 2, 2, 4]
In [45]: id(lis)
Out[45]: 2276122048776
In [46]: lis[0]=5
In [47]: lis
Out[47]: [5, 2, 2, 4]
In [48]: id(lis)
Out[48]: 2276122048776
这里变量指向的是一个列表,修改元素的值的时候,修改的是对象中的值,指针指向不变,变量的地址就不变。
3.2 修改变量的值
In [52]: lis=[1,2,3,4]
In [53]: id(lis)
Out[53]: 2276140582024
In [54]: lis=[2,3,4]
In [55]: id(lis)
Out[55]: 2276140577288
这里相当于对变量重新赋值,改变了指针的指向。
本文探讨了Python中的变量使用,包括可变对象如列表和不可变对象如字符串的区别。变量本质上是存储对象的地址,可以通过赋值改变指向。在修改变量的元素时,对象值变化但地址不变;而重新赋值则会改变变量的指向。

被折叠的 条评论
为什么被折叠?



