[Python基础]Python Programming for Beginners期末考试


刚考完Python的期末考试, 尽管这次考试难度不是很大(考试内容不包括第三方库,以及面向对象,类等概念), 本门课程内容也相对简单, 但是考试中有许多细小的知识点如果不是参考过资料或有过相同经历, 很难第一次做出正确的判断. 以下是我为参与本次UIC计算机类课程Python Programming for Beginners( 2023 − 2024 2023-2024 20232024学年)期末考试的同学整理出的本次考试涉及的疑难知识点

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若左侧表达式为真,则不再执行运算符右侧的表达式,并返回左侧表达式的值. 若左侧表达式不为真,则继续执行右侧表达式,并返回右侧表达式的值

  • 列表: appendextend 的区别

    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值