Python中的类型
在介绍Python的类型之前,我们需要明白的是,编程是用来做什么的?
在很久之前,人们对编程的想法是操控硬件。但慢慢地,人们发现,在电脑上可以做更多有意思的事情,包括把现实里的所有内容都搬到电脑里。说白了,编程是用来在电脑里模拟现实生活的。
既然如此,那么我们就需要思考如何描述现实。在现实生活中,我们将不同物品,不同动物,不同植物进行分类。很显然,在编程里,我们也需要进行这样的分类。但现实生活中,种类实在是太多了,根本没办法全部描述出来。那该怎么办呢?
总结归纳!
我们需要找到每一个物品的相同之处,然后进行总结,进行分析。最终,编程精炼出这些类型——整数,小数(浮点数),字符串(文本),列表,元组,字典,集合。当若干个这些精炼的类型组合在一起时,就可以组成任何其他的类型。就像网友描述的那样,我们都属于“碳基生物”。举一个例子,正方体,我们可以使用一个整数(或者小数)来描述它的边长即可。对于长方体,我们就需要使用三个数字(可能是整数也可能是小数)来分别描述它的长宽高。对于一个人,我们可以用若干个类型来描述,例如,姓名用字符串,身份证号用整数,身高和体重用小数,高矮胖瘦可以用文本“胖子”或“瘦子”亦或“正常”描述。
类型 | 特点 | 转换 | 举例 | 说明 |
---|---|---|---|---|
整数(int ) | 只有数字和正负号 | int() | n=int(input()) | input 表示输入,int 将输入的内容转换成整数。如果输入的内容包含除0~9 和正负号 之外的其他内容,则出现程序错误。 |
浮点数(float ) | 小数的特点是只有数字,正负号和小数点 | float() | n=float(input()) | float 将输入的内容转换为小数。如果输入的内容包含除0~9 和正负号 和小数点 外的其他内容,则出现程序错误。 |
字符串(str ) | 字符串类型的典型特点是带有引号(不管是双引号还是单引号)。字符串比大小时,从左向右一个字母一个字母比较,字母越靠后越大。如y>a 。 | str() | n=input() ,t=str(123) | input() 输入的默认是字符串类型。t 的类型为字符串类型,且值为"123" 或'123' (带有双引号或单引号)。 |
列表(list ) | 列表类型的典型特点是由[] 括起来的内容。其可以是任何类型的内容。列表中元素从左向右编号从0 开始,从右向左从-1 开始。 | list() | n=list("123") ,t=["1",6.0,["3.14"]] | 将字符串"123" 转换为列表["1","2","3"] 。列表t 中包含字符串"1" ,小数6.0 ,列表["3.14"] 。列表中可以包含列表。 |
元组(tuple ) | 元组由() 括起来的内容。其它特点与列表类似。 | tuple() | n=(1,2,3) | n 为元组,存放着数字1 ,数字2 ,数字3 。 |
字典(dict ) | 字典由{} 括起来的内容。字典中的元素为key-value (也叫键值对)。key 指的是关键字,value 指的是值。其中key 必须唯一。字典中存放的元素顺序会按照key 从小到大排序。 | n={"hello":"你好","hi":"你好"} | 字典n 中包含两对元素,"hi":"你好" 和"hello":"你好" 。需要注意的是value 可以重复,但key 不能重复。hello 比hi 小,所以hello 在前。 | |
集合(set ) | 集合也由{} 括起来。集合中的元素会按照从小到大的顺序排序,并且一个集合中不能存在相同元素。 | set() | n={1,2,2,3} | 该集合中只有三个元素{1,2,3} ,由于2 重复了,只会保存一个。 |
- 字符串
字符串是由引号(不论双引号还是单引号)引起来的内容。例如"123"
是一个字符串,而不是数字,原因是它由""
双引号引起来,它不能向数字一样进行操作。但需要注意的是,字符串可以进行加法和乘法运算。减法和除法并不支持。
-
字符串的加法——拼接
print("123"+"345") # 输出的结果为 123345 print("345"+"123") # 输出的结果是 345123
-
字符串的乘法——重复
print("123"*3) # 输出的结果是 123123123 将123重复了3遍
如果某一个字符串是由整数或小数组成,我们可以将其转换成整数或小数进行操作。
t="1234" m="34.6" print(int(t)*3) # 输出的是 3702 原因是 1234*3=3702 print(float(m)*3) # 输出的是 103.8 原因是 34.6*3=103.8
-
字符串的字符个数
Python中是
len()
获取字符串的长度t="1234" print(len(t)) # 输出的是4 原因是有"1","2","3","4" 四个字符
-
对于字符串的访问
想要访问字符串中的符号,就需要借助字符串的编号。需要注意的是编号从左向右是从
0
开始,反过来从右向左是从-1
开始的。例如t="abcd"
的编号如下:字符串 a b c d 编号(从左向右) 0 1 2 3 编号(从右向左) -4 -3 -2 -1 -
字符串与
for
语句的结合for
语句可以遍历(从前向后依次访问)字符串中的每一个元素。因此,字符串中的每一个元素会依次被输出。t="abcd" for i in t: print(i) ''' 输出的结果如下 a b c d '''
-
字符串可以转换为列表
将字符串转换为列表可以直接将字符串放在list()
的括号中。或者使用split()
进行分割。t="1223" print(list(t)) # 输出结果:["1","2","3"] p="你好" print(list(p)) # 输出结果:["你","好"] m="1-2-3-4" print(m.split("-")) # 输出结果:["1","2","3","4"] 字符串将会按照split中的内容进行分割 n="1234" print(n.split("-")) # 输出结果:["1234"] 因为字符串n中不存在"-" 因此将被当做一个整体
-
列表
列表是由方括号
[]
括起来的内容,相当于人们排的队伍,从前向后。当然,列表中并不在意排的元素属于什么类型。
- 列表的声明
t=[1,2,3] # 声明一个列表 p=["12",1,[123]] # 列表中的元素并不限定类型,可以是字符串,可以是数字,也可以是列表,或者字典等等
- 列表的输出
在python中列表可以直接输出。当然,我们也可以借助for
语句进行输出。t=[1,2,3] print(t) # 输出的内容是[1,2,3] 为了表示输出的为列表,常常输出的结果带有格式 # for语句与列表的结合 for i in t: print(i) ''' 输出的结果如下 1 2 3 '''
- 列表中的元素访问
列表的访问与字符串一致。从左向右的编号从0
开始,从右向左的编号从-1
开始。t=[1,2,3,4] print(t[1]) # 输出的内容是:"2" 编号为1的元素 t[2]="a" print(t) # 输出的内容是:[1,2,"a",4] 因为编号为2的元素被改成了a
- 列表中添加和删除内容
列表中添加元素有两种方式:append(sth)
和insert(pos,sth)
。而删除也有两种方法:pop(pos=-1)
和del
。t=[1,2,3,4] t.append("5") print(t) # 输出的内容为:[1,2,3,4,"5"] append指的是在末尾添加 t.insert(1,"3") print(t) # 输出的内容为:[1,"3",2,3,4,"5"] insert指的是在pos位置插入sth内容,其他内容依次向后移动一位 p=[1,2,3] q=p.pop() print(p) # 输出的内容为:[1,2] pop默认删除的是末尾的内容 print(q) # 输出的内容为:3 pop删除的内容放进了q中 q=p.pop(0) print(p) # 输出的内容为:[2] pop中填写编号,则删除编号位置的内容 m=[1,2,23] del m[1] print(m) # 输出的内容为:[1,23] del是单词delete的缩写,表示删除