当前位置: 首页 > news >正文

python形参和实参的含义_Python3函数的形参如何接收实参?

一:函数的缺省参数(在实际调用中,实参的个数可以少于形参个数)

1、语法:

def 函数名(形参名1=默认实参1,形参名2=默认实参2……)

示例:

def info(name, age=1.address=’未填写’):

print(name,’今年’, age, ‘岁, 家庭地址是:’ address)

info(‘tarena’, 15, ‘北京市朝阳区’)

info(‘小李’, 20)

说明:

缺省参数必须自右至左依次存在,如果一个参数有缺省参数,则基右侧的所有参数必须有缺省参数。

缺省参数可以有0个或多个,甚至全部都有缺省参数。

练习:

写一个函数 mysum(),可以传入两个实参或三个实参,如果传入两个实参,则返回两个实参和,如果传入三个实参,则返回前两个实参的和对第三个实参求余的结果。

二:函数的形参定义方式

1、位置形参

语法:

def 函数名(形参1,形参2,……)

语句块

2、星号元组形参:

语法:

def 函数名(*元组形参名):

语句块

作用:

收集多余的位置传参

说明:

元组形参名通常用:’args’

练习:

在系统中随意输入一个数字,求出该数字的和,并打印输出。

3、 命名关键字形参

语法:

def 函数名(*, 命名关键字形参):

语句

def 函数名(*args, 命名关键字形参):

语句

作用:

所有的参数都必须用关键字传参或字典关键字传参传递

示例:

4、 双星号字典形参:

语法:

def 函数名(**字典形参名):

语句

作用:

收集多余的关键字传参

说明:

通常字典形参名定为’’kwargs’’

综合:

函数参数自左至右的顺序为:位置形参,星号元组形参,命名关键字形参和双星号字典形参,函数参数可以混合使用。

三:函数的不定长参数:

1、语法:

def fn(*args, **kwargs)

pass

说明:

可以接收任意的位置传参和关键字传参(想怎么传就怎么传)

练习:

写一个myrange函数,此函数返回一个符合range规则的整数列表。

如:

L = myrange(3)

Print(L)

L = myrange(3, 6)

Print(L)

说明:首先把终止值设置为None,步长为1,判断是否没有输入终止值,如果没有输入,终止值就等于开始值,初始化开始值为0,定个一个空的列表,然后绑定一个开始值,当开始值小于终止值时,把i添加到列表中,然后输出下一个i的值(i +=i + step),最后把数据传到列表里,代码如下图:

总结:

形参的定义方式一共有4种,可混合搭配使用。大家下去以后一定要多动动笔。如喜欢小编的干货,请互评、关注、加粉!后面还有更多的精彩内容等着你哦!

相关文章:

  • 在python将字符串中的空格转换为下划线_如何将下划线替换为空格,反之亦然?...
  • python图像锐化_opencv实现图片模糊和锐化操作
  • python中configparser函数_python基础14 ---函数模块4(configparser模块)
  • python接口自动化测试报告_python接口自动化(二十七)--html 测试报告——上(详解)...
  • python中的常量和变量_python中的常量和变量代码详解
  • 常用公差配合表图_《公差配合与测量技术》小结
  • pythonassert关键字_Python assert实现软件测试
  • php 设置会员到期_支付宝推出“轻会员”,先享受优惠再交会员费
  • 很装b那种cmd命令_CMD命令混淆分析
  • 宏定义判定x是否为整数_整数与整数都还差不多从“高斯整数”到“代数整数”...
  • python 邻接矩阵_用Python做社会网络分析(1):简介
  • python投掷骰子实验报告_用Python来掷个色子玩~
  • qt 录屏 显示鼠标_Qt官方示例系统托盘
  • redis两台机器集群_redis4.0 cluster集群安装方法
  • python request请求参数_python+requests——简单发送请求——以及包括参数的请求
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • AngularJS指令开发(1)——参数详解
  • CentOS7 安装JDK
  • centos安装java运行环境jdk+tomcat
  • ES6系统学习----从Apollo Client看解构赋值
  • Git学习与使用心得(1)—— 初始化
  • HTTP中的ETag在移动客户端的应用
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Js基础——数据类型之Null和Undefined
  • laravel5.5 视图共享数据
  • rc-form之最单纯情况
  • Redis在Web项目中的应用与实践
  • SpriteKit 技巧之添加背景图片
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊一聊前端的监控
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 探索 JS 中的模块化
  • 推荐一个React的管理后台框架
  • 小程序button引导用户授权
  • 运行时添加log4j2的appender
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 【干货分享】dos命令大全
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C#)获取字符编码的类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (ibm)Java 语言的 XPath API
  • (PySpark)RDD实验实战——求商品销量排行
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (转) RFS+AutoItLibrary测试web对话框
  • ./configure,make,make install的作用
  • .bat批处理(六):替换字符串中匹配的子串
  • .Net 4.0并行库实用性演练
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net/c# memcached 获取所有缓存键(keys)