3.29 homework

本文深入探讨了Python中的函数定义、动态传参、默认参数的使用及其陷阱,并解析了不同场景下变量的作用域和取值顺序,帮助读者理解全局与局部作用域的区别。

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。

转载于:https://www.cnblogs.com/kateli/p/8674301.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值