美文网首页
Python基础语法小题目

Python基础语法小题目

作者: Eline_569f | 来源:发表于2019-07-26 09:43 被阅读0次

    01_7.26 Python小课堂来啦~

    Tips:

    部分题目没有特别说明,默认使用python3环境即可。有特别说明的,建议py2和py3都试下。

    4.关于Python中的复数,下列说法错误的是()

    A.表是复数的语法是real + image j

    B.实部和虚部都是浮点数

    C.虚部必须后缀j,且必须小写

    D.方法conjugate返回复数的共轭复数

    5.以下不能创建一个字典的语句是()

    A.dict1 = {}

    B.dict1 = {}

    C.dict3 = {[1,2,3]: “uestc”}

    D.dict4 = {(1,2,3): “uestc”}

    6.python my.py v1 v2 命令运行脚本,通过 from sys import argv如何获得v2的参数值? 

    A.argv[0]

    B.argv[1]

    C.argv[2]

    D.argv[3]

    7.下面代码运行结果? 

    a = 1

    try:

        a += 1

    except:

        a += 1

    else:

        a += 1

    finally:

        a += 1

    print(a)

    打印结果:4

    8.下列代码运行结果是? 

    a = 'a'

    print(a > 'b' or 'c')

    打印结果:c

    9.What gets printed by the code snippet below?()

    import math

    print math.floor(5.5)

    py2打印结果:5.0

    py3打印结果:5

    10.What gets printed?()

    nums = set([1,1,2,3,3,3,4,5])

    print(len(nums))

    打印结果:5

    11.下面代码运行后,a、b、c、d四个变量的值,打印结果分别是? 

    import copy

    a = [1, 2, 3, 4, ['a', 'b']] 

    b = a 

    c = copy.copy(a) 

    d = copy.deepcopy(a) 

    a.append(5) 

    a[4].append('c') 

    分析如下:

    a = [1, 2, 3, 4, ['a', 'b']] 

    b = a     # 引用,除非直接给a重新赋值,否则a变则b变,b变则a变

    c = copy.copy(a)   # 浅复制,只会拷贝父对象,不会拷贝父对象中的子对象,所以若a的子对象变则c 变,但是父对象改变,c不会变

    d = copy.deepcopy(a) #深拷贝,完全拷贝,完全独立于原对象,a变也不变

    a.append(5) # 改变父对象

    a[4].append('c')  #改变父对象中的 ['a', 'b']子对象

    打印结果:

    a=[1, 2, 3, 4, ['a', 'b','c'],5] 

    b=[1, 2, 3, 4, ['a', 'b','c'],5]

    c=[1, 2, 3, 4, ['a', 'b','c']]

    d=[1, 2, 3, 4, ['a', 'b']] 

    12.解释型语言的特性有什么?

    如,非独立,效率低。

    Python不是一门纯粹的解释型语言,例如Cpython中间编译生成pyc文件,然后再运行pyc,也是有编译型语言特点的,其实所有语言本身并无编译解释之分,只是取决支持它的执行环境是解释器,还是编译器。

    参考这两篇理解:

    https://www.cnblogs.com/ziyide/p/9095430.html

    https://www.jianshu.com/p/c1ce70ccdb74

    13.下列对协程的理解错误的是?

    A.一个线程可以运行多个协程

    B.协程的调度由所在程序自身控制

    C.Linux中线程的调度由操作系统控制

    D.Linux中协程的调度由操作系统控制

    14.有如下函数定义,执行结果正确的是?

    def dec(f):

        n = 3

        def wrapper(*args,**kw):

            return f(*args,**kw) * n

        return wrapper

    @dec

    def foo(n):

        return n * 2

    A.foo(2) == 12

    B.foo(3) == 12

    C.foo(2) == 6

    D.foo(3) ==6

    解释:

    装饰器本身是一个函数,是在不改变待装饰函数代码情况下,增加额外功能,其返回值是已装饰的函数对象。

    装饰器的作用是把原函数foo()(待装饰函数)赋值给dec()(装饰器),再把返回值--wrapper()(已装饰函数)重新赋值给foo();

    def wrapper(2):

        return foo(2)*3

    函数执行结果为:foo(2) = wrapper(2) = foo(2)*3 = 2*2*3 = 12

    15.What gets printed?()

    print(r"\nwoow")

    A.new line then the string: woow

    B.the text exactly like this: r"\nwoow"

    C.the text like exactly like this: \nwoow

    D.the letter r and then newline then the text: woow

    E.the letter r then the text like this: nwoow

    16.若 a = range(100),以下哪些操作是合法的?

    A.a[-3]

    B.a[2:13]

    C.a[::3]

    D.a[2-3]    #仔细看索引

    17.__new__和__init__的区别,说法正确的是? 

    A.__new__是一个静态方法,而__init__是一个实例方法

    B.__new__方法会返回一个创建的实例,而__init__什么都不返回

    C.只有在__new__返回一个cls的实例时,后面的__init__才能被调用

    D.当创建一个新实例时调用__new__,初始化一个实例时用__init__

    18.下列代码执行结果是?

    [i**i for i in xrange(3)]

    A.[1, 1, 4]

    B.[0, 1, 4]

    C.[1, 2, 3]

    D.(1, 1, 4)

    持续更新中...

    相关文章

      网友评论

          本文标题:Python基础语法小题目

          本文链接:https://www.haomeiwen.com/subject/ujwlrctx.html