文章目录
整数类型:int
- 最大特点是不限制大小
- 无论多复杂的算式都可以直接得到结果
- 大小比较与连续比较判断
>>> 7 > 3 >= 3
True
>>> 12 < 23 < 22
False
浮点数类型:float
- 操作与整数类似,但是注意浮点数受到17位有效数字的限制
复数类型
- 复数生成
Python内置复数数据类型 - 复数运算
支持所有常见计算
- 复数比较
复数之间只能比较是否相等 - 复数应用
求平面上两个点(x1,y1)和(x2,y2)的距离
cmath模块
- 专门面向复数计算
平面直角座标和极座标之间的转换
基本类型:逻辑值
- 判断与真值
逻辑(bool)类型
逻辑值仅包括真(True)/假(False)两个
用来配合if/while等语句做条件判断 - 逻辑运算
- “并且” and 连接的两个真值需要同时为真,计算结果才为真
- “或者” or 连接的两个真值只要有一个为真,计算结果就为真
- “否定” not 连接的一个真值,非真为假,非假为真
〉 整数、浮点数和复数类型
0是“假”,所有非0的数值都是“真”
〉 字符串类型
空串("")是“假”,所有非空串都是“真”
〉 所有序列类型(包括字符串)
空序列是“假”,所有非空的序列都是“真”
〉 空值None
表示“无意义”或“不知道”,也是“假”
基本类型:字符串
- 用双引号或者单引号都可以表示字符串,但必须成对多行字符串用三个连续单引号表示
- 特殊字符用转义符号“\”表示
常见的字符串操作
- 获取字符串的长度
len函数 - 切片(slice)操作
s[start: end: step]
- “加法”和“乘法”
+:将两个字符串进行连接,得到新的字符串。
*:将字符串重复若干次,生成新的字符串 - 判断字符串内容是否相同(==)
>>> a = 'Hello'
>>> a == 'Hello'
True
- 判断字符串中是否包含某个字符串(in)
>>> 'h' in a
False
>>> 'H' in a
True
字符串的高级操作
- 删除空格
str.strip:去掉字符串前后的所有空格,内部的空格不受影响
str.lstrip:去掉字符串前部(左部)的所有空格
str.rstrip:去掉字符串后部(右部)的所有空格 - 判断字母数字
str.isalpha:判断字符串是否全部由字母构成
str.isdigit:判断字符串是否全部由数字构成
str.isalnum:判断字符串是否仅包含字母和数字,而不含特殊字符
split:分割;join:合并
upper/lower/swapcase:大小写相关
ljust/center/rjust:排版左中右对齐
replace:替换子串
命名语法
<名字> = <数据>
〉 命名规则
- 字母和数字组合而成,下划线“_”算字母,字母区分大小写
不带特殊字符(如空格、标点、运算符等)
名字的第一个字符必须是字母,而不能是数字
<注:在Python语言的名字规则中,汉字算是字母>
容器类型:列表和元组
- 列表可以删除、添加、替换、重排序列中的元素(可变类型)
- 元组是不能再更新(不可变)序列
- 元组在保留列表大多数功能的同时,去掉了一些灵活性以换取更高的处理性能
列表和元组的操作
创建列表
方括号法[],指明类型法list()
〉 创建元组
圆括号法(),指明类型法tuple()
〉 列表或元组中保存的各个数据称作
元素(element),类型没有限制
〉 增长列表
append操作/insert操作/extend操作
〉 缩减列表
pop操作/remove操作/clear操作
〉 列表是一种可变容器,可以随意增减
〉 但并不是所有的数据容器都能像列表这样可以继续添加新元素
〉 reverse / sort 操作
reverse:把列表中的数据元素头尾反转重新排列
sort:把列表中的数据元素按照大小顺序重新排列
〉 reversed / sorted操作
得到重新排列的列表,而不影响原来的列表
〉 合并
加法运算+:连接两个列表/元组
乘法运算*:复制n次,生成新列表/元组
〉 列表/元组大小
len():列表/元组中元素的个数
〉 索引
alist[n]或atuple[n]
可以用赋值语句给列表中的任何一个位置重新赋值
但元组属于不可变类型,索引只能获取对应位置中的数据值,不可重新赋值
〉 切片
alist[start : end : step]
atuple[start : end : step]
〉 查找
in操作:判断某个元素是否存在于列表/元组中
index操作:指定的数据在列表/元组的哪个位置
count操作:指定的数据在列表/元组中出现过几次
〉 计算
sum函数:将列表中所有的数据元素累加
min/max函数:返回列表中最小/最大的数据元素
容器类型:字典
- 标签(key)和数据值(value) l 字典容器中保存着一系列的key-value对
- 通过键值key来索引元素value
- 和java的map差不多意思,嘿嘿
字典的操作
创建一个字典
〉 花括号法和指明类型法
student = {}
student = dict()
〉 数据项(item) l 字典中保存的各个标签-数据值(key-value) l 标签和数据值之间用冒号“:”连接
〉 批量添加数据项
student = dict.fromkeys((“name”, “age”))
〉 字典是可变类型,可以添加、删除、替换元 素
〉 字典中的元素value没有顺序,可以是任意类型,甚至也可以是字典
〉 字典的键值key可以是任意不可变类型(数值/字符串/元组)
例如:用元组来作为座标,索引元素
〉 合并字典
update方法
〉 增长字典
“关联”操作
update操作:以key=value的形式批量添加数据项
〉 缩减字典
del操作:删除指定标签的数据项
pop操作:删除指定标签的数据项并返回数据值
popitem操作:删除并返回任意一个数据项
clear操作:清空字典
〉 字典大小
len函数
〉 标签索引
dict[key]
获取字典中指定标签的数据值 更新指定标签的数据项
〉 get操作
〉 获取字典的标签、数据值和数据项
keys函数:返回字典中的所有标签;
values函数:返回字典中的所有数据值;
items函数:将每个数据项表示为二元元组,返回所有的数据项。
在字典中查找
〉 in操作
判断字典中是否存在某个标签
〉 in操作和values函数的组合
判断字典中是否存在某个数据值
容器类型:集合
- “标签袋” 通过改造字典类型,去掉关联数据值,只留 下标签的新容器类型
- 集合是不重复元素的无序组合
- 像极了java的set
集合的操作
〉 创建集合:{}或者set()
用set()创建空集 还可用set()从其它序列转换生成集合
〉 集合会自动忽略重复的数据
〉 集合中不能加入可变类型数据
〉 增长集合
add:添加一个数据
update:批量添加数据
〉 缩减集合
remove/discard:删除
指定数据
pop:删除任意数据并返
回值
clear:清空集合
〉 集合大小
len函数
〉 in
判断元素是否属于集合
〉 pop
删除数据元素的同时,返回它的值
取遍所有数据元素之后,集合成为一个空集
可以用copy操作先给集合制作一个“替身” 〉 迭代循环
for a in aset:
〉 生成新集合运算
〉 关系判定
<=,=,>:子集/真子集/超集/真超集
〉 交集
isdisjoint():两集合交集是否为空
输入和输出
input函数
〉 input(prompt)
显示提示信息prompt,由用户输入内容
〉 input()返回值是字符串
通过int()函数将字符串类型强制转换为整
数类型
print函数
〉 打印各变量的值输出
print([object,…][,sep=‘ ‘][,end=‘\n’][,file=sys.stdout])
sep:表示变量之间用什么字符串隔开,缺省是空格
end:表示以这个字符串结尾,缺省为换行
file:指定了文本将要发送到的文件、标准流或其它类似的文件的对象;默认是sys.stdout