python 开发 -- 09数据类型之可变与不可变类型

一.可变类型

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))  # 140715012502234
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


msg = "hello wolrd"
res =msg[1:5:2]
res =msg[0:6]
print(res)

hello 
  • 布尔值 bool
# 修改前
x = True
print(id(x))  # 140715012228944

# 修改后
x = False
print(id(x))  # 140715012228976
  • 十进制转换其他进制
print(bin(12)) # 0b1100  二进制
print(oct(12)) # 0o14    八进制
print(hex(12)) # 0xc     十六进制
  • \
print(r"abc\naaa\raaa")  #r 不生效
abc\naaa\raaa

print("abc\naaa\raaa")   #n  换行
abc
aaa

file_path=r'D:\new\a.py'
file_path='D:\\new\\a.py'
D:\new\a.py
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FikL-09-19

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值