-
写函数,函数可以支持接收任意数字(位置传参)并将所有数据相加并返回。
答案
def func(*args): count = 0 for i in args: count += i return count print(func(1,2,3,4)) # 输出结果 10
-
看代码写结果
def func(): return 1,2,3 val = func() print( type(val) == tuple ) print( type(val) == list )
答案
True Flase # 知识点,ruturn后面接多个值返回的是一个元组
-
看代码写结果
def func(*args,**kwargs): pass # a. 请将执行函数,并实现让args的值为 (1,2,3,4) # b. 请将执行函数,并实现让args的值为 ([1,2,3,4],[11,22,33]) # c. 请将执行函数,并实现让args的值为 ([11,22],33) 且 kwargs的值为{'k1':'v1','k2':'v2'} # d. 如执行 func(*{'武沛齐','金鑫','女神'}),请问 args和kwargs的值分别是? # e. 如执行 func({'武沛齐','金鑫','女神'},[11,22,33]),请问 args和kwargs的值分别是? # f. 如执行 func('武沛齐','金鑫','女神',[11,22,33],**{'k1':'栈'}),请问 args和kwargs的值分别是?
答案
a. def func(*args,**kwargs): return args print(func(1,2,3,4)) # 结果 (1, 2, 3, 4) b. def func(*args,**kwargs): return args ret = func([1,2,3,4],[11,22,33]) print(ret) # 结果 ([1, 2, 3, 4], [11, 22, 33]) c. def func(*args,**kwargs): return args,kwargs ret = func([11,22],33,k1='v1',k2='v2') print(ret) # 结果 (([11, 22], 33), {'k1': 'v1', 'k2': 'v2'}) d. args:('武沛齐','金鑫','女神') kwargs:{} # **kwargs什么都没有接收到 e. args: ({'女神', '金鑫', '武沛齐'}, [11, 22, 33]) kwargs: {} f. args:('武沛齐','金鑫','女神',[11,22,33]) kwargs:{'k1':'栈'}
-
看代码写结果
def func(name,age=19,email='123@qq.com'): pass # a. 执行 func('alex') ,判断是否可执行,如可以请问 name、age、email 的值分别是? # b. 执行 func('alex',20) ,判断是否可执行,如可以请问 name、age、email 的值分别是? # c. 执行 func('alex',20,30) ,判断是否可执行,如可以请问 name、age、email 的值分别是? # d. 执行 func('alex',email='x@qq.com') ,判断是否可执行,如可以请问 name、age、email 的值分别是? # e. 执行 func('alex',email='x@qq.com',age=99) ,判断是否可执行,如可以请问 name、age、email 的值分别是? # f. 执行 func(name='alex',99) ,判断是否可执行,如可以请问 name、age、email 的值分别是? # g. 执行 func(name='alex',99,'111@qq.com') ,判断是否可执行,如可以请问 name、age、email 的值分别是?
答案
a. 可以执行 alex 19 123@qq.com b. 可以执行 alex 20 123@qq.com c. 可以执行 alex 20 30 d. 可以执行 alex 19 x@qq.com e. 可以执行 alex 99 x@qq.com f. 不能执行 关键字参数要在位置参数的后边 g. 不能执行 关键字参数要在位置参数的后边
-
看代码写结果
def func(users,name): users.append(name) return users result = func(['武沛齐','李杰'],'alex') print(result)
答案
(['武沛齐','李杰','alex'])
-
看代码写结果 #此题有坑
def func(v1): return v1* 2 def bar(arg): return "%s 是什么玩意?" %(arg,) val = func('你') data = bar(val) print(data)
答案
-
看代码写结果
def func(v1): return v1* 2 def bar(arg): msg = "%s 是什么玩意?" %(arg,) print(msg) # 没有return返回为None val = func('你') data = bar(val) print(data)
答案
你你 是什么玩意? None
-
看代码写结果
v1 = '武沛齐' def func(): print(v1) func() v1 = '老男人' func()
答案
武沛齐 老男人
-
看代码写结果
v1 = '武沛齐' def func(): v1 = '景女神' def inner(): print(v1) v1 = '肖大侠' inner() func() v1 = '老男人' func()
答案
肖大侠 肖大侠
-
看代码写结果【可选】
def func(): data = 2*2 return data new_name = func val = new_name() print(val) # 注意:函数类似于变量,func代指一块代码的内存地址。
答案
4
-
看代码写结果【可选】
def func(): data = 2*2 return data data_list = [func,func,func] for item in data_list: v = item() print(v) # 注意:函数类似于变量,func代指一块代码的内存地址。
答案
4 4 4
-
看代码写结果(函数可以做参数进行传递)【可选】# 此题有异议
def func(arg): arg() def show(): print('show函数') func(show)
答案
show函数
-
写函数,接收n个数字,求这些参数数字的和。(动态传参)
答案
def func(*args) count = 0 for i in args: count += i return count func(1,2,3,4,5,6) # 结果 21
-
读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10
b=20
def test5(a,b):
print(a,b)
c = test5(b,a)
print(c)
答案
a:20
b:10
c:None
- 读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10
b=20
def test5(a,b):
a=3
b=5
print(a,b)
c = test5(b,a)
print(c)
答案
a:3
b:5
c:None
- 传入函数中多个列表和字典,如何将每个列表的每个元素依次添加到函数的动态参数args里面?如何将每个字典的所有键值对依次添加到kwargs里面?
答案
def func(*args,**kwargs)
return args
ret = func(*[1,2,3,4],*['a','b','c'],**{'name':'alex','age':98})
print(ret)
- 写函数,接收两个数字参数,将较小的数字返回.
答案
def func(x,y):
return x if x > y else y
print(func(1,2))
# 结果
2
- 写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’
答案
19.有如下函数:
def wrapper():
def inner():
print(666)
wrapper()
你可以任意添加代码,执行inner函数.
答案
def wrapper():
def inner():
print(666)
inner()
wrapper(inner)
- 相关面试题:
写出下列代码结果:
def foo(a,b,*args,c,sex=None,**kwargs):
print(a,b)
print(c)
print(sex)
print(args)
print(kwargs)
# foo(1,2,3,4,c=6)
# foo(1,2,sex='男',name='alex',hobby='old_woman')
# foo(1,2,3,4,name='alex',sex='男')
# foo(1,2,c=18)
# foo(2, 3, [1, 2, 3],c=13,hobby='喝茶')
# foo(*[1, 2, 3, 4],**{'name':'太白','c':12,'sex':'女'})
答案
1 2
6
(3,4)
None
{}
报错
报错