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 ...
随机推荐
- Burp Suite 爆破high级别的DVWA
Step1:调整 DVWA 为 high 级别,然后点击进入 Brute Force . Step2:输入正确的账号,和一个假的密码,使用BP进行拦包. Step3:Ctrl+i 将拦到的包发送到 I ...
- linux 部署jar包开机自启
1.用xShell将jar包上传到linux上(jar包上传到 /root/java) 输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz ...
- Java成员变量和局部变量的区别
定义位置不同: 成员变量:类中方法外 分为类变量(static修饰).实例变量(没有使用static修饰) 局部变量:方法内.代码块内 默认值不同: 成员变量:有默认初始化值 局部变量:没有默认初始化 ...
- Mybatis入门(三)------日志系统
Mybatis日志系统 简介 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式: •SLF4J •Apache Commons Logging •Log4j 2 •Log4j • ...
- 团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)
目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...
- SLS案例中心
今日PV nginx日志查看今日的PV和昨日的对比,先通过count函数计算总的pv,再用compare函数得出今日的pv和昨日的同比. 通过单值图进行展示,显示值为20.381Mil,对比值为-2% ...
- 使用 Python破解大众点评字体加密(SVG反扒)
前言 大众点评拥有大量高质量评论信息.种草信息,同时也有非常严格的反扒机制. 今天我们一起使用 Python破解大众点评字体加密,获取极具商业价值的信息. 本文知识点: requests 的使用 xp ...
- 04.简单了解一下Redis企业级数据备份方案
一.企业级的持久化的配置策略 (1)每隔1分钟去检查如果超过10000个可以变更,则生成一个快照.RDB最多丢1分钟的数据. save 60 10000 (2)AOF一定要打开,fsync,every ...
- 力扣Leetcode 680. 验证回文字符串 Ⅱ
验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca ...
- amd、cmd、CommonJS以及ES6模块化
AMD.CMD.CommonJs.ES6的对比 他们都是用于在模块化定义中使用的,AMD.CMD.CommonJs是ES5中提供的模块化编程的方案,import/export是ES6中定义新增的 什么 ...