铁乐学python_day10_作业
2018-04-02 23:07
155 查看
1、继续整理函数相关知识点,写博客。 2、写函数,接收n个数字,求这些参数数字的和。(动态传参) def sum_n(*args): sum = 0 for i in args: sum += i return sum # 验证: print(sum_n(5,6,8,9,45)) 73 3、读代码,回答:代码中,打印出来的值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。在执行test5函数时,转输进去的位置参数是b,a,也就是20对应test5(a,b)中的a,10对应b,所以打印20和10,而test5():函数没有设置return返回值,所以返回的是None,c被赋值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。函数体中重新对a和b赋值了。 相关面试题(先从纸上写好答案,然后在运行): 1、有函数定义如下: def calc(a,b,c,d=1,e=2): return (a+b)*(c-d)+e 请分别写出下列标号代码的输出结果,如果出错请写出Error。 print(calc(1,2,3,4,5))_____ print(calc(1,2))____print(calc(e=4,c=5,a=2,b=3))___ print(calc(1,2,3))_____ print(calc(1,2,3,e=4))____print(calc(1,2,3,d=5,4))_____ 答:2、Error、24、8、10、Error 注意最后一题会报错 SyntaxError: positional argument follows keyword argument 因为它的关键字传参没有排列在位置参数的后面,(后面接了一个4) 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) 结果是 list1=[10, 'a'] list2=[123] list3=[10, 'a'] 意想不到,后来模拟了一下过程想明白了,list列表是属于可变类型,直接就可以引用。
![](https://www.tielemao.com/wp-content/uploads/2018/04/list_func.jpg)
5、继续写昨天的作业。
默写:1、形参的接收顺序。
【位置参数,*args,默认参数,**kargs】
2、什么是命名空间,什么是全局名称空间,什么是局部名称空间,什么是内置名称空间。
答:用来存放变量与值对应关系的内存空间叫做命名空间,存放全局变量的叫全局名称空间,函数执行时开辟的临时命名空间叫局部名称空间,存储python所有内置函数的变量与值的命名空间叫内置名称空间。
3、什么是全局作用域,什么是局部作用域。
4、名称空间的加载顺序,取值顺序。
5、解释一下什么是global,什么是nonlocal。
相关文章推荐
- day10————python作业socket
- 铁乐学python_day09_作业
- 铁乐学Python_day12_作业
- Python作业-选课系统
- 零基础学习Python 作业 第18章
- python作业
- 马哥linux+python——2015年9月1日课程作业
- 【python】第四次课作业
- 第1章 Python基础-Python介绍&循环语句 练习题&作业
- [python作业] [第四周]
- python学习日志--day10
- Python学习day2作业总结
- Python小作业一(用户登录交互界面)
- 《高级编程技术》作业[1]——python实现程序构想
- python作业1
- Python第六天课后作业
- 零基础学习Python 作业 第25章
- python作业之购物车
- Python小作业二(购买物品)
- 马哥2016全新Linux+Python高端运维班第一周作业