python中变量的使用以及存储方式

本文探讨了Python中的变量使用,包括可变对象如列表和不可变对象如字符串的区别。变量本质上是存储对象的地址,可以通过赋值改变指向。在修改变量的元素时,对象值变化但地址不变;而重新赋值则会改变变量的指向。

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

这里相当于对变量重新赋值,改变了指针的指向。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值