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

本文主要是介绍【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 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)

总结

大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2021 mzh

Crated:2021-12-12

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】


这篇关于【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009707

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss