码迷,mamicode.com
首页 > 其他好文 > 详细

🍖数据类型之可变与不可变类型

时间:2020-11-25 12:27:41      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:hash   字典   方式   不可变类   哪些   python   als   oat   float   

一.可变类型

1.什么是可变类型

  • 在值改变的情况下, 内存地址(ID)不变, 证明改变的是原值
  • 即可变类型--->也叫不可 hash 类型

2.可变类型有哪些

  • 列表 : list
  • 字典 : dict

3.示例

  • 列表 list
??修改前
li = [‘aaa‘, ‘bbb‘, ‘ccc‘]
print(li)      # [‘aaa‘, ‘bbb‘, ‘ccc‘]
print(id(li))  # 1534124489600

??修改后
li[0] = ‘AAA‘
print(li)      # [‘AAA‘, ‘bbb‘, ‘ccc‘]
print(id(li))  # 1534124489600
  • 字典 dict

ps : 字典的数据结构是 key:value形式的键值对, 我们说字典可变通常是说值(valve)可变, 而 key 表示的是描述信息, 是不可变的, 并且只可以是任意类型

??修改前
dic = {‘int‘:100 , ‘str‘: ‘aaa‘, ‘bool‘: True , ‘float‘:3.14 }
print(dic)      # {‘int‘:100 , ‘str‘: ‘aaa‘, ‘bool‘: True , ‘float‘:3.14 }
print(id(dic))  # 1460220808552

??修改后
dic["int"] = 66
print(dic)      # {‘int‘:66 , ‘str‘: ‘aaa‘, ‘bool‘: True , ‘float‘:3.14 }
print(id(dic))  # 1460220808552

二.不可变类型

1.什么是不可变类型

  • 在值改变的情况下, 内存地址也改变了, 证明这改变的值是产生的新值
  • 即原值不可变--->也叫可 hash 类型
  • 他们都是一个不可分割的整体

2.不可变类型有哪些

  • 整形 : int
  • 浮点型 : float
  • 字符串 : str

3.示例

  • 整形 int
??修改前
x = 10
print(id(x))  # 140715012507584

??修改后,下面使用了变量赋值、以及增量赋值2种修改方式
x = 20
print(id(x))  # 140715012507904
x += 20
print(id(x))  # 140715012508544
  • 浮点型 float
?? 修改前
x = 10.3
print(id(x))  # 1818265421872
x = 20.3

??修改后,下面使用了变量赋值、以及增量赋值2种修改方式
print(id(x))  # 1818264232976
x += 20.3
print(id(x))  # 1818265422256
  • 字符串 str
??修改前
x = ‘aaa‘
print(id(x))  # 1614906980528

??修改后
x = ‘AAA‘
print(id(x))  # 1614906972400
  • 布尔值 bool
??修改前
x = True
print(id(x))  # 140715012228944

??修改后
x = False
print(id(x))  # 140715012228976

🍖数据类型之可变与不可变类型

标签:hash   字典   方式   不可变类   哪些   python   als   oat   float   

原文地址:https://www.cnblogs.com/songhaixing/p/14015664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!