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由于它的特别之处,所以在很多领域得到了广泛的应用,像 ...
随机推荐
- C++作用域 (二)
http://www.cnblogs.com/wolf-lifeng/p/3156936.html 2.3全局作用域 2.3.1概述 全局作用域是最大的名字空间作用域,不同于用户自定义的名字空间作用域 ...
- 【[SDOI2015]约数个数和】
慢慢化柿子吧 要求的是这个 \[\sum_{i=1}^N\sum_{j=1}^Md(ij)\] 神奇的约数个数函数有一个这样的性质 \[d(ij)=\sum_{x|i}\sum_{y|j}[(x,y) ...
- programming-languages学习笔记--第3部分
programming-languages学习笔记–第3部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...
- GPS-Graph Processing System Graph Coloring算法分析 (三)
HamaWhite 原创,转载请注明出处!欢迎大家增加Giraph 技术交流群: 228591158 Graph coloring is the problem of assignin ...
- 一款不错的网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...
- iOS 二维码生成 记录一下
#import <CoreImage/CoreImage.h> @property (nonatomic, nonnull , strong) UIImageView *showImage ...
- [AHOI2001]多项式乘法
\([Link](https://www.luogu.org/problemnew/show/P2553)\) \(\color{red}{\mathcal{Description}}\) 给出两个多 ...
- CGContextRef 用法总结
0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContext ...
- 404 Note Found 队-课堂实战-项目UML设计
目录 团队信息 分工选择 课上分工 课下分工 ToDolist alpha版本要做的事情 燃尽图 UML 用例图 状态图 活动图 类图 部署图 实例图 对象图 时序图 包图 通信图 贡献分评定 课上贡 ...
- SDN测量论文粗读(一)9.19
UMON: Flexible and Fine Grained Traffic Monitoring in Open vSwitch 论文来源:CoNext 发表时间:2015 解决问题及所做贡献:现 ...