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)
持续更新中...