文章目录
刚考完Python的期末考试, 尽管这次考试难度不是很大(考试内容不包括第三方库,以及面向对象,类等概念), 本门课程内容也相对简单, 但是考试中有许多细小的知识点如果不是参考过资料或有过相同经历, 很难第一次做出正确的判断. 以下是我为参与本次UIC计算机类课程Python Programming for Beginners( 2023 − 2024 2023-2024 2023−2024学年)期末考试的同学整理出的本次考试涉及的疑难知识点
Python Programming for Beginners
-
is
与==
的区别is
判断运算符两边是否是同一对象,==
判断运算符两边的值是否相等,例如listA= list([1,2,3]) listB= list([1,2,3]) print(listA == listB) print(listA is listB) #Output : True False
尽管
list
对象listA,listB
的值相同但是由于是不同的对象,listA is listB=False
-
存在逻辑运算符的表达式的返回值
对于存在如
and,is,or
和==,<,>
等的逻辑表达式,其值并不一定是bool
类型,例如
print(True and False)
print(1 or 'text')
print('' or 'text')
#Output:
False
1
text
对于and
若左侧表达式为假,则不再执行运算符右侧的表达式,并返回左侧表达式的值. 若左侧表达式不为假,则继续执行右侧表达式,并返回右侧表达式的值
对于or
若左侧表达式为真,则不再执行运算符右侧的表达式,并返回左侧表达式的值. 若左侧表达式不为真,则继续执行右侧表达式,并返回右侧表达式的值
-
列表:
append
与extend
的区别append(obj)
用于在末尾追加元素, 会将obj
视为一整个元素my_list= list([1,2,3]) my_list.append((4,5)) print(my_list) #Output: [1, 2, 3, (4, 5)]
而
extend(obj)
会将obj
拆分成多个元素(如果obj
是元组,列表等数据类型)my_list= list([1,2,3]) my_list.extend((4,5)) print(my_list) #Output: [1, 2, 3, 4, 5]
-
切片的取值区间应为左闭右开
对于
str[start:end]
这样的截断区间的取值应为 [ s t a r t , e n d ) [start,end) [start,end)my_str= 'KOISHI' print(my_str[1:4]) #Output: OIS
-
使用集合做交,并,差集运算
运算操作 | Python运算符 | 意义 | 图示 |
---|---|---|---|
交集 | & | 取两集合公共的元素 | { 3 } \{3\} {3} |
并集 | | | 取两集合全部的元素 | { 1 , 2 , 3 , 4 , 5 } \{ 1,2,3,4,5 \} {1,2,3,4,5} |
差集 | - | 取一个集合中另一集合没有的元素 | set1-set2=
{
1
,
2
}
\{1,2 \}
{1,2} set2-set1=
{
4
,
5
}
\{ 4,5 \}
{4,5} |
对称差集 | ^ | 取两集合中不属于其并集的元素 | { 1 , 2 , 4 , 5 } \{ 1,2,4,5 \} {1,2,4,5} |
-
常用字符串操作
获取字符串长度:
len(str)
指定字符作为分隔符分割字符串:
str.split(sep,maxsplit=-1)
其中sep
分隔符,maxsplit
指定最大分割次数统计字符在字符串中出现的次数:
str.count(sub[,start[,end]])
检测字符串中是否包含某子串:
str.find(sub[,start[,end]])
和str.index(sub[,start[,end]])
后者找不到字符串时会抛出异常 -
列表推导式
[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]
除了列表还可以生成元组,字典等数据结构, 例如:#计算1~5的平方 my_list= [x**2 for x in range(1,6)] print(my_list) #Output: [1, 4, 9, 16, 25]
-
元组
元组一旦被创建,它的元素就不可更改了, 因此元组是不可变序列,例如
my_list= [1,2,3] my_tuple= tuple(my_list) my_tuplep[0]= 4 #Error: TypeError: 'tuple' object does not support item assignment
-
字典
主要特征 解释 通过键而不是通过索引来读取元素 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。 字典是任意数据类型的无序集合 和列表、元组不同,通常会将索引值 0 对应的元素称为第一个元素,而字典中的元素是无序的。 字典是可变的,并且可以任意嵌套 字典可以在原处增长或者缩短(无需生成一个副本),并且它支持任意深度的嵌套,即字典存储的值也可以是列表或其它的字典。 字典中的键必须唯一 字典中,不支持同一个键出现多次,否则只会保留最后一个键值对。 字典中的键必须不可变 字典中每个键值对的键是不可变的,只能使用数字、字符串或者元组,不能使用列表。
Reference
交并差集演示图来自 C语言中文网 Python set集合基本操作(添加、删除、交集、并集、差集) (biancheng.net)
文章封面来自Pixiv画师ぢせ https://www.pixiv.net/artworks/100135885