目录

  • API说明:
  • 固定参数例程
  • 默认参数例程
  • 可选参数元组例程
  • 有默认值的可选参数r例程
  • 综合例程
  • 全文代码合集
  • 总结

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

函数封装是进阶的重要内容,本文介绍了def定义函数的可选参数,默认参数。

API说明:

def 函数名(q,w=10,*e,r=None):
固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r(需要下方函数体语句配合)

固定参数例程

单个参数x,输入什么,返回什么

def q(x):return x
y=q(8)
print(y)#8

默认参数例程

要求默认参数在非默认参数之后,也就是这里必须写成e(y,x=10) 而不是e(x=10,y)

def w(y,x=10):#e的默认参数x是10return x*10+y
z=w(10)
print(z)#110

可选参数元组例程

可选参数x,y 输入两个数,返回两个数之和,也可以只输入x,那么返回x+y
注意可选参数必须在参数列表的最后一个!

def e(x,*y):# return x+y#这里的y为什么要用sum函数呢?因为可选参数的格式模式是tuple,如果不用sum计算参数之和,会有类型不匹配相加的报错return x+sum(y)
z=e(8,10)
print(z)#18z=e(8,10,18)#可以随意输入多个不同的参数,默认按照参数先后顺序进入tuple,利用这点可以调用自己想要的参数
print(z)#36

有默认值的可选参数r例程

有默认值的可选参数
利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值30

def r(x, y=None):if y is None:y = 30return x+y
z=r(10,10)
print(z)#20

综合例程

综合应用上述的可选参数,默认参数,注意参数的位置前后顺序
固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

def qwer(q,w=10,*e,r=None):if r is None:r=40return q,w,e,r
z=qwer(10,20)#(10, 20, (), 40)
print(z)
z=qwer(10,20,30)#(10, 20, (30,), 40)
print(z)

全文代码合集

# @Time    : 2021/12/12 9:36
# @Author  : 南黎
# @FileName: 学习设置定义def函数的参数.py#单个参数x,输入什么,返回什么
def q(x):return x
y=q(8)
print(y)#8#默认参数
#要求默认参数在非默认参数之后,也就是这里必须写成e(y,x=10) 而不是e(x=10,y)
def w(y,x=10):#e的默认参数x是10return x*10+y
z=w(10)
print(z)#110# 可选参数x,y 输入两个数,返回两个数之和,也可以只输入x,那么返回x+y
# 注意可选参数必须在参数列表的最后一个!
def e(x,*y):# return x+y#这里的y为什么要用sum函数呢?因为可选参数的格式模式是tuple,如果不用sum计算参数之和,会有类型不匹配相加的报错return x+sum(y)
z=e(8,10)
print(z)#18z=e(8,10,18)#可以随意输入多个不同的参数,默认按照参数先后顺序进入tuple,利用这点可以调用自己想要的参数
print(z)#36#有默认值的可选参数
#利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值30
def r(x, y=None):if y is None:y = 30return x+y
z=r(10,10)
print(z)#20#综合应用上述的可选参数,默认参数,注意参数的位置前后顺序
#固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r
def qwer(q,w=10,*e,r=None):if r is None:r=40return q,w,e,r
z=qwer(10,20)#(10, 20, (), 40)
print(z)
z=qwer(10,20,30)#(10, 20, (30,), 40)
print(z)

总结

大家喜欢的话,给个

【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)相关推荐

  1. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  2. 人人都能学会的python编程教程11:定义函数

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_ ...

  3. Python骚操作:动态定义函数

    在 Python 中,没有可以在运行时简化函数定义的语法糖.然而,这并不意味着它就不可能,或者是难以实现. from types import FunctionTypefoo_code = compi ...

  4. php写一个shell脚本文件格式,一篇文章学会——shell脚本编写

    用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...

  5. 一篇文章学会写作,自媒体人的必经之路

    自媒体离不开好内容. 能否持续性的创作出好内容是每一个自媒体人绕不过的坎. 今天从图文自媒体分享下写作. 写作应该是花80%的时间思考,花20%的时间把思考的内容写出来. 例如,我要写一篇知乎带货的文 ...

  6. 一篇文章学会springMVC

    更多精彩和干货和你分享 说在前面 本文只是入门 为什么用springMVC?springMVC有什么有缺点?springMVC和Struts有什么区别?等等这些问题可以参考网路上资源,本文的重点是快速 ...

  7. Linux复习资料——一篇文章学会sh脚本的编写

    目录 Shell脚本官方说明 shell 编程注意事项 你的第一个脚本程序: 是否内嵌命令 识别内嵌shell命令 运行[.sh]的三种方法 1.[./] 2.[作为解释器参数来运行shell脚本] ...

  8. 【Python黑科技】获取每日一句美句,并定时发送邮件到指定邮箱(保姆级图文+实现代码)

    目录 实现效果 实现思路 1.获取每日一句美句 2.定时发送需要接入时间模块 3.邮件发送 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列, ...

  9. 一篇文章学会Python函数重写,每天进步一个知识点

    函数重写(override) 前提:必须有继承性 原因: 父类中的功能(函数),子类需要用,但是父类中函数的函数体内容和我现在要执行的逻辑还不相符 那么可以将函数名保留(功能还是此功能),但是将函数体 ...

最新文章

  1. VS2019调试查看变量_PL/SQL调试存储过程?看这篇就够了
  2. html背景幻灯片图片,CSS3全屏背景图像幻灯片
  3. js返回上一页与前进下一页
  4. bufferedreader接收不到数据_PS4、Xbox手柄和Switch跨次元组队?全靠八位堂USB无线接收器...
  5. java socket tomcat_在Tomcat环境下使用socket通信
  6. PHP物业居民小区业主房产办公管理系统源码-支持多小区管理系统
  7. 并发编程(4)同步并发操作
  8. Android集成B站弹幕库Danmaku
  9. 内网穿透Natapp
  10. 一张图读懂中国互联网发展历程
  11. barebox启动分析(一)
  12. 嵌套iframe页面做打印去掉页眉页脚
  13. phpAdmin导入sql文件太大
  14. Unity之Failed to import package with error: Couldn‘t decompress package
  15. cython大白话基础教程
  16. button标签的type属性
  17. 赛卓电子冲刺科创板上市:计划募资11亿元,股东包括尚颀资本等
  18. Cannot find module ‘webpack‘ Require stack
  19. CAN总线为什么要有两个120Ω的终端电阻?
  20. CSP认证历年真题题解 (Python)

热门文章

  1. 一百以内质数的输出。(java)
  2. 怎么提高公文写作水平?公文写作报告类模板
  3. 【已解决】ExcelAPInet-Addln.xll的文件格式和扩展名不匹配,文件可能已损坏或不安全,除非您信任其来源,否则请勿打开。是否仍要打开?
  4. 学习管理系统能为企业混合式学习带来的种种好处
  5. 地理坐标系和投影坐标系之间的关系
  6. ABOV单片机内部WT时钟RTC的代码实现讲解及示例代码-[MC96F6332D]
  7. 使用MQTT连接华为云的物联网平台(二)
  8. Eclipse构建c++平台(转自网易学院)
  9. 用Session完成用户登录
  10. hmi实现c语言2次开发,实现HMI画面的切换三个步骤