【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 panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre