2、写函数,接收n个数字,求这些参数数字的和。(动态传参)
def func(*args): sum = 0 for i in args: sum+=i return sum print(func(1,2,3,4,5))
3、读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10 b=20 def test5(a,b): print(a,b) #20,10 c = test5(b,a) print(c) #none
20 10 none
4、读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a = 10 b = 20 def test5(a, b): a = 3 b = 5 print(a, b) c = test5(b, a) print(c) #3,5,none
相关面试题(先从纸上写好答案,然后在运行):
1,有函数定义如下:
def calc(a,b,c,d=1,e=2):
return (a+b)*(c-d)+e
请分别写出下列标号代码的输出结果,如果出错请写出Error。
print(calc(1,2,3,4,5))_____2
print(calc(1,2))____error
print(calc(e=4,c=5,a=2,b=3))___24
print(calc(1,2,3))_____8
print(calc(1,2,3,e=4))____10
print(calc(1,2,3,d=5,4))_____error
2,下面代码打印的结果分别是_________,________,________.
def extendList(val,list=[]):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print('list1=%s'%list1)
print('list2=%s'%list2)
print('list3=%s'%list3)
# 默认参数是可变类型数据时,使用的是同一个列表 def extendList(val,list=[]): list.append(val) return list list1 = extendList(10) list2 = extendList(123,[]) list3 = extendList('a') list4 = extendList('11') print('list1=%s'%list1) print('list2=%s'%list2) print('list3=%s'%list3) print('list4=%s'%list4)
list1=[10, 'a', '11']
list2=[123]
list3=[10, 'a', '11']
list4=[10, 'a', '11']
# 第二种面试题 def extendList(val,list=[]): list.append(val) return list list1 = extendList(10) print('list1=%s'%list1) list2 = extendList(123,[]) print('list2=%s'%list2) list3 = extendList('a') print('list3=%s'%list3)
list1=[10]
list2=[123]
list3=[10, 'a']
1,形参的接收顺序。
2,什么是命名空间,什么是全局名称空间,什么是局部名 称空间,什么是内置名称空间。
3,什么是全局作用域,什么是局部作用域。
4,名称空间的加载顺序,取值顺序。
5,解释一下什么是global,什么是nonlocal。