一个段代码定义如下,下列调用结果正确的是?
def bar(multiple):
def foo(n):
return multiple ** n
return foo
正确答案: A 你的答案: A (正确)
bar(2)(3) == 8
bar(2)(3) == 6
bar(3)(2) == 8
bar(3)(2) == 6
解析
# -*- coding: utf-8 -*-
def bar(multiple):
def foo(n):
return multiple ** n
return foo
print(bar(2)(3) == 8)
# result
True
What gets printed?()
print r"\nwoow"
正确答案: C 你的答案: C (正确)
new line then the string: woow
the text exactly like this: r"\nwoow"
the text like exactly like this: \nwoow
the letter r and then newline then the text: woow
the letter r then the text like this: nwoow
解析
>print(r"\nwoow")
\nwoow
有如下类定义,下列描述错误的是?
class A(object):
pass
class B(A):
pass
b = B()
正确答案: D 你的答案: D (正确)
isinstance(b, A) == True
isinstance(b, object) == True
issubclass(B, A) == True
issubclass(b, B) == True
解析
- isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
- isinstance() 与 type() 区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- 参数
- object – 实例对象。
- classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。
- 返回
- 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
What gets printed?()
1
2
3
4
5
kvps = { ‘1’ : 1, ‘2’ : 2 }
theCopy = kvps.copy()
kvps[‘1’] = 5
sum = kvps[‘1’] + theCopy[‘1’]
print sum
正确答案: C 你的答案: C (正确)
1
2
6
解析
kvps = { '1' : 1, '2' : 2 }
theCopy = kvps.copy()
print(id(kvps), id(theCopy))
kvps['1'] = 5
print(id(kvps), id(theCopy))
print(kvps, theCopy)
sum = kvps['1'] + theCopy['1']
print(sum)
# result
2005641039664 2005641073144
2005641039664 2005641073144
{'1': 5, '2': 2} {'1': 1, '2': 2}
6
下面代码运行结果?
a = 1
try:
a += 1
except:
a += 1
else:
a += 1
finally:
a += 1
print a
正确答案: C 你的答案: C (正确)
2
3
4
5
解析
# -*- coding: utf-8 -*-
try:
print('try')
except:
print('except')
else:
print('else')
finally:
print('finally')
# output
# try
# else
# finally
try:
1 != 1
except:
print('except')
else:
print('else')
finally:
print('finally')
# output
# else
# finally
python my.py v1 v2 命令运行脚本,通过 from sys import argv如何获得v2的参数值?
正确答案: C 你的答案: A (错误)
argv[0]
argv[1]
argv[2]
argv[3]
解析
argv[0]:脚本自身路径
argv[1]:第一个参数
argv[2]:第二个参数
有一段python的编码程序如下:urllib.quote(line.decode(“gbk”).encode(“utf-16”)),请问经过该编码的字符串的解码顺序是( )
正确答案: D 你的答案: C (错误)
gbk utf16 url解码
gbk url解码 utf16
url解码 gbk utf16
url解码 utf16 gbk
有一段python的编码程序如下:urllib.quote(line.decode(“gbk”).encode(“utf-16”)),请问经过该编码的字符串的解码顺序是( )
正确答案: D 你的答案: C (错误)
gbk utf16 url解码
gbk url解码 utf16
url解码 gbk utf16
url解码 utf16 gbk
Python中函数是对象,描述正确的是?
正确答案: A B C D 你的答案: B (错误)
函数可以赋值给一个变量
函数可以作为元素添加到集合对象中
函数可以作为参数值传递给其它函数
函数可以当做函数的返回值
若 a = (1, 2, 3),下列哪些操作是合法的?
正确答案: A B D 你的答案: B D (错误)
a[1:-1]
a*3
a[2] = 4
list(a)
解析
>a = (1, 2, 3)
>print(a[1:-1])
(2,)
>print(a[-1]) # 截取倒数第一个元素
(3,)
>print(a[:-1]) # 从头截取到倒数第一个元素
(1, 2)
>print(a[1:]) # 从第一个截取到末尾
(2, 3)
__new__和__init__的区别,说法正确的是?
- 正确答案: A B C D 你的答案: 空 (错误)
- __new__是一个静态方法,而__init__是一个实例方法
- __new__方法会返回一个创建的实例,而__init__什么都不返回
- 只有在__new__返回一个cls的实例时,后面的__init__才能被调用
- 当创建一个新实例时调用__new__,初始化一个实例时用__init__
解析
__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。
__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。
即,__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。
下列哪种说法是错误的
正确答案: A 你的答案: A (正确)
除字典类型外,所有标准对象均可以用于布尔测试
空字符串的布尔值是False
空列表对象的布尔值是False
值为0的任何数字对象的布尔值是False