202305/202412三级考察内容:进制转换、异常处理机制、内置函数、文件、set()、map()、any()、all()、sorted()
目录
(2)try...except...finally... 异常处理机制
(4)map映射、filter过滤、可迭代对象iterable、divmod()
(2)写入文件的两种方式:write()和writelines()
1、try...except...异常处理机制
(1)try...except...else 异常处理机制
a="2"
b="4"
try: # 正确则执行
c=a*b
print(c)
except: # 错误则执行
print("false")
else: # 正确则执行
print("true")
若a=2,b=4,(正确则执行)
样例输出:
8
true若a="2",b="4",(错误则执行)
样例输出:
false
(2)try...except...finally... 异常处理机制
无论try语句是否异常,Finally都会被执行。
2、enumerate(a)索引序列
a=['w','b','c','d']
print(a)
print(tuple(a))
print(enumerate(a)) #对象组合成索引序列,但不显示序列,需要用序列list/tuple/dict展现出来
print(list(enumerate(a))) #索引序列 -- 索引列表
print(tuple(enumerate(a))) #索引序列 -- 索引元组
print(dict(enumerate(a))) #索引序列
输出:
['w', 'b', 'c', 'd']
('w', 'b', 'c', 'd')
<enumerate object at 0x0000021975F75670>
[(0, 'w'), (1, 'b'), (2, 'c'), (3, 'd')]
((0, 'w'), (1, 'b'), (2, 'c'), (3, 'd'))
{0: 'w', 1: 'b', 2: 'c', 3: 'd'}
3、内置函数
(1)max、min、sum、len函数 √√√√
max、min、sum可以计算列表和字符串,len可以计算字符串长度
##字符串获取最大和最小字符
s='123456789'
min(s)='1'
max(s)='9'
s='12a456789'
print(min(s)) #1
print(max(s)) #a
min("babaaa") #a
sum([13,14,16]) #43
(2)any()、all()
any()用于判断序列元素是否全为False -- 若至少一个为真,则为true
any([1,2,0]) #可迭代对象中找到任何一个为True的元素时返回True
all([])的结果是True,any([])的结果是False。
(3)ascii()、ord()、chr()
ascii()是一个内置函数,用于将对象转换为ASCII字符串表示
print(ascii('Hello, World!')) # 输出: 'Hello, World!'
print(ascii('你好,世界!')) # 输出: "'\\u4f60\\u597d\\uff0c\\u4e16\\u754c\\uff01'"
print(ascii(123)) # 输出: '123'
print(ascii(True)) # 输出: 'True'
print(ascii([1, 2, 3])) # 输出: '[1, 2, 3]'
print(ord('a')) #97 #获取ascii数值
print(chr(97)) #a
(4)map映射、filter过滤、可迭代对象iterable、divmod()
1、map()函数会根据提供的函数对指定序列做映射
#映射(就是每一个):每一个字母都变大。
2、filter(function判断函数, str1可迭代对象)
3、可迭代对象iterable=很多数据=一个序列/多个序列 eg:str1
4、divmod()用于返回两个数a,b相除的商和余数,结果以一个元组的形式返回。
divmod(a, b) 返回值:(第一个数:a//b,第二个数a%b)
str1 = ["Hello", "world"]
str2 = list(map(str.upper函数, str1可迭代对象)) #映射(就是每一个):每一个字母都变大
print(str2)# 输出:['HELLO', 'WORLD']
x,y,z=map(int,['20','2','3']),则表达式x+y+z的结果是20+2+3=25
result = divmod(10, 3)
print(result) # 输出: (3, 1)
4、字符串函数
(1)split()
split()函数是以','为分隔符将字符串分割成字符串列表。
(2)strip()
1、strip() 是一个字符串方法,用于移除字符串两端(左右两侧)指定的字符或字符序列。
2、如果没有提供参数,它默认会移除空白字符(如空格、制表符和换行符)。
3、string.strip(指定要移除的字符集合,默认移除空白字符) 。
##去掉换行符
text = "\nHello, World!\n"
stripped_text = text.strip('\n')
print(stripped_text) # 输出: "Hello, World!"
5、内置函数与字符串/列表函数的区别 √√√√
内置函数需要:内置函数(名字)
字符串函数或列表函数需要:名字.函数()例如:
sort()是列表的方法之一,使用方法是li.sort(),默认升序;
sorted()是内建函数,可对所有可迭代对象进行排序,使用方法是sorted(li),默认升序。
6、进制转换
bin(16) #将数值16转换为二进制
>>'0b10000'
oct(16) #将数值16转换为八进制
>>'0o20'
bin(int("16",10)) #将十进制的字符型数值(字符串),转换为二进制的字符型数值
>>'0b10000'
int("11",9) #字符串11转变为九进制数值
>>10
int("0b10000",2) #将二进制的字符串转换为数值
>>16
int("111",0) #自动找几进制转换为数值
>>111
16进制的A对应10进制的10。
做法:将该八进制数,变成十进制数,要按权展开相加。
此处int('13',8)的功能是将八进制的字符串解析成十进制数。
求int('13',8)的返回值可采用按权展开相加法:3×80+1×81=11。
二进制数11110010转换为十六进制数是F2:
二进制转十六进制方法:从二进制低位开始,4位为1组,分别进行转换,最左边如位数不足,补0凑足。
做法:1111->F,0010->2。故结果为F2.
7、文件
(1)读取文件内容的3种方式
readlines()和readline():
file = open("1.txt", "r")
lines = file.readlines() # 读取所有行内容(输出时每一行后面多加一行空格)
for line in lines:
print(line)
#line1 = file.readline() # 读取一行内容
#print(line1)
file.close()
read():
read()函数的功能是一次性读取整个文件并生成一个字符串。
file = open("1.txt", "r")
lines = file.read() # 读取所有内容 (按格式)
print(lines)
file.close()
(2)写入文件的两种方式:write()和writelines()
write()的参数是一个字符串。不会自动换行,需要加\n。有返回值(有几个字符)。
writelines()的参数可以是字符串,也可以是一个序列。不会自动换行,需要加\n。没有返回值。
file = open("2.txt","w") # 注意:写入的文件2.txt,不用创建会自己自动创建的。要读取的文件1.txt需要自己创建。
lst = ["acc","hhhh\n","ooooo"]
f1 = file.write("dandu\n")
f2 = file.writelines(lst)
print(f1, f2)
运行结果:(写入到文件2.txt中)
dandu
acchhhh
ooooo
(3)with语句打开文件
使用with语句打开文件,处理结束后会自动关闭被打开的文件,不用再写close()关闭文件
a=['shanghai','beijing','tianjin','chongqing','hangzhou']
with open ('city.csv','w') as f:
f.write(','.join(a)+'\n')
8、易错点
(1)python中的浮点简化
abs(-1.00) 返回的是 1.0 而不是 1.00,这是因为 Python 会自动去掉浮点数中的尾随零。
Python 会在不需要精确控制小数位数时,使用最简洁的形式表示数值。
换句话说,1.0 是 Python 默认的简化形式,表示这个数是浮动的浮点类型,而不是精确到两位小数。
(2) +
运算时:字符串+数字是错误的,不能相加。
但是在print中(字符串+数字)是正确的,是因为这里不是运算的加法,而是两个东西连接。
(3)round()与random()的区别
round(浮点数,精确的小数位数) 对浮点数进行四舍五入 内置函数
random() 随机数 是random模块中的函数 import random
(4)sorted()
参数reverse设置为True时,降序排序;参数reverse设置为False时,升序排序。