Python 中的不可变类型和可变类型

1、不可变参数

包括:

  • int整数
  • float浮点型
  • str字符串 “”
  • tuple 元祖 ()

函数:

  • replace():修改字符串
  • id函数:查看内存地址、门牌号

总结:

不可变类型,如果对它进行修改,原始的数据不会改变,但是会产生新的数据

# 不可变类型,如果对它进行修改,原始的数据不会改变,但是会产生新的数据
src_str = "java is very good!"
new_str = src_str.replace("java", "python")
print("值为:{}
内存地址为:{}".format(src_str, id(src_str)))
print("值为:{}
内存地址为:{}".format(new_str, id(new_str)))

# 值为:java is very good!
# 内存地址为:42994688
# 值为:python is very good!
# 内存地址为:42994760

2、可变类型

包括:

  • list 列表 []
  • dict 字典 {}

总结:

可变类型,如果对它进行修改,原始的数据会被改变,in plsce 就地改变

调用修改的方法,不会反回新的数据,一般会反悔 none

src_list = [100, 200, 300]
one_var = src_list.append(400)
print("原始值为:{}
内存地址为:{}".format(src_list, id(src_list)))
print("修改后值为:{}
内存地址为:{}".format(src_list, id(src_list)))
print("append值为:{}
内存地址为:{}".format(one_var, id(one_var)))

# 执行结果:
# 原始值为:[100, 200, 300, 400]
# 内存地址为:34497160
# 修改后值为:[100, 200, 300, 400]
# 内存地址为:34497160
# append值为:None
# 内存地址为:8791300930784

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

原文地址:https://www.cnblogs.com/shouhu/p/12740438.html