91、下列函数的输出结果
def add_end(l=[]):
l.append("end")
return l
print(add_end()) # 输出什么
print(add_end()) # 再次调用输出什么? 为什么
# 答案
'''
['end']
['end', 'end'] # 函数在定义阶段参数l就指向了[]的内存地址
'''
92、可变参数定义*args,**kwargs的区别是什么?并且写出下边代码的输入内容
def foo(*args, **kwargs):
print("args=", args)
print("kwargs=", kwargs)
print("-----------------")
if __name__ == '__main__':
foo(1, 2, 3, 4)
foo(a=1, b=2, c=3)
foo(1, 2, 3, 4, a=1, b=2, c=3)
foo("a", 1, None, a=1, b='2', c=3)
# 答案:
'''
args= (1, 2, 3, 4)
kwargs= {}
-----------------
args= ()
kwargs= {'a': 1, 'b': 2, 'c': 3}
-----------------
args= (1, 2, 3, 4)
kwargs= {'a': 1, 'b': 2, 'c': 3}
-----------------
args= ('a', 1, None)
kwargs= {'a': 1, 'b': '2', 'c': 3}
'''
93、请写出log实现(主要功能时打印函数名)
@log
def now():
print("2019-07-25")
now()
# 输出
'''
call now()
2019-07-25
'''
94、Python 如何定义一个函数
A. class <name>(<Type> arg1, <type> arg2, ...)
B. function <name>(arg1,arg2,...)
C. def <name>(arg1, arg2,...)
D. def <name>(<type> arg1, <type> arg2...)
# 答案:
C
95、选择代码运行结果
country_counter = {}
def addone(country):
if country in country_counter:
country_counter[country] += 1
else:
country_counter[country] = 1
addone("Japan")
addone("china")
print len(country_counter)
'''
A. 0
B. 1
C. 2
D. 3
E. 4
'''
# 答案
C