【Python系列】Python 方法变量参数详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 1. 位置参数(Positional Arguments)
    • 2. 关键字参数(Keyword Arguments)
    • 3. 默认参数(Default Arguments)
    • 4. 可变位置参数(Variable Positional Arguments)
    • 5. 可变关键字参数(Variable Keyword Arguments)
    • 6. 参数组合使用
    • 7. 参数解包(Argument Unpacking)
    • 8. 参数的注解(Parameter Annotations)
    • 9. `*`操作符
    • 10. `**`操作符
    • 11. 参数的命名空间
    • 12. 参数的作用域
    • 结论

在 Python 中,方法的参数是定义方法时定义的变量,它们用于接收调用方法时传递的数据。Python 提供了多种类型的参数,使得方法定义非常灵活,能够满足不同的编程需求。以下是 Python 中常见的几种方法参数类型及其详细说明。
在这里插入图片描述

1. 位置参数(Positional Arguments)

位置参数是最基本的参数类型,它要求在调用方法时按照参数定义的顺序传递相应的值。

def greet(name, message):print(f"Hello, {name}. {message}")
greet("Alice", "Nice to meet you!")

2. 关键字参数(Keyword Arguments)

关键字参数允许在调用方法时不必考虑参数的顺序,只需指定参数名即可。

def greet(message, name):print(f"Hello, {name}. {message}")
greet(name="Bob", message="How are you?")

3. 默认参数(Default Arguments)

默认参数允许为参数提供一个默认值。如果在调用方法时没有为该参数提供值,则使用默认值。

def greet(name, message="Hello"):print(f"{name}, {message}")
greet("Charlie")

4. 可变位置参数(Variable Positional Arguments)

可变位置参数允许传递任意数量的位置参数,这些参数被收集到一个元组中。

def sum_numbers(*numbers):total = 0for number in numbers:total += numberprint(f"The sum is: {total}")
sum_numbers(1, 2, 3, 4)

5. 可变关键字参数(Variable Keyword Arguments)

可变关键字参数允许传递任意数量的关键字参数,这些参数被收集到一个字典中。

def print_info(**info):for key, value in info.items():print(f"{key}: {value}")
print_info(name="Dave", age=25, job="Engineer")

6. 参数组合使用

Python 允许在同一个方法中组合使用不同类型的参数。

def func(a, b=2, *args, **kwargs):print(a, b, args, kwargs)
func(1, 3, 4, 5, name="Eve", job="Doctor")

7. 参数解包(Argument Unpacking)

参数解包允许在调用方法时,将序列中的元素解包为位置参数,将字典中的键值对解包为关键字参数。

args = [1, 2, 3]
kwargs = {'name': 'Frank', 'job': 'Artist'}
func(*args, **kwargs)

8. 参数的注解(Parameter Annotations)

Python 3 支持参数注解,允许为函数的参数指定类型。

def greet(name: str, message: str = "Hello") -> None:print(f"{name}, {message}")

9. *操作符

*操作符用于接收任意数量的位置参数,通常用于实现可变参数列表。

def max_of(*args):return max(args)
print(max_of(1, 2, 3, 4))

在这里插入图片描述

10. **操作符

**操作符用于接收任意数量的关键字参数,通常用于实现可变关键字参数列表。

def print_kwargs(**kwargs):for key, value in kwargs.items():print(f"{key}: {value}")
print_kwargs(name="Grace", age=30)

11. 参数的命名空间

在 Python 中,参数实际上位于它们自己的命名空间中。这意味着它们不会与全局或局部变量冲突。

12. 参数的作用域

参数的作用域仅限于函数内部,它们在函数调用时被创建,并在函数执行完毕后被销毁。

结论

Python 中的方法参数非常灵活,支持多种参数类型,使得函数的定义和使用非常灵活和强大。理解这些参数类型及其用法对于编写高效、可读性强的 Python 代码至关重要。通过合理地使用这些参数,可以创建出功能强大且易于维护的程序。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

白酒:茅台镇白酒的醇厚口感与细腻层次

茅台镇,中国白酒的璀璨明珠,以其与众不同的自然环境和杰出的酿造技艺,孕育出了无数上好白酒。云仓酒庄豪迈白酒作为茅台镇的杰出品牌,以其醇厚口感和细腻层次,赢得了无数消费者的喜爱。 茅台镇地处赤水河畔&#xff0c…

训练集和测试集的分布一致性分析

规律一致性分析的实际作用   在实际建模过程中,规律一致性分析是非常重要但又经常容易被忽视的一个环节。通过规律一致性分析,我们可以得出非常多的可用于后续指导后续建模的关键性意见。通常我们可以根据规律一致性分析得出以下基本结论: …

ai写作神器app有哪些?好用的智能写作APP推荐

ai写作神器app有哪些?AI写作神器app在现代写作领域正迅速崭露头角,它们不仅极大提升了创作效率,而且通过集成前沿的人工智能技术,为创作者们提供了前所未有的便利。这些app能够智能分析写作需求,快速生成高质量的内容&…

十五、【源码】动态Sql

源码地址:https://github.com/mybatis/mybatis-3/ 仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/15-dynamic-sql 动态Sql 解析动态Sql分为两部分 1.解析XML中Sql的时候,要将其解析成不同的SqlNode节点,但是不进行…

Jenkins的jdk和maven配置

