day 6 返回值,参数
1.函数返回值
In [3]: def divid(a,b):
...: shang = a//b
...: yushu = a%b
...: return shang,yushu
...: In [4]: sh, yu = divid(5,2) #元组方式返回 (2,1) In [5]: sh
Out[5]: 2 In [6]: yu
Out[6]: 1
2.缺省参数和命名参数
缺省参数,使用默认的值,
只能放到最后
命名参数,必须使用形参的变量名a,b,c


3.不定长参数 args ,元组
#### 两天的营业额
def add(a,b):
result = a + b
print(result) add(11,22)
我想把每天的营业额加起来,但是有时开业5天,有时候开业7天
变量就是args 只不过加了标记*
元组:切记一个元素的写法(33,)
def add(a,b,*args):
print("------")
print(a)
print(b)
print(args)
#result = a + b
#print(result) add(11,22,55,66,77,88) #(55,66,77,88)
add(11,22,33) #(33,)
add(11,22) #()
add(11) #报错 形参b没有值

计算多个数的值
1)版本1:我的
def add(a,b,*args):
result = a + b
print(a,b,args)
for temp in args:
result = temp + result
print(result)
add(1,12,23,34,45,55,66,77,88,99)

2)版本2:老师的
def add(a,b,*args):
print("-"*30)
print(a)
print(a)
print(*args) result = a+b
for temp in args:
result += temp print("result=%d"%result) add(11,22)
add(11,22,33)
add(11,22,33,44,55,66)

4.不定长参数,kwargs, 命名参数的,字典
#最复杂的带参数的
def test(a,b,c=33,*args,**kwargs):
print(a) #必须传递的参数a,b
print(b)
print(c) #可选的 c
print(args) #*多余的没有名字的 args
print(kwargs) #**多余的有名字的 kwargs test(11,22,33,44,55,66,task=99,done=98)

5.拆包 * **
把元组拆成一个个,当成参数传递
把字典拆成一对对键值对,当成参数传递
###### 拆包之前
def test(a,b,c=33,*args,**kwargs):
print(a)
print(b)
print(c)
print(args)
print(kwargs) #test(11,22,33,44,55,66,task=99,done=98) A = (44,55,66)
B = {"name":"alex","age":18} test(11,22,33,A,B) #### 运行结果
11
22
33
((44, 55, 66), {'age': 18, 'name': 'alex'}) #A,B是传递的参数
{} #没有传入命名参数
#### 拆包之后
def test(a,b,c=33,*args,**kwargs):
print(a)
print(b)
print(c)
print(args)
print(kwargs) #test(11,22,33,44,55,66,task=99,done=98) A = (44,55,66)
B = {"name":"alex","age":18} test(11,22,33,*A,**B) #### 运行结果
11
22
33
(44, 55, 66)
{'age': 18, 'name': 'alex'}
day 6 返回值,参数的更多相关文章
- c++特性:指向类成员的指针和非类型类模板参数和函数指针返回值 参数推导机制和关联型别
一.c++允许定义指向类成员的指针,包括类函数成员指针和类数据成员指针 格式如下: class A { public: void func(){printf("This is a funct ...
- Python的函数, 返回值, 参数
1. 函数 函数是对功能的封装 语法: def 函数名(形参): 函数体(代码块,return) 调用: 函数名(实参) 2. 返回值 return:在函数执行的时候, 遇到return 就直接返回, ...
- day09 python函数 返回值 参数
day09 python 一.函数 1.函数 函数是对功能的封装 语法: 定义函数: def 函数名(形参): ...
- C++ Name Mangling 为什么不编码返回值参数
这篇文章主要是推荐下 http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html 这篇文章从编译器的角度看问题,比较深入. 回到题目,为 ...
- 04 python学习笔记-函数、函数参数和返回值(四)
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...
- .net 接收存储过程的返回值 。。。。
.net 接收存储过程的返回值 .... Posted on 2009-06-10 20:26 且行且思 阅读(...) 评论(...) 编辑 收藏 例如在向数据库添加新数据时,需要检测是否有重复 本 ...
- SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改
有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...
- Swift 定义函数 参数 返回值
定义多参数函数 - 用func声明函数 func name(parameters) -> return type { function body } func halfOpenRangeLen ...
- java方法强制传递引用参数(做为返回值),改变被传递参数值。
Java传递参数分为2种: 值类型,Java里面也叫简单类型,这种参数类型的传递的是它的副本拷贝: 引用类型,传递的是对象引用地址,如果在方法内改变该参数对象属性即是对原引用对象的改变:如果不想这样传 ...
- 基础才是重中之重~Emit动态构建方法(参数和返回值)
回到目录 对于Emit我们知道它的可以动态构建程序集,类型,方法,属性等,或者说只要手动使用C#创建的东西使用Emit也都可以动态创建它们,Emit由于它的特别之处,所以在很多领域得到了广泛的应用,像 ...
随机推荐
- 2594. [WC2006]水管局长数据加强版【LCT+最小生成树】
Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一 ...
- 【[HNOI2012]矿场搭建】
抄题解真开心 我真是越来越菜了 这是点双的板子题,于是求出所有点双,之后讨论 如果点双里之有一个割点,那么如果这个割点炸了,这个点双就出不去了,于是我们得在这个点双内部除了这个割点位置放一个 如果有两 ...
- HTML5本地存储——IndexedDB
在HTML5本地存储——Web SQL Database提到过Web SQL Database实际上已经被废弃,而HTML5的支持的本地存储实际上变成了 Web Storage(Local Stora ...
- indexzero/http-server-1-简介
ethereumjs-vm的例子有用到这个 看完ethereumjs-vm,再看他ethereumjs/browser-builds,然后最后看他http-server,然后就能了解ethereumj ...
- Linux文件目录命令
Linux文件目录命令 pwd,查看当前工作目录的完整路径 pwd:/root ls,用来打印当前目录的清单,可以指定其他目录 -a:列出目录下所有的文件,包括以"."开头的隐藏文 ...
- PAT——1033. 旧键盘打字
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键.以及应该输入的文 ...
- 通过nat让内网机器上网
让内网机器访问不通机房的机器,架构如下 (172.16.10.5) ----- (172.17.9.109 可以出外网,开启路由转发) ------- (内网 192.168.36.19 能pi ...
- 解决dpdk中出现IOMMU not found的问题
问题 在使用VFIO前,需要在BIOS打开VT-x和VT-d,想把一个PCIe网卡透传到虚拟机中,发现虚拟机启动失败,提示IOMMU没有找到. 输入以下命令确定vt-d开启 dmesg | grep ...
- 使用JedisCluster出现异常:java.lang.NumberFormatException
在使用JedisCluster进行测试时出现如下异常: java.lang.NumberFormatException: For input string: "7004@17004" ...
- (Les16 执行数据库恢复)-重做日志文件恢复
丢失重做日志文件 丢失了重做日志文件组中的某个成员,并且组中至少还有一个成员: -不会影响实例的正常操作. -预警日志中会收到一条信息, ...