python 开发 -- 09数据类型之可变与不可变类型
原创
©著作权归作者所有:来自51CTO博客作者mm_goat的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
一.可变类型
1.什么是可变类型
- 在值改变的情况下, 内存地址(ID)不变, 证明改变的是原值
- 即可变类型—>也叫不可hash类型
2.可变类型有哪些
3.示例
# 修改前
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
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.示例
# 修改前
x = 10
print(id(x)) # 140715012507584
# 修改后,下面使用了变量赋值、以及增量赋值2种修改方式
x = 20
print(id(x)) # 140715012502234
x += 20
print(id(x)) # 140715012508544
# 修改前
x = 10.3
print(id(x)) # 1818265421872
x = 20.3
# 修改后,下面使用了变量赋值、以及增量赋值2种修改方式
print(id(x)) # 1818264232976
x += 20.3
print(id(x)) # 1818265422256
# 修改前
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
# 修改前
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