【Python】易错题

Python易错题

第一章

  • 高级语言程序要被机器执行,只有用解释器来解释执行。

    F

  • 已知 x等于3, 则 语句x=’3’是错误的。

    F

    注意题目是x=’3’而不是x==’3’

  • 已知 x=3, 则执行“ x=7”后,id(x)的返回值与原来没有变化。

    F

  • __是不等长编码。

    A. ASCII码

    B. Unicode码

    C. UTF-8码

    D. 以上都不

  • 输出str对应的utf-8编码

    1
    print(s.encode("utf-8"))

第二章

  • Python 语句 print(0xA + 0xB)的输出结果是__

    21

  • Python 表达式 sqrt(4)*sqrt(9)的值为__

    6.0

    sqrt类型为float

    其实是math.sqrt()

  • complex的实部虚部类型都是float,conjugate返回共轭复数

  • Python 表达式 3**2**3 的值为__

    6561

    **的运算顺序从右往左,先算2**3

  • round(18.67, -1) = 20.0

    注意是float类型

    round(18.67)是int类(18),round(18.67, 0)是float类(18.0)

  • int(“101”, 2) = 5

    二进制的101,转为十进制

    注意引号

  • Python输出 print(“hello” ‘world’)的结果是__

    helloworld

  • 0 and 2 -> 0

    1 and 2 -> 2

    3 and 2 and 5 -> 5

    3 and 0 and 5 -> 0

  • 32.2//6 -> 5.0 (float)

    32//6 -> 5 (int)

第三章

  • 列表可以用find()函数来搜索数据是否在列表中

    F

  • 将列表中的元素顺序打乱的函数shuffle()不是random模块的函数或方法

    F

    random.shuffle(a)

  • 字符串对象和元组对象是不可变对象,列表对象为可变对象

    T

  • lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21]

    lst[:100] -> [12, -5, -22, -10, -26, 35, 0, 49, 3, -21]

    lst[100:] -> []

    lst[100] -> error

  • 下面的程序当输入是c d e a时,输出是a c d e

    1
    2
    3
    4
    a = input().split(" ")
    print("After sorted:")
    for i in a.sort():
    print(i)

    error 因为a.sort()直接在原序列上排序,无返回值

    a.replace() 有返回 原序列不变 -> str

    a.remove() 也在原序列上删除(但注意 只删除第一个)

  • 要想得到[0,100]范围内的随机数,random.randint(0,n)里的n应该是:

    100

第四章

  • 带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码

    T

  • 在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的

    T

第五章

  • 集合的元素可以是任意数据类型

    F

    只能是不可变类型

  • 列表可以作为字典的键

    F

    只能是不可变类型

  • 集合不能append,不能取下标

第六章

  • print(type(lambda:3))的输出结果是__

  • 在Python中,对于函数定义代码的理解,正确的理解是____

    A. 必须存在形参

    B. 必须存在return语句

    C. 形参和return语句都是可有可无的

    D. 形参和return语句要么都存在,要么都不存在

    C

  • 在一个函数中如局部变量和全局变量同名,则__。

    A. 局部变量屏蔽全局变量

    B. 全局变量屏蔽局部变量

    C. 全局变量和局部变量都不可用

    D. 程序错误

    A

  • 函数可以改变哪种数据类型的实参?

    A. int

    B. string

    C. list

    D. float

    C

  • `python
    def fun(x1,x2,x3,**x4):

    print(x1,x2,x3,x4)
    

    fun(x1=1,x2=22,x3=333,x4=4444)

    1
    2
    3
    4
    5
    6
    7
    8

    > 1 22 333 {'x4': 4444}

    - ```python
    def f1(a,b,c):
    print(a+b)
    nums=(1,2,3)
    f1(nums)

    error

第七章

  • 以”w”模式打开的文件无法进行读操作。

    T

  • read函数返回的是列表。

    F

  • readlines函数返回的是列表。

    T

第八章

  • 在类定义中隐藏对象的细节称为实例化

    F

  • 对于Python类中的私有成员,可以通过对象名._类名__私有成员名的方式来访问

    T

  • 在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值

    F

    self不用传值

  • 在Python中定义类时实例方法的第一个参数名称必须是self。

    F

  • 定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法。

    T

  • 定义类时,在一个方法前面使用@staticmethod进行修饰,则该方法属于静态方法

    T

  • 在类中,具四个形式参数的方法通常在调用时有__个实际参数。

    3

  • 以下__不是面向对象程序设计的基本特征之一。

    A. 继承

    B. 多态

    C. 抽象

    D. 封装

期中

  • `python
    list1=[1,43]
    list2=list1
    list1[0]=22
    print(list2[0])
    1
    2
    3
    4
    5
    6
    7
    8

    > 22
    >
    > ```python
    > b = a #深拷贝
    > c = a[:] #浅拷贝
    > c = a.copy() #浅拷贝
    >

样卷

  • `python
    lst=[1,2,3]
    lst1=lst.copy()
    print(id(lst)==id(lst1))

    1
    2
    3
    4
    5
    6

    > False

    - ```python
    lst=[{m:n} for m in 'ABC' for n in 'ABC' if m!=n]
    print(lst)

    [{‘A’: ‘B’}, {‘A’: ‘C’}, {‘B’: ‘A’}, {‘B’: ‘C’}, {‘C’: ‘A’}, {‘C’: ‘B’}]