码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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 = 0
        for number in numbers:
            total += number
        print(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

  • 相关阅读:
    LNMP架构之搭建Discuz论坛
    使用Pytorch手写ViT — VisionTransformer
    L43.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- chage和chpasswd
    docker容器内访问宿主机127.0.0.1服务
    repr函数输出调试信息
    R语言绘制时间序列的偏自相关函数图:使用pacf函数可视化时间序列数据的偏自相关系数图
    基于grpc从零开始搭建一个准生产分布式应用(6) - 06 - MapStruct常见问题汇总
    如何解决mkdir()提示No such file or directory?
    深入理解Prometheus: Kubernetes环境中的监控实践
    Spring5 学习笔记 五 、JdbcTemplate
  • 原文地址:https://blog.csdn.net/qyj19920704/article/details/139395049
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号