目录 传送门前言一、概念二、JDK的配置三、Maven配置四、环境变量配置五、坑 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品&#xff09…

「51媒体」媒体发布会如何做媒体邀约

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体发布会的媒体邀约是一个需要精心策划和准备的过程。 策划与准备阶段: 明确目标:明确发布会的目标、核心议题、举办日期、时间和地点。 准备资料&#xff1a…

体验式营销+旅行文化:品牌海外推广的创新之路

在全球化的时代背景下,体验式营销作为一种新兴的营销方式,以其独特的参与性、互动性和情感共鸣,成为品牌与消费者建立深层次联系的有效手段。而将体验式营销与旅行文化相结合,能够为海外消费者提供独特的品牌体验。本文Nox聚星将和…

GD32单片机开发--点亮第一盏灯

知不足而奋进 望远山而前行 目录 系列文章目录 文章目录 前言 目标 内容 开发流程 需求分析 项目新建 代码编写 GPIO初始化 完整代码 程序编译 程序烧录 烧录扩展(熟悉) 官方烧录器烧录(熟悉) 总结 前言 在本次项…

C#操作MySQL从入门到精通(11)——对查询数据使用正则表达式过滤

前言 对于之前提到的使用匹配、比较、通配符等过滤方式能解决大部分的项目问题,但是有时候也会遇到一些比较复杂的过滤需求,这时候就需要正则表达式来实现了,正则表达式使用regexp这个关键字来实现。 本次测试的数据库表的内容如下: 1、基本字符匹配(包含某些字符) 匹…

嵌入式之存储基本知识

系列文章目录 嵌入式之存储基本知识 嵌入式之存储基本知识 系列文章目录一、RAM与ROM二、DRAM和SRAM三、SDRAM(DRAM的一种)四、DDR 一、RAM与ROM RAM(随机存取存储器)和ROM(只读存储器)是两种不同类型的计…

揭秘VVIC API:开启高效数据交互的密钥,你的项目就差这一步

VVIC API接口概述 VVIC API提供了对VVIC服务的数据访问和操作功能。通过此API,开发者可以集成VVIC服务到他们的应用程序中,实现数据同步、用户认证、资源管理等功能。 点击获取key和secret API端点示例 用户认证 方法:POSTURL:/…

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:无人机自主飞行软件平台

案例简介 北京泛化智能科技有限公司(gi)所主导开发的 Generalized Autonomy Aviation System (GAAS) 是为无人机以及城市空中交通 (UAM, Urban Air Mobility) 所设计的开源无人机自主飞行框架。通过 SLAM、路径规划和 Global Optimization Graph 等功能…

【Linux】(三)—— 文件管理和软件安装

文件管理 Linux的文件管理是系统管理中的核心部分,它涉及到如何组织、访问、修改和保护文件及目录结构。 目录 文件管理基本概念常用命令查看和切换目录创建文件和目录删除文件和目录文件拷贝移动和重命名文件文件查看cat文件查看more查找文件查找文本 数据流和管道…

redsystems教程的基本使用之重置密码(忘记密码解决方法)

前言: 相信很多人都有疑惑,要是我不记得密码怎么办?如果你登录了,点击更改密码后,还是要你填写登录密码才能修改。为了解决这问题,博主通过了钻研成功搞出来了!!!&#…

DS:数与二叉树的相关概念

欢迎来到Harper.Lee的学习世界!博主主页传送门:Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦! 一、树的概念及其结构 1.1 树的概念亲缘关系 树是一种非线性的数据结构,它是由n(n>0)个有限节点…

Marvelous Designer中一些棉质布料预设

Marvelous Designer中一些棉质布料预设的解释: Cotton_14_Wale_Corduroy:14条细鲸鱼纹的灯芯绒,适合制作温暖且有质感的服装。Cotton_40s_Chambray:40支精梳针织的府绸布,通常用于制作休闲衬衫。Cotton_40s_Poplin&am…

Face Forgery Detection by 3D Decomposition

文章目录 Face Forgery Detection by 3D Decomposition研究背景研究目标创新点方法提出问题研究过程技术贡献实验结果未来工作Face Forgery Detection by 3D Decomposition 会议:CVPR2021 作者: 研究背景 面部伪造引发关注传统面部伪造检测主要关注原始RGB图像

学Python,看一篇就够

学Python,看一篇就够 python基础注释变量标识符命名规则使用变量认识bugDebug工具打断点 数据类型输出转义字符输入输入语法输入的特点 转换数据类型pycharm交互运算符的分类赋值运算符复合赋值运算符比较运算符逻辑运算符拓展 条件语句单分支语法多分支语法拓展 if…

XFF注入【墨者靶场】

目录 XFF介绍 靶场练习 最近在复习XFF注入,这里使用墨者靶场来简单的练习一下该漏洞的利用方法 XFF介绍 X-Forwarded-For:简称XFF头,代表了HTTP的请求端真实的IP。 它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地…

植物大战僵尸杂交版2.0.88最新版安装包

游戏简介 游戏中独特的杂交植物更是为游戏增添了不少亮点。这些杂交植物不仅外观独特,而且拥有更强大的能力,能够帮助玩家更好地应对游戏中的挑战。玩家可以通过一定的条件和方式,解锁并培养这些杂交植物,从而不断提升自己的战斗…