python202305/202412三级考察的内容、易错题以及零散知识

202305/202412三级考察内容:进制转换、异常处理机制、内置函数、文件、set()、map()、any()、all()、sorted()

目录

1、try...except...异常处理机制

(1)try...except...else 异常处理机制

(2)try...except...finally... 异常处理机制

2、enumerate(a)索引序列

3、内置函数

(1)max、min、sum、len函数   √√√√

(2)any()、all()

(3)ascii()、ord()、chr()

(4)map映射、filter过滤、可迭代对象iterable、divmod()

4、字符串函数

(1)split()

(2)strip()

5、内置函数与字符串/列表函数的区别 √√√√

6、进制转换

7、文件

(1)读取文件内容的3种方式

(2)写入文件的两种方式:write()和writelines()

(3)with语句打开文件

8、易错点

(1)python中的浮点简化

(2) +

(3)round()与random()的区别

(4)sorted()


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时,升序排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值