Python可变类型与不可变类型
Posted ShenLiang2025
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python可变类型与不可变类型相关的知识,希望对你有一定的参考价值。
Python不可变类型与可变类型案例
# int和string 为不可变变量
#1 不可变变量验证
inta = 100
intb = 100
print("inta和intb是否是一样一个对象?",str(inta is intb))
print("inta和intb的地址分别是:".format(0,1),str(id(inta)),str(id(intb)))
#2 列表可变,元组不可变
a =[3,2,1]
b = (6,7,8)
# 在现有的列表基础上加一个元素"5"
def listadd5(l):
l+=[5]
# 在现有的"元组"基础上加一个元素"5"
def tupleadd5(r):
r+=(5,)
return r
def yoda(prologue, sentence):
sentence.reverse()
prologue += " ".join(sentence)
return prologue
if __name__ == '__main__':
print(a,id(a))
listadd5(a)
print(a,id(a))
listadd5(a)
print(a,id(a))
#list加入两次"5"后对象id还是一样的,即在原对象上操作
print("*******分隔符*****")
print(b, id(b))
tupleadd5(b) #原对象b未变化
print(b, id(b))
#将扩充的对象b赋值给c,及复制
c= tupleadd5(b)
print(c,id(c))
focused = ["You must", "stay focused"]
saying = "Yoda said: "
print(type(focused))
yoda_sentence = yoda(saying, focused)
print(yoda(saying, focused))
print(yoda(saying, focused))
print("###",yoda_sentence)
'''
1、字典中的 key 是不可变的类型
2、int str tuple 是值类型是不可变的
3、List set dict 是引用类型是可变的
'''
以上是关于Python可变类型与不可变类型的主要内容,如果未能解决你的问题,请参考以下文章