学习Python从娃娃抓起!记录下蓝桥杯备考学习过程中的题目,记录每一个瞬间。
附上汇总贴:历年蓝桥杯Python青少组中/高级国赛省赛真题解析 | 汇总
第1题
以下选项中,哪一个可以将字典dict1与字典dict2合并?( )
A.dict1.add(dict2)
B.dict1.extend(dict2)
C.dict1.update(dict2)
D.dict1.merge(dict2)
【答案】:C
【解析】
字典没有add和extend函数,列表有add和extend函数。
merge是pandas中的内置函数。
字典使用update将两个字典进行合并,故选C。
第2题
执行print(“{1}{0}”.format(“Hello”,“Python”,“!”))语句后,输出的结果是( )
A.HelloPython!
B.PythonHello!
C.HelloPython
D.PythonHello
【答案】:D
【解析】
format后的3个变量,分别为变量0、变量1、变量2,所以先打印变量1再打印变量2,为PythonHello,选D。
第3题
关于Python中的全局变量和局部变量,以下选项描述错误的是( )
A.全局变量不可以被函数内部的代码块修改
B.全局变量在函数之外一般没有缩进,在程序执行全过程有效
C.全局变量是指在函数之外定义的变量,而局部变量是指在函数内部定义的变量
D.局部变量和全局变量可以共存,但如果局部变量和全局变量的名称相同,局部变量会覆盖全局变量
【答案】:C
【解析】
可以通过global将函数内部定义的变量声明为全局变量,故选C。
第4题
下列函数中哪一个可以删除集合中指定的元素?( )
A.clear()
B.discard()
C.union()
D.issubset()
【答案】:B
【解析】
clear()用于清除集合中所有元素,discard用于删除集合中指定的元素,union用于合并两个集合,issubset用于判断集合y是否为集合x的子集
第5题
以下选项中,哪一个可以更好地描述Python中类方法和静态方法之间的区别?( )
A.类方法只能由类调用,而静态方法只能由实例调用
B.类方法可以访问类和实例的属性和方法,而静态方法不能访问
C.类方法必须要有一个参数,而静态方法可以没有参数
D.类方法只能访问类的属性和方法,而静态方法只能访问实例的属性和方法
【答案】:
【解析】
类方法也可以由实例调用,A不正确。
类方法只能访问类的属性和方法,不能访问实例的属性和方法,B错误。
静态方法不能调用实例中的属性和方法,D不正确。
class Person:
sex = "男性"
def __init__(self,name, age): # 构造函数,实例化的时候自动调用
self.name = name
self.age = age
print(self.name, self.age)
@classmethod
def clsMethod(cls):
print("这是类方法,因为它被classmethod修饰")
print(cls.sex)
@staticmethod
def stMethod():
print("这是静态方法,因为它被staticmethod修饰")
# print(cls.sex) # 静态方式不能调用类中的方法和属性,也不能访问实例的属性和方法
Person.clsMethod() # 使用类名调用类方法
Person.stMethod() # 使用类名调用静态方法
stu1 = Person("tom", 24)
stu2 = Person("bob", 26)
stu1.clsMethod() # 使用实例名称调用类方法
stu1.stMethod() # 使用实例名称调用静态方法
stu1.sex = "女性"
print(stu1.sex) # 女性 实例化后,可以修改类属性
stu1.clsMethod() # 男性 类方法只能打印类属性,不能访问实例属性