Python中的基本数据类型(7个)
1.Python中的基本数据类型
1.布尔型
2.数值型
3.字符串
4.列表
5.元组
6.字典
7.集合
1.布尔型
布尔型数据的算术运算 布尔型的取值只有两个,True 和 False。
可以拿来做算术运算,此时等价于 1 和 0。
布尔型数据的逻辑运算计算优先级:先算not ,再算and, 最后算or。
下列中 a = 10, b =20
2.数值型
2.1整数型
Python中的整型属于int类型,默认⽤⼗进制表⽰,此外,也⽀持⼆进制,⼋进制,⼗六进制表⽰⽅法。
进制转换
计算机本质上只认识⼆进制,但是python⾥⾯的数字还是以⼗进制展⽰的, 当然⾥⾯给我们内置了⼀些⽅法帮我们把转换为其他进制。bin()转化为⼆进制
a =bin(100)#0b表⽰这是⼀个⼆进制数
print(a)
oct()转化为⼋进制
a =oct(100)# 0o表⽰这是⼀个⼋进制数
print(a)
hex()转化为16进制
c=hex(100)# 0x表⽰这是⼀个⼗六进制数
print(c)
2.2浮点型
浮点数是属于有理数当中的,Python中的浮点数就是数学当中的⼩数, 在运算中,整数与浮点数运算的结果依旧是浮点数。
注意:Python默认的是17位 精度,也就是⼩数点后最多16位。
2.3复数型
语法: a + bj
虚数不能单独存在,它们总是和⼀个不为0的实数⼀起构成⼀个复数。
实数部分和虚数部分都是浮点数
虚数部分必须有 j 或 J
(1)返回复数的实部
(2)返回复数的虚部
a.imag
(3)返回复数的共轭复数
共轭复数
两个实部相等,虚部互为相反数的复数互为共轭复数。
当虚部不为零时,共轭复数就是实部相等,虚部相反,如果虚部为零,其共轭复数就是⾃⾝(当虚部不等于0时也叫共轭虚数)。
2.4数值型数据的类型转换
转换为int型
将int(x)转换成整数类型
如果x是浮点型,⼩数点后⾯的数字都会砍掉,注意不是四舍五⼊。
a =int(2.21)
out
2
转换为float型
a =int(12)
out
12.0
2.5数值型数据的计算
下⾯⾯以a=10 ,b=20为例进⾏计算
加法
a+b
out
30
减法
a-b
out
-10
乘法
a*b
out
200
除法
a/b
out
0.5
取整除
9.0//2.0
out
4
取余
b/a
out
幂运算
a**b
out
10000000000000000000
⽐较运算法则
复合运算法则
Python内置的⼀些函数
3.字符串
不可变数据类型
有序数据类型
字符串的两种定义⽅式 :
(1)通过str()函数将其他数据类型转化为字符串
(2)直接加引号定义
3.1字符串⼀些运算
+号运算,收尾拼接
a ='pyt'
b ='hon'
a+b
out
python
*号运算,重复
a ='pyt'
a*3
out
pytpytpyt
in包含运算
a ='1'
b ='2332145'
a in b
out
True
3.2字符串的索引和切⽚
字符串切⽚的标准语法:
str[开始位置: 终⽌位置:步长和⽅向]
开始位置:即开始取的位置,这个位置的元素是能取到的。
终⽌位置:即停⽌的位置,注意该位置的值取不到
第三个参数:不写默认是1,正数表⽰从左往右取,负数表⽰从右往左取,绝对值表⽰步长。
3.3字符串对象的常⽤⽅法
(1)3个检索的⽅法:
str…count(要计数的对象,开始索引值,结束索引值) ——返回的是:你寻的对象,在字符串⾥⾯出现的次数。
str.find()
str.find(要查的对象,开始位置,结束位置) ——如果对象包含在字符串内,则返回开始的索引值,否则返回-1。
str.rfind()返回的是最后⼀次出现的位置。注意:find()返回的是索引值。
str.index()
str.index()⽅法同find()⽅法基本⼀样,也是⽤于检索字符串类是否包含特定的对象,返回的也是索引值 ,只不过如果要检索的对象如果不存在于字符串内,不会像find()⼀样返回-1,⽽是直接报错 。
str.rindex()是最后⼀次出现的位置。
(2)3个分割的⽅法:
str.split(“分割符”,分割次数)
str.splitlines(True或False) ——按照⾏分隔,返回⼀个包含各⾏作为元素的列表。 字符串.splitlines()按照⾏(’\r’, ‘\r\n’, \n’)分隔,返回⼀个包含各⾏作为元素的列表。 如果参数 keepends 为 False,不包含换⾏符,如果为 True,则保留换⾏符。
str.partition(分隔符) ——把str以分隔符为标准,分割成三部分,str前,str和str后。
(3)1个合并的⽅法 :
str.join(这⾥是⼀个包含字符串的序列)
(4)1个替换的⽅法:
replace() 字符串.replace(被替换的字符, ⽤来替换的字符, 替换次数)
字符串是不可变数据类型,这⾥的所有操作返回都是新的字符串对象,原来的字符串都是没有发⽣变化的,如果想要去除字符串⾥⾯某个字符,可以⽤replace()⽅法。 ⽤来替换的字符参数为空字符即可。
(5)1个中⼼化的⽅法 :
<(宽度, 填充的字符串)
(6)2个字符⼤⼩写转换⽅法:
str.lower()转换str 中所有⼤写字符为⼩写。
str.upper()转换 str 中的⼩写字母为⼤写。
(7)3个去除两端特殊字符的⽅法:
去除两边—— 字符串.strip(可以传⼊指定去除什么) 。——删除str字符串两端的空⽩字符以及特殊字符 这⾥的特殊字符包括制表符\t、回车符\r、换⾏符\n。
去除单边
str.rstrip()——只去除右边的空格和特殊字符。
str.lstrip()——只去除左边的空格和特殊字符。
(8)字符串的格式化输出1⽅法:
index复数str.fromat()的普通形式。
str.format() 接受参数形式。
4.列表
列表是⼀种可变的数据类型 ,
列表中的数据类型不限 ,
列表中的多个元素之间⽤逗号进⾏分割 ,
最外层⽤[ ]括起来,
列表的两种定义⽅式 :
使⽤list()将其他可迭代的数据类型转换为列表,
使⽤[ ]来定义。
3.1列表的⼀些运算
+号运算,使得列表中的所有元素存放在⼀个新的列表当中
a =[1,2,3]
b =[4,5,[6,7,8]
a+b
out
[1,2,3,4,5,[6,7,8]]
*号运算,重复列表当中的元素
a =[1,2,3]
a*3
out
[1,2,3,1,2,3,1,2,3]
in包含运算,判断元素是否在列表当中
a =[1,2,3,4,[1,2]]
1in a
out
True
4.2列表的索引、切⽚和修改
列表:有序的序列,所以每⼀个数据都有唯⼀对应的索引值。
第⼀个元素对应的索引值是0,和字符串是⼀样的,
语法:列表[开始位置:终⽌位置:步长和⽅向],
列表[开始位置:终⽌位置:步长和⽅向],开始的位置包含在内,终⽌的位置不包含在内,
步长的默认值为1,当步长设置为正整数,代表⽅向从左往右,当步长设置为负整数,代表从后往前进⾏切⽚,
起始位置和终⽌位置,如果不填,代表从头到尾所有数据。
⼀维列表的切⽚和索引
list1 =['life','is','short','I','use','python']
list1[1]
out
['is']
多维列表的切⽚和索引
list2 =[1,2,3,'Hello',[1,2,[1,[1,'我最特殊',3],3],4,5]]
list2[4][2][1][1]
out
['我最特殊']
列表的修改
list3 =[1,2,3,'a',[1,2,'python']]
list3[2]=10
list3
out
[1,2,10,'a',[1,2,'python']]
4.3列表对象的常⽤⽅法
列表⽅法之增3⽅法:
append 语法: 原列表.append(要添加的元素) 在最后添加⼀个元素。
extend 语法: 原列表.extend(要添加的列表) a.extend(b)是把b每⼀个元素都添加到a中。
insert 语法: insert(索引,要插⼊的对象) insert(索引a,b)表⽰,把b插⼊到索引a所对应的元素之前。
列表⽅法之删4⽅法:
del list[要删除元素的索引值]
list.clear() 清空列表所有元素,
list.pop(要删除元素的索引值) 默认删除最后⼀个,并返回这个被删除的元素,
列表⽅法之查2⽅法:
list.index(寻的对象,开始索引,结束索引) 获得某个元素⾸次出现的索引。
列表⽅法之排序2⽅法:
list.sort(reverse=True/False) 此⽅法会将列表按特定顺序重新排列,括号内的参数可以不写,默认升序排列,reverse的英⽂意思是翻转,如果填写了reverse=True就意味着列表会降序排列。
列表的深浅拷贝:
浅拷贝只拷贝容器中元素的地址,
深拷贝,完全拷贝了⼀个副本,容器内部元素地址都不⼀样。
对于深拷贝,⽬的就是要创建⼀个玩玩全全独⽴的副本,就意味着所有的⼀切都应该在上。
1、对于列表或者字典本⾝,深拷贝结果下,地址是改变了的,也就是说瓶⼦是换新了的 。
2、所有可变类型的元素也是有了的。
3、对于不可变类型的元素,地址没有变,那岂不是相互有影响?不,如果你改变了不可变类型,就会在下储存新的数据了,也是没有影响的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。