【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…

Python编程入门EPUB:探索编程世界的奇幻之旅

Python编程入门EPUB:探索编程世界的奇幻之旅 在数字化时代的浪潮中,编程已成为一项不可或缺的技能。而Python,作为一门简洁易懂且功能强大的编程语言,正逐渐成为初学者们的首选。那么,如何踏上Python编程的奇幻之旅呢…

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

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

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

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

邦芒职场:职业转型,如何稳稳把握方向盘?

职业转型,对于许多人来说,既是一次挑战也是一次机遇。虽然它需要勇气,但只要我们做好准备,转型之路同样可以顺畅无阻。接下来,我们将为你提供一些建议,帮助你稳稳把握职业转型的方向盘。 一、明确职业定位与…

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

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

ArangoDB 学习笔记

新工作需要用到 arangodb,由于之前没有接触过,所以从头开始学,记录一下学习过程中的重点。 一. ArangoDB 安装 1. 下载地址 官网地址:https://www.arangodb.com/download/ 2. 部署步骤 下载 rpm 安装包并安装 rpm -ivh arang…

wpf、winform 监听USB拔插时触发

C# USB拔插监听 C#查找设备管理器中所有的 USB 设备 wpf、winform 监听USB拔插时触发 监听Windows USB 拔插时触发 private void MainWindow_Loaded(object sender, RoutedEventArgs e){FleckWebSocketConfig.OpenSocketConfig().GetAwaiter(); //websocket 服务开启用于监听W…

MySQL 判断查询条件是否包含某字符串的几种方式

在日常的数据库操作中,我们经常需要判断某个字段中是否包含特定的字符串。在 MySQL 中,有多种方式可以实现这一需求。本文将介绍几种常见的方式,并详细说明它们的使用场景和优缺点。 1. 使用 LIKE 进行模糊查询 LIKE 是最常见的字符串匹配方…

python手动搭建transformer,并实现自回归推理

以下是添加了详细注释的代码和参数介绍: Transformer 实现及自回归推理 本文展示了如何手动实现一个简化版的Transformer模型,并用自回归方式实现一个seq2seq任务,例如机器翻译。 导入必要的库 import torch import torch.nn as nn import…

【区分vue2和vue3下的element UI DatePicker 日期选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中,我们通常使用 Element UI 的 DatePicker 日期选择器组件。然而,如前所述,Element UI 并没有官方支持 Vue 3 的版本。但有一个叫做 Element Plus 的库,它是 Element UI 的 Vue 3 版本,并提供了类似的 DateP…

TypeScript学习(二):数据类型

/** *一.typescript类型学习 */ //1.1 number类型 let a:number; a123; //这么写会报错,a"hello,world"; console.log(a); //1.2 string类型 let b:string; b"hello,world"; console.log(b); //1.3 boolean类型 let c:booleantrue; c…

华为OD刷题C卷 - 每日刷题 13(图像物体的边界,英文输入法)

1、(图像物体的边界): 这段代码是解决“图像物体的边界”的问题。它提供了一个Java类Main,其中包含main方法和getResult方法,以及一个内部UnionFindSet类,用于计算像素1代表的物体的边界个数。 main方法首…

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:/…