文章目录
- 1.数据类型
-
- 1.1.不可变数据类型
-
-
- 1. Bool类型
- 2.数值类型
- 3.字符串类型
- 4.元组类型tuple
-
- 1.2. 可变数据类型
-
-
- 1. 列表类型list
- 2.字典类型dict
- 3.集合类型set
-
- 2. 三大结构
-
- 1.顺序结构
- 2.分支结构
-
- 2.1. if
- 2.2. if ... else...
- 2.3. if...elif...else...
- 2.4. 其它注意事项
- 3. 循环结构
-
- 3.1. while循环
- 3.2 .for循环
- 3.3. 循环 + else
- 3.4. 其它注意事项
1.数据类型
1.1.不可变数据类型
1. Bool类型
- 只有True和False两个值
- 可以进行算术运算,True的值为1,False的值为0
2.数值类型
-
int类型: 整型没有最大位数限制,受限于内存的大小,和传统语言有一定区别
1.1. bin(n)函数将n转换为二进制
1.2. oct(n)函数将n转换为八进制
1.3. hex(n)函数将n转换为十六进制
- float类型: 实数类型,默认17位精度,也就是16位小数
-
complex类型: 复数类型,由实部和虚部构成,形式为real + (imag)j 组成,虚部以J或j结尾
3.1. 使用变量名.real方式查看实部
3.2. 使用变量名.imag方式查看虚部
3.3. 使用变量名.conjudate()函数查看共轭复数,注意调用时函数
3.字符串类型
- str类型,由引号包裹的字母数字特殊字符等等,引号可以为单引号,双引号,三引号.
- 字符串支持索引方式获取子串,第一个元素的索引值为0,依次递增
- 字符串的切片: 字符串名[start : stop : sep] start代表开始索引,stop代表结束索引,sep代表步长
- 字符串拼接: 使用+拼接两个字符串
- 字符串重复: str*n 获得n个原字符串组成一个字符串
-
常用索引函数:
6.1. 查找子串出现次数:str.count(sub[,start[,stop]]) sub指定查找值,start和stop分别代表开始和结束索引值,可省略不写
6.2. 查找是否存在子串:
6.2.1. str.find(sub[,start[,stop]]) 找到返回子串第一次出现的开始索引,找不到返回-1 rfind()函数返回最后一次子串出现的开始索引
6.2.2. str.index(sub[,start[,stop]]) 找到查找值返回查找值第一次出现索引,找不到直接报错, rindex()函数返回最后一次子串出现的开始索引
-
字符串的分割函数:
7.1. 普通分割str.split(sep,maxsplit) sep指定分隔符,maxsplit分割次数,以列表形式返回分割后的字符串
7.2. 按行分割:str.splitlines(keepands) 只能按照\n或\r分割,keeppands只能是True或False,选择显不显示换行符
-
字符串替换函数:
8.1. str.replace(old,new) old原值,new新值
-
字符串大小写转换函数
9.1. str.lower() 全部转小写
9.2. str.upper() 全部转大写
9.3. str.swapcase() 反转大小写
9.4. str.capitalize() 首字母大写,其余小写
- 去除两端特殊字符: str.strip(chars=) 默认去除空格,可以指定:\t制表符\n换行\r回车符 lstrip()和rstrip()可以分别去除左右端字符
-
字符串合并函数
11.1. sep.join([str1,str2…]) 以sep作为分隔符, 将所有str合并
4.元组类型tuple
- 元组可以使用变量名 = (value1,value2…) 方式定义,当只有一个值的时候需要在值的后面加一个逗号,表示是元组
- 使用tuple()函数可以将其它数据类型转换为元组
- 元组不限制元素的数据类型’’
- 元组元素不支持修改
- 元组支持索引和切片: tuple[start:stop:sep]
1.2. 可变数据类型
1. 列表类型list
- 列表可以直接使用变量名 = [value1,value2…] 的方式定义.
- 使用list()函数可以将其它数据类型转换为列表类型
- 列表中的数据类型不限制
-
列表的索引和切片:
4.1. list[start:stop:sep] 和字符串索引切片方式相同, 开始索引,结束索引,步长
4.2. 由于列表内部可以存放列表,所以列表可以是多维列表, 支持多维列表切片,list[][][]…
-
列表添加元素函数:
5.1. list.append(list2): 将括号中的内容作为一个整体,追加到列表的最后,作为一个元素
5.2. list.extend(list2): 将括号中的内容拆解为单个字符,每个作为一个元素追加到列表的最后
5.3. list.insert(index,list2): 将list2作为一个元素.插入在指定的index索引前面,注意是前面…
-
列表删除元素函数:
6.1. del list[index] del可谓是万能删除,删除所有…
6.2. list.chear() 清空列表,但列表存在
6.3. list.pop(index) 参数列表中写入删除的索引,默认删除最后一个元素
6.4. list.remove(value) 用于删除列表中第一个与参数匹配的项, 若删除元素重复,需要执行多次
-
列表查找元素函数:
7.1. in 和 not in 函数,判断一个元素是否在列表中
7.2. list.index(value) 判断元素在列表中第一次出现的位置,若元素不存在,则报错
7.3. list.count(value) 判断元素出现次数
-
列表元素排序函数:
8.1. list.sort(reverse) 一般用于数值排序,对其它类型可能错误, reverse为Bool类型,默认为False升序排列,指定为True则降序排序
8.2. list.reverse() 列表元素排列反转
2.字典类型dict
- 字典使用一对大括号定义: dict = {keys1:value1,keys2:value2…},一个键对应一个值,若键重复,则保留最后一次赋值
-
字典添加函数
2.1. dict[keys] = value 若键存在则修改原值,若不存在,则添加新键值对
2.2. dict.setdefault(keys,values) 若键存在则不作为,若不存在则添加键值对
2.3. dict.update(dict2) 将字典2的所有键值对添加到字典1中,若键存在则覆盖原值,类似于列表中extend函数
-
字典的删除函数
3.1. del dict[keys]
3.2. dict.pop(keys) 弹出键值对
3.3. dict.clear() 请空字典,但空间还在
-
字典修改
4.1. dict[keys] = values
-
字典查询:
5.1. 字典不支持切片
5.2. dict[keys] 返回对应值
5.3. dict.get(keys,default) 由keys查找对应值,若果keys不存在,则返回default值
5.4. dict.keys() 返回所有键组成的列表
5.5. dict.values() 返回所有值组成的列表
5.6. dict.items() 返回所有键值对构成的列表
3.集合类型set
- 集合中的元素不重复,并且无序
- 使用set()函数定义集合
-
集合添加元素函数
3.1. set.add(value) 将value添加到集合中
3.2. set.update(list) 将列表中的所有元素添加到集合中,添加过程中自动去重
-
集合删除元素函数:
4.1. set.pop() 由于无序所以无法指定索引,随即删除一个元素,并返回这个元素
4.2. set.remove(value) 删除value
4.3. set.clear() 清空集合
2. 三大结构
1.顺序结构
程序执行自伤而下依次执行
2.分支结构
2.1. if
当满足if后条件,则执行if中的语句,否则不执行
a=1
b=1
c=2
if a==b and a<c:
print('111')
2.2. if … else…
当满足if条件时,执行if中的语句,否则执行else中的语句
a=1
b=1
c=2
if a==b and a>c:
print('111')
esle:
print('222')
2.3. if…elif…else…
如果不满足if条件,则判断是否满足elif条件,否则执行else语句
a=1
b=1
c=2
if a!=b:
print('111')
elif a!=c:
print('222')
else:
print('333')
2.4. 其它注意事项
2.4.1. 同级if elif else语句只会执行一条,分叉路,每次走只能走一条路
2.4.2. 分支语句可以多层嵌套,将复杂的逻辑结构化
3. 循环结构
3.1. while循环
a = 1
sum = 0
while a<=100:
sum +=a
a += 1
3.2 .for循环
sum=0
for a in range(1,101):
sum += a
3.3. 循环 + else
当循环正常结束时, 执行else语句
for i in range(10):
print(i, end=', ')
else:
print('abc')
# 输出:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, abc
当循环被中断时, 不执行else
a = 0
b = 10
while a < b:
print(a, end=', ')
if a == 5:
break
else:
print("abc")
# 输出: 0, 1, 2, 3, 4, 5,
3.4. 其它注意事项
3.4.1. python 不支持do…while…循环语句
3.4.2. while和for循环可以相互转换