python3 函数的参数
函数的参数
形参(函数定义时) + 实参(函数调用时)
形参:形式参数 在函数的定义处定义的参数,比如def func(参数1, 参数2, 参数3...)
普通参数(位置参数), 默认参数,普通收集参数(*args), 关键字收集参数(*kwargs), 命名关键字参数
实参:实际参数 在函数调用处定义的参数,比如 func(参数1, 参数2, 参数3...)
普通参数(位置参数),关键字参数
函数定义处
def func(参数1, 参数2, 参数3...):
pass
函数调用处
func(参数1, 参数2, 参数3...)
#普通形参(位置形参)
#函数定义处:普通形参(位置形参)
def func(n,m):
print("%d x %d = %d"%(n, m , n*m))
#函数调用处:普通实参(位置实参)
func(2,3) #2 x 3 = 6
#默认形参
#函数定义处:默认形参
def func(n=2,m=3):
print("%d x %d = %d"%(n, m , n*m))
#函数调用处:普通实参(位置实参)
func() #2 x 3 = 6 #使用默认参数
func(4,5) #4 x 5 = 20 #自定义参数
#普通收集形参(*args)
# 函数定义处:普通收集形参,通用写法:*args
def func(*args):
print(args) #(1, 2, 3, 4, 5) 输出的是一个元组
total = 0
pro = []
for i in args:
total += i
pro.append(str(i))
print('+'.join(pro)+'='+str(total)) ##1+2+3+4+5=15
#函数调用处:普通实参(位置实参)
func(1, 2, 3, 4, 5)
#关键字收集形参(**kwargs)
# 函数定义处:关键字收集形参,通用写法:**kwargs
def func(**kwargs):
print(kwargs) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} 输出的是一个字典
total = 0
pro = []
for v in kwargs.values():
total += int(v)
pro.append(str(v))
print('+'.join(pro)+'='+str(total)) ##1+2+3+4+5=15
#函数调用处:关键字实参
func(a = 1, b = 2, c = 3, d = 4, e = 5)
#命名关键字形参
#(1)
# 函数定义处:命名关键字形参,通用写法:在*后边的形参,在进行函数调用时都需要通过关键字实参传入。
def func(a, b, * , c, d):
print("%d+%d+%d+%d=%d"%(a, b, c, d,a+b+c+d)) #函数调用处:c 和 d 需要使用关键字实参传入
func(1, 2, c = 3, d = 4) #1+2+3+4=10 #(2)
# 函数定义处:命名关键字形参,通用写法:在普通收集参数(*args)和关键字收集参数(**kwargs)中间的参数,在进行函数调用时都需要通过关键字实参传入。
def func(*args, a, b, **kwargs):
print(args, a, b, kwargs) # 函数调用处:a 和 b 需要使用关键字实参传入
func(1, 2, a=3, b=4, c=5, d=6) #(1, 2) 3 4 {'c': 5, 'd': 6}
python3 函数的参数的更多相关文章
- 第六天python3 函数、参数及参数解构(一)
函数 作用:结构话编程对代码的最基本的封装,一般按照功能组织一段代码,封装的目的是为了复用,减少冗余代码,代码更加简洁.美观,可读易懂: 分类: 内建函数,如max() reversed()等 库函数 ...
- python3函数的参数
函数的定义能简化代码的逻辑,对于函数的调用者来说,只需要知道如何正确的传递参数,以及知道函数将返回什么值就可以了,而函数内部的复杂逻辑被封装起来,调用者不必了解. 位置参数 调用函数时,传入实参的值按 ...
- 第七天python3 函数、参数及参数解构(二)
函数参数 参数规则: 参数列表参数一般顺序是:普通参数<--缺省参数<--可变位置参数<--keyword-only参数(可带缺省值)<--可变关键字参数 def fn(x,y ...
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
##廖雪峰py3笔记 ## '//'这是获得相除后的整数部分 ##a = 10//3 ##print (a) ## '/'获得相除后的结果,为浮点数,结果能整除也也是浮点数 ##b = 10/3 ## ...
- python3中匿名函数做参数,匿名函数做实参,eval关键字
一:说到匿名函数,大家都感到陌生又熟悉,今天我带大家了解一下py3中的匿名函数,以及匿名函数作为函数的参数的情况 主要通过以下实例来说明: 实例一: newarr =[33,44444,6222,88 ...
- python3 使用装饰器,及函数作为参数
#装饰import typesdef shucai(n): print('蔬菜价格7') if type(n)==types.FunctionType: return n()+7 return n+7 ...
- python3函数
一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...
- Python进阶-函数默认参数
Python进阶-函数默认参数 写在前面 如非特别说明,下文均基于Python3 一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 ...
- Python3 函数 一
什么是函数? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal ...
随机推荐
- WSGI 配置禁止反向DNS查找
原文链接:https://opendev.org/starlingx/ha/src/commit/045a37c672a92f1412629a176f51183c88882e61/service-mg ...
- 如何使用SPSSAU计算耦合协调度?
什么是耦合协调度模型 耦合协调度模型用于分析事物的协调发展水平.耦合度指两个或两个以上系统之间的相互作用影响,实现协调发展的动态关联关系,可以反映系统之间的相互依赖相互制约程度.协调度指耦合相互作用关 ...
- Java动态代理(三)——Cglib动态代理
一.Cglib动态代理Cglib是一个优秀的动态代理框架,它的底层使用ASM在内存中动态的生成被代理类的子类,使用Cglib即使代理类没有实现任何接口也可以实现动态代理功能.而且,它的运行速度要远远快 ...
- [FJOI2020]染色图的联通性问题 题解
FJOI2020 D1T2 题目大意 给出一个由 $n$ 个点 $m$ 条边构成的染色无向图,求删去每一个点及与其相连的边后图中不连通的同色点对数量.$n,m\leq 10^5$. 思路分析 可以想到 ...
- 读取手机中的联系人信息(android.provider.ContactsContract)
本篇开始讲如何从Android中得到本机联系人的信息.由于Android较快的版本升级,部分API已经发生了变化.本篇探究的通过ContentProvider机制获取联系人的API从Android2. ...
- CSP 202006-1 线性分类器python实现
思路 这题问题是对于这一群点和一条直线,我们也不知道直线上方的是A类还是直线下方的是A类.其实对于这个二分类问题,我们也没必要知道.我们只需要判断直线每一测的点是不是一类(A类或B类)就可以了. 至于 ...
- codeforces 1262D Optimal Subsequences 主席树询问第k小
题意 给定长度为\(n\)的序列\(a\),以及m个询问\(<k,pos>\),每次询问满足下列条件的子序列中第\(pos\)位的值为多少. 子序列长度为\(k\) 序列和是所有长度为\( ...
- SQL连接(内连接、外连接、交叉连接)
SQL连接(内连接.外连接.交叉连接) 假设现在有两个表:table1 , table2 table1: table2 : id ...
- vue 页面首次加载缓慢原因及解决方案
第一次打包vue的项目部署到服务器,发现首次加载特别的缓慢要几十秒才加载出来,完全没有在本地开发环境上那么流畅. 主要原因是页面在打包后没有进行相关的配置导致资源文件特别大,一次想要全部加载完成回特别 ...
- 洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP
洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他. 玩具上有一个数列,数列中某些项的值可能会 ...