这是我参与18月更文挑战的第19天,活动详情查看:2021最后一次更文挑战
前言:这两天自己也有在自学Python,今天自己把学习到的Phton中的各种标准类型的知识点梳理一番。
在Python的基本类型中分类,不可改变和可改变两大类
类型的区分:
不可改变的基本类型
在Python中不可改变的基本类型有:数字(Number)、字符串(String)、元组(Tuple)
数字(Number)
在数字类型中Python中包含了整数(int)、浮点数(float)、布尔型(bool),一下我们来看一下代码,以及他们的不可改变性代码如下:
# 各类型代码
a = 1
print(a,type(a))
b = 1.1
print(b,type(b))
c = True
print(c,type(c))
# 判断不可改变性
a = 1
print(id(a))
a = 2
print(id(a))
我们可以得到的结果是
从下面的2463640518896和2463640518928我们可以看出,我们虽然打印的都是a对象,但是我们得出他们的id是不相同的。
a对象的存储如上所示:我们可以看得到,虽然都是a但是他们的标识id都是不同的,所以int他的值虽然是改变了,但是他是在内存空间中从新开辟了一个存储单元来存储新的a并非是在原先的空间上进行修改,因此数字类型是不可改变的,float、bool同理
字符串(String)
刚说完了Number类型,现在我们来说一下字符串的创建以及他的不可改变性代码如下:
# String类型代码
a = "又菜又想玩的XXX"
print(a, type(a))
# 判断不可改变性
a = "又菜又想玩的XXX"
print(id(a))
a = "又菜又想玩的XXX1"
print(id(a))
我们可以从以上的代码和打印结果看出,String类型的不可改变性。
元组(Tuple)
下面我们来说一下元祖的创建和他的不可改变性代码如下:
'''形式一'''
#直接创建
a = ('a','b','c')
print("a的类型:",type(a))
#使用内置函数
b = tuple(('a','b','c'))
print("b的类型:",type(b))
#单个元祖
c =('a',)
print("c的类型:",type(c))
'''形式二'''
#直接创建
a1 = 'a','b','c'
print("a1的类型:",type(a1))
c1 = 'a',
print("c1的类型:",type(c1))
print('----------------------------------------------------')
'''判断不可变性'''
yz = ('又菜又想玩','@','XXX')
print(yz,type(yz),id(yz))
yz[1] = '的'
print(yz,type(yz),id(yz))
从上的报错我们可以看到元祖内的内容是不可改变的。