目录
- 数字(Number)
- 总结
- 字符串(String)
- 字符串运算符
- 字符串格式化
- 字符串的截取
- 总结
- List(列表)
- 更新列表
- 删除列表元素
- 列表函数&方法
- 总结
- Tuple(元组)
- 修改元组
- 删除元组
- 总结
- Set(集合)
- Dictionary(字典)
- 修改字典
- 删除字典元素
- 内置函数&方法
- 总结
P y t h o n 3 中常见的数据类型 { N u m b e r (数字) { 整数 布尔型 浮点数 复数 S t r i n g (字符串) b o o l (布尔类型) L i s t (列表) T u p l e (元组) S e t (集合) D i c t i o n a r y (字典) Python3 中常见的数据类型\begin{cases} Number(数字) \begin{cases} 整数 \\ 布尔型 \\ 浮点数 \\ 复数 \\ \end{cases}\\ String(字符串) \\ bool(布尔类型) \\ List(列表)\\ Tuple(元组) \\ Set(集合) \\ Dictionary(字典) \\ \end{cases} Python3中常见的数据类型⎩ ⎨ ⎧Number(数字)⎩ ⎨ ⎧整数布尔型浮点数复数String(字符串)bool(布尔类型)List(列表)Tuple(元组)Set(集合)Dictionary(字典)
数字(Number)
python中数字有四种类型:整数、布尔型、浮点数和复数。
- int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
- bool (布尔), 如 True。
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值 - float (浮点数), 如 1.23、3E-2
- complex (复数), 如 1 + 2j、 1.1 + 2.2j
复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型
- 内置的 type() 函数可以用来查询变量所指的对象类型
- 此外还可以用 isinstance 来判断
- isinstance 和 type 的区别在于:
1.type()不会认为子类是一种父类类型。
2.isinstance()会认为子类是一种父类类型。
!注意:
1.Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。
2.在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。
总结
- Python可以同时为多个变量赋值,如a, b = 1, 2。
- 一个变量可以通过赋值指向不同类型的对象。
- 数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
- 在混合计算时,Python会把整型转换成为浮点数。
字符串(String)
- Python 中单引号 ’ 和双引号 " 使用完全相同。
- 按字面意义级联字符串,如 "this " "is " “string” 会被自动转换为 this is string。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串运算符
字符串格式化
- 在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
// 输出结果:我叫 小明 今年 10 岁!
辅助指令:
字符串的截取
-
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
-
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
-
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
P | y | t | o | n | |
---|---|---|---|---|---|
索引值从前往后数 | 0 | 1 | 2 | 3 | 4 |
索引值从后往前数 | -5 | -4 | -3 | -2 | -1 |
从前往后截取 | :1 | :2 | :3 | :4 | :5 |
从后往前截取 | -5: | -4: | -3: | -2: | -1: |
str = 'Python'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:4]) # 输出从第三个开始到第四个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次,也可以写成 print (2 * str)
print (str + "TEST") # 连接字符串
Python 使用反斜杠 \ 转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 “”“…”“” 或者 ‘’‘…’‘’ 跨越多行。
//例如:
total = item_one + \
item_two + \
item_three
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
!注意:与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如 word[0] = ‘m’ 会导致错误。
总结
- 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
- 字符串可以用+运算符连接在一起,用*运算符重复。
- Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
- Python中的字符串不能改变。
List(列表)
- Python列表是一种有序、可变、允许重复元素的数据结构。它是Python中最常用的数据类型之一,也被称为数组。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
- 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
- 和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标]
(索引值以 0 为开始值,-1 为从末尾的开始位置。)
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
inputWords = input.split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputWords=inputWords[-1::-1]
# 重新组合字符串
output = ' '.join(inputWords)
return output
if __name__ == "__main__":
input = 'I like runoob'
rw = reverseWords(input)
print(rw)
//输出结果为:runoob like I
更新列表
!注意:与Python字符串不一样的是,列表中的元素是可以改变的
可以对列表的数据项进行修改或更新,也可以使用 append() 方法来添加列表项
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
//输出结果-> 更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
删除列表元素
使用 del 语句来删除列表的的元素
list = ['Google', 'Runoob', 1997, 2000]
del list[2]
print ("删除第三个元素 : ", list)
//输出结果-> 删除第三个元素 : ['Google', 'Runoob', 2000]
列表函数&方法
Python包含以下函数:
Python包含以下方法:
总结
- List写在方括号之间,元素用逗号隔开。
- 和字符串一样,list可以被索引和切片。
- List可以使用+操作符进行拼接。
- List中的元素是可以改变的。
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号(不加逗号,类型为整型)
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
# 创建一个新的元组
tup3 = tup1 + tup2
print (tup3)
// 输出结果:(12, 34.56, 'abc', 'xyz')
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
del tup
总结
- 与字符串一样,元组的元素不能修改。
- 元组也可以被索引和切片,方法一样。
- 注意构造包含 0 或 1 个元素的元组的特殊语法规则。
- 元组也可以使用+操作符进行拼接。
Set(集合)
- Python 中的集合(Set)是一种无序、可变的数据类型,用于存储唯一的元素。
- 集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
- 在 Python 中,集合使用大括号 {} 表示,元素之间用逗号分隔。
- 另外,也可以使用 set() 函数创建集合。
!注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:parame = {value01,value02,...}或者set(value)
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu','Facebook'}
print(sites) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Runoob' in sites :
print('Runoob 在集合中')
else :
print('Runoob 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
Dictionary(字典)
- 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
- 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
d = {key1 : value1, key2 : value2, key3 : value3 }
- 键(key)必须使用不可变类型。
- 在同一个字典中,键(key)必须是唯一的。
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
构造键值对序列的三种方法:
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "菜鸟教程" # 添加信息
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
'''
输出结果:
tinydict['Age']: 8
tinydict['School']: 菜鸟教程
'''
删除字典元素
能删单一的元素也能清空字典,清空只需一项操作
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键 'Name'
tinydict.clear() # 清空字典
del tinydict # 删除字典
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
内置函数&方法
Python字典包含了以下内置函数:
Python字典包含了以下内置方法:
总结
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
字符串 | 列表 | 元组 | 集合 | 字典 | |
---|---|---|---|---|---|
表示方式 | 用单引号 ’ 或双引号 " 括起来 | 写在方括号 [ ] 之间、元素之间用逗号分隔开 | 写在小括号 ( ) 里,元素之间用逗号隔开 | 使用大括号 { } 表示,元素之间用逗号分隔 | 字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合 |
是否可变数据 | × | √ | × | √ | × |
注意点 | 单引号 ’ 和双引号 " 使用完全相同 | 构造0个或1个元素的元组的特殊方法 | 空集合必须用 set() 而不是 { } | 创建一个空字典为dict = {} |