第一次月考总结

1.下面程序执行的结果是(  ) 

for x in range(10):

    pass  

print(x)

A    10

B    9

C    0

D    出错

    正确答案:B

    解析:在python中,只有模块、类、以及函数(def、lambda)才会引入新的作用域,其他代码块if/else、for、while、try/except这些语句不会引入新的作用域,也就是说这些代码块内部定义的变量外部可以引用


2.下列代码的执行结果是(     )

num1 = 1 and 2 

num2 = True or False 

result = num1*num2 + 3 

print(result)

A    0

B    4

C    5

D    报错

    正确答案: C

    解析:and 是逻辑操作,联机文档上如下:

                The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned

                即python里bollean表达式的返回的是决定表达式值的那个参数的值 

                >>> print(1 and 2)

                >>>2

                True在计算时,用1代替


3.执行以下代码,控制台输出的内容是(): 

class A(object):

    def go(self):

        print("go A go!") 

class B(A):

    def go(self):

        super(B, self).go()

        print("go B go!") 

 class C(A):

    def go(self):

        super(C, self).go()

        print("go C go!") 

a = A() 

b = B() 

c = C() 

a.go() 

b.go() 

c.go()

A    go A go!

      go A go!

      go B go!

      go A go!

      go C go!

B    go A go!

      go B go!

      go C go!

C    go A go!

      go B go!

      go A go!

      go C go!

D    go A go!

      go B go!

      go B go!

      go C go!

      go C go!

    正确答案: A

    解析:super(C, self).go() 是 python2.x 的版本,首先找到C的父类(类A),然后把类C的对象self转换为类A的对

象,然后“被转换”的类A对象调用自己的go()函数

                相当于python3.x 中的 super().go()


4.下面哪个是Python合法的标识符(  )

A    int32

B    40xl

C    self

D    name

    正确答案: A,C,D

    解析:self不是关键字,只是一种约定俗成的写法


5.下面哪些选项是Json中的数据类型?

A    {}

B    None

C    list

D    null

    正确答案: A,D

    解析:JSON和Python内置的数据类型对应

            JSON类型        Python类型

                {}                    dict

                []                    list

                "string"           str

                1234.56          int或float

                true/false        True/False

                null                  None


6.关于文档测试,下面说法正确的是

A    测试代码是否正确

B    测试文档书写是否正确

C    可以直接作为示例代码

D    没啥作用

    正确答案: B,D

    解析:字面意思


7.正则表达式中圆点(.)能匹配下面哪一项?

A    换行符

B    数字

C    字母

D    任何特殊符号

    正确答案: B,C

解析:.  表示匹配除了换行符外的任何字符

            部分特殊字符:   \反斜杠符号    '单引号    "双引号    \a响铃    \b退格(Backspace)    \e转义

                                        \000空    \n换行    \v纵向制表符    \t横向制表符    \r回车    \f换页


8.下面的魔法方法中哪些在对象使用运算符的时候会自动被调用():

A    __add__()

B    __gt__()

C    __repr__()

D    __sub__()

正确答案: A,B,D

解析: __add__()    算术运算符    加法运算

            __sub__()     算术运算符    减法运算

            __gt__(self,other)     比较运算符    定义大于符号的行为,>

             __repr__()    调用print()函数时


9.关于Python的变量使用,下列说法错误的是 (  )

A    变量不必事先声明

B    变量无需事先创建赋值可以直接使用

C    变量无需指定类型

D    可以使用 del 释放资源

正确答案: B

解析:变量需要创建赋值才能使用,事先说明和指定类型的是C语言那种,比如 float a;


10.ThreadLocal的作用是。

    正确答案:解决了参数在一个线程中各个函数之间互相传递的问题


11.已知字符串s = 'helloworld',  s[:5:2]的结果是__

    正确答案: hlo

    解析:默认从0开始,到5结束,步长为2


12.在子类中访问父类的方法可以通过__形式访问,也可以__通过方式访问

    答案:(1)  父类名.方法名(self,参数)

               (2)  super(子类名,self).方法名(参数)   

    解析:这是 python2.x 中的写法


13.Python的优点

    答案:易于学习;易于阅读;易于维护;可扩展;可嵌入;有丰富的第三方库


14.编写Python代码,实现一个判断用户输入的年份是否是闰年的程序?

import calendar

def func(year):

        if year.isleap():    方法调用错误 ------ 》  calendar.isleap(year): 

        print('该年份是闰年')

    else:

        print('该年份不是闰年')

if __name__ == '__main__':

    year = input('请输入一个年份:')

    func(year)


15.封装函数,实现文件内容的拷贝

import os 

def my_copy(src_path, des_path): 

    # 判断源文件是否存在,如果不存在,拷贝不了 

    if not os.path.exists(src_path): 

         print('哥们,源文件不存在,如何拷贝') 

         return 

    # 判断源文件是不是文件 

    if not os.path.isfile(src_path):

        print('哥们,源文件不是文件,如何拷贝') 

        return 

    # 判断目标文件是否存在 

     if os.path.exists(des_path): 

         print('哥们,目标文件存在,如何拷贝') 

         return 

     # 打开文件开始拷贝 

     fp_src = open(src_path, 'rb') 

     fp_des = open(des_path, 'wb')  

     #获取文件的大小 

     size = os.path.getsize(src_path)    

     #循环读取源文件,并将读取的内容写入目标文件 

     while size > 0: 

           content = fp_src.read(1024) 

           fp_des.write(content) 

           size -= 1024 

   # 关闭文件 

   fp_src.close() 

   fp_des.close()


16.创建一个列表:[1,4,9,16,...,n^2]

    newList3=list(map(lambda x:x ** 2,list1))

    解析:这样的情况下,必须写 lambda ,但是如果是 lambda x:int(x) 就不需用了,因为 int 本身就是一个函数

你可能感兴趣的:(第一次月考总结)