铁乐学python_day10_作业
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列表是属于可变类型,直接就可以引用。

5、继续写昨天的作业。
默写:1、形参的接收顺序。
【位置参数,*args,默认参数,**kargs】
2、什么是命名空间,什么是全局名称空间,什么是局部名称空间,什么是内置名称空间。
答:用来存放变量与值对应关系的内存空间叫做命名空间,存放全局变量的叫全局名称空间,函数执行时开辟的临时命名空间叫局部名称空间,存储python所有内置函数的变量与值的命名空间叫内置名称空间。
3、什么是全局作用域,什么是局部作用域。
4、名称空间的加载顺序,取值顺序。
5、解释一下什么是global,什么是nonlocal。
铁乐学python_day10_作业的更多相关文章
- 铁乐学Python_day12_作业
1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组 例如:[('红心',2),('草花',2), -('黑桃','A')] def poker(): suit = ['红心', '梅花', ...
- 铁乐学python_day09_作业
练习题 1.整理函数相关知识点,写博客 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素, 并将其作为新列表返回给调用者. def odd_index(l): lis = [] for ...
- 铁乐学Python_day10_函数2
今天书接昨天的函数继续去学习了解: 昨天说到函数的动态参数. 1.函数的[动态参数] *args 动态参数,万能参数 args接受的就是实参对应的所有剩余的位置参数,并将其放在元组( )中. def ...
- 铁乐学Python_day08作业
1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数. apple 10 3 tesla 100000 1 mac 3000 2 lenovo 30000 3 chicken 10 3 通过 ...
- 铁乐学python_Day44_IO多路复用
目录 IO模型介绍 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO(Asynchronous I/O) IO ...
- 铁乐学python_Day43_协程
铁乐学python_Day43_协程 引子 之前我们学习了线程.进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位. 按道理来说我们已经算是把cpu的利用率提高很多了. ...
- 铁乐学python_Day42_线程池
铁乐学python_Day42_线程池 concurrent.futures 异步调用模块 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor: ...
- 铁乐学python_Day42_线程-信号量事件条件
铁乐学python_Day42_线程-信号量事件条件 线程中的信号量 同进程的一样,Semaphore管理一个内置的计数器, 每当调用acquire()时内置计数器-1:调用release() 时内置 ...
- 铁乐学python_Day42_锁和队列
铁乐学python_Day42_锁和队列 例:多个线程抢占资源的情况 from threading import Thread import time def work(): global n tem ...
随机推荐
- docker-compose.yml样例(mysql主从+mycat读写分离)
Docker-compose.yml文件示例 1.mysql主从复制的docker-compose.yml文件 # cat docker-compose.yml version: '2' # 这个ve ...
- Spark Shell简单使用
基础 Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API.它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python.在Spark目 ...
- 安装sublime text2 for ubuntu
Add our Sublime Text 2 Ubuntu PPA using the following commands: sudo add-apt-repository ppa:webu ...
- Mac配置多个版本JDK
2016年mac上已经安装有jdk1.6的版本 目录在/Library/Java/JavaVirtualMachines/1.6.0.jdk 有时候mac版本跟新会自动删除jdk1.6 所以要去ma ...
- HTTP协议以及HTTP请求中8种请求方法
HTTP协议以及HTTP请求中8种请求方法 什么是协议? 协议,是指通信的双方,在通信流程或内容格式上,共同遵守的标准. 什么是http协议? http协议,是互联网中最常见的网络通信标准. http ...
- 添加Access-Control-Allow-Origin主机头, 授权资源跨站访问
时间 2014-09-24 22:02:48 All by Neil 原文 https://blog.byneil.com/添加access-control-allow-origin主机头-授权资 ...
- PHP 类与对象 全解析(三)
目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 13.魔术方法 定义:PHP把所有以__(两个下划线)开头的类方法当成魔术方法 __ ...
- github上老外做的jQuery虚拟键盘
jQuery官方比较迟滞的更新版本: http://plugins.jquery.com/keyboard/ 最新版本更新官方地址: https://github.com/Mottie/Keyboar ...
- nc63 树管理型单据的开发
<?xml version="1.0" encoding="gbk"?><beans xmlns="http://www.sprin ...
- java自学-运算符
上一篇介绍了java的变量和数据类型,要对数据处理,还需要用到java运算符,这里只总结下常用的,运算符主要分为以下几类:1 算数运算符 算数运算符包括: + 加法运算 - 减法运算 * 乘法运算 / ...