Python基本数据类型
Number(数字)String(字符串)Tuple(元组)不可变数据
List(列表)Set(集合)Dictionary(字典)可变数据
Number(数字)
数字类又分为int、float、bool、complex
通过type函数来查询数据类型
>>> a,b,c,d=1,1.23,False,1+2j #1+2j也可以表示成complex(1,2)
>>> print(type(a),type(b),type(c),type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
1、a,b=1,2 删除赋值a、b;
del a,b
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法6
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
String(字符串)
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
a=“hello”
字符串截取语法为变量名[头下标:尾下标] ———a[0:-1],实际区间为左开右闭
例如a=‘hello’ 字符串截取a[1:3]实际就是[1,3)输出
注:
1、如果从后向前截取,需加-1,否则输出为空字符串(其中-1为倒序输出)
2、譬如a=‘abcd’,若想截取b,则a[1:2)或者a[-3:0:-1],若使用a[1:1]或者a[-3:1:-1]则输出空字符串
3、Python 字符串不能被改变,a[3]='0’会报错
str=hello
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次,也可以写成 print (2 * str)
print (str + "TEST") # 连接字符串
转义字符
>>> print('Binter\nore')
Binter
ore
>>> print(r'Binter\nore')
Binter\nore
>>>
反斜杠()可以作为续行符,表示下一行是上一行的延续
List(列表)
列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [ ] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
python表达式 | 结果 | 长度 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
[‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
列表的增删改查
增
在列表末尾添加元素:list.append(“元素”)
在列表末尾拼接:a=[3,4,5] b=[1] a+b=[3,4,5,1] 或extend(),list.extend(可迭代对象)
在列表替换某个索引元素:list.insert(2,‘2’)替换索引2的元素,之前索引为2的元素在该元素后,如果索引超出就加在最后
删
list.pop(2)删除索引为2的元素,如果索引超出则会报错
list.remove(元素) 如果没有这个元素则会报错
list.clear()清空列表 ,只剩下一个空列表
del list 直接删除这个列表,不存在这个列表了
改
list[2]=‘元素’,将索引为2的值 修改成元素
查
通过索引查看元素:list[0] 查看所有为0的的值
通过元素查看索引:list.index(‘元素’) ,如果有相同元素,index只会输出第一个索引
通过切片查询:list[0:2:2]
Tulpe(元组)
元组特点:元组是有序的,不能修改。
元组的定义:
通过()来定义:变量名=(1,2,3,4,) 。以逗号分割的,以小括号包围的序列。
通过tuple函数定义: lst=[1,2,3,4] 变量名=tuple(lst)
元组的优点:由于元组不可变,所以遍历元组比列表要快(较小的性能提升)。
多个赋值>>a,b=(1,2) >>a >>1 >>b >>2 多个赋值列表也适用,多个赋值是一对一,如果超出则会报错>>a,b=(1,2,3)
元组与字符串
1、元组和字符串都是有序的,不可修改的序列
2、元组的元素可以是任何类型,字符串的元素只能是字符
3、元组的元素长度可以任意,字符串的元素长度只能为1
Dictionary(字典)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
键必须是唯一的,但值则不必,所以字典也是无序的
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
修改字典
#!/usr/bin/python3
tinydict = {'Name': 'Ore', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "binterore" # 添加信息
print ("tinydict['Age']: ", tinydict['Age']) 8
print ("tinydict['School']: ", tinydict['School']) binterore
删除字典
#!/usr/bin/python3
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'])
Set(集合)
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,…}
或者
set(value)
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}