01-19 91—95

______egon新书python全套来袭请看:https://egonlin.com/book.html

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
posted @ 2019-10-22 19:59  小猿取经-林海峰老师  阅读(961)  评论(1编辑  收藏  举报