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 返回值,参数的更多相关文章

  1. c++特性:指向类成员的指针和非类型类模板参数和函数指针返回值 参数推导机制和关联型别

    一.c++允许定义指向类成员的指针,包括类函数成员指针和类数据成员指针 格式如下: class A { public: void func(){printf("This is a funct ...

  2. Python的函数, 返回值, 参数

    1. 函数 函数是对功能的封装 语法: def 函数名(形参): 函数体(代码块,return) 调用: 函数名(实参) 2. 返回值 return:在函数执行的时候, 遇到return 就直接返回, ...

  3. day09 python函数 返回值 参数

    day09 python   一.函数     1.函数         函数是对功能的封装         语法:         定义函数:             def 函数名(形参):    ...

  4. C++ Name Mangling 为什么不编码返回值参数

    这篇文章主要是推荐下 http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html 这篇文章从编译器的角度看问题,比较深入. 回到题目,为 ...

  5. 04 python学习笔记-函数、函数参数和返回值(四)

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...

  6. .net 接收存储过程的返回值 。。。。

    .net 接收存储过程的返回值 .... Posted on 2009-06-10 20:26 且行且思 阅读(...) 评论(...) 编辑 收藏 例如在向数据库添加新数据时,需要检测是否有重复 本 ...

  7. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  8. Swift 定义函数 参数 返回值

    定义多参数函数 - 用func声明函数  func name(parameters) -> return type { function body } func halfOpenRangeLen ...

  9. java方法强制传递引用参数(做为返回值),改变被传递参数值。

    Java传递参数分为2种: 值类型,Java里面也叫简单类型,这种参数类型的传递的是它的副本拷贝: 引用类型,传递的是对象引用地址,如果在方法内改变该参数对象属性即是对原引用对象的改变:如果不想这样传 ...

  10. 基础才是重中之重~Emit动态构建方法(参数和返回值)

    回到目录 对于Emit我们知道它的可以动态构建程序集,类型,方法,属性等,或者说只要手动使用C#创建的东西使用Emit也都可以动态创建它们,Emit由于它的特别之处,所以在很多领域得到了广泛的应用,像 ...

随机推荐

  1. HTTP之Response状态码

    Status-Code - 1xx: Informational - Request received, continuing process - 2xx: Success - The action ...

  2. KMP算法模板&&扩展

    很不错的学习链接:https://blog.csdn.net/v_july_v/article/details/7041827 具体思路就看上面的链接就行了,这里只放几个常用的模板 问题描述: 给出字 ...

  3. Vuex、Flux、Redux、Redux-saga、Dva、MobX

    https://www.jqhtml.com/23003.html 这篇文章试着聊明白这一堆看起来挺复杂的东西.在聊之前,大家要始终记得一句话:一切前端概念,都是纸老虎. 不管是Vue,还是 Reac ...

  4. bzoj 3339 Rmq Problem / mex

    题目 我的树状数组怎么那么慢啊 就是一道水题,我们考虑一下对于一个区间\([l,r]\)什么样的数能被计算 显然需要对于一个\(j\),需要满足\(j<l\)且\(nxt_{j}>r\), ...

  5. 【[POI2014]HOT-Hotels】

    魏佬怒嘲我只会做给定一棵树,输出有多少个点这种问题 不过我连这个也不会做 还算一道不错的树上数数题目 但是我一直不会数数 求树上所有的三元组\((u,v,t)\),满足\(dis(u,v)=dis(u ...

  6. ArcFac_C#_DEMO开发

    手上有一个项目,需要检验使用本程序的,是否本人!因为在程序使用前,我们都已经做过头像现场采集,所以源头呢是不成问题的,那么人脸检测,人脸比对,怎么办呢?度娘了下,目前流行的几个人脸检测,人脸比对核心, ...

  7. 新闻cms管理系统功能介绍

    一. 后台登录功能 1.后台登录 2.数据校验 3. dialog插件 4.layer插件 5. 退出登录(利用session失效) 二. 菜单管理 1.后台入口文件优化 2.公共文件引入 3.菜单的 ...

  8. Oracle 11G 隐含参数“_controlfile_autobackup_delay”

    RMAN设置控制文件自动备份,当发生数据库备份时,或建表空间,删除log文件等物理结构发生改变时,oracle会自动备份控制文件. Oracle 10g会立刻备份,Oracle 11g会有几分钟的延迟 ...

  9. Mybatis 配置文件

    1.核心配置文件 sqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOC ...

  10. 浅淡 RxJS WebSocket

    const open$ = new Subject(); const ws = webSocket({ url: 'wss://echo.websocket.org', openObserver: o ...