Python参数如何传入?,python传参有哪些方法

Python 参数传递详解

在 Python 编程中,“传入”通常涉及三个层面:函数参数传递、类构造函数传参以及命令行参数传递,理解这些机制是编写高效、灵活代码的基础。

函数参数传递

这是最常见的场景,指在调用函数时将数据传递给函数内部。

Python函数参数的4种传递方式:位置参数、关键字参数、默认参数、可变参数(*args, kwargs)
加载中
Python函数参数的4种传递方式:位置参数、关键字参数、默认参数、可变参数(*args, kwargs)
小
小柯聊AI
696--
原视频地址
  • 位置参数 (Positional Arguments)
    按照定义的顺序进行传递。

    def greet(name, age):
        print(f"你好 {name},你今年 {age} 岁。")
    greet("Alice", 25)  # 必须按顺序传入
  • 关键字参数 (Keyword Arguments)
    通过“参数名=值”的形式传递,可以无视参数的定义顺序。

    greet(age=30, name="Bob")
  • 默认参数 (Default Arguments)
    在定义函数时为参数指定默认值,调用时如果不传该参数,则使用默认值。

    def power(base, exponent=2):
        return base  exponent
    print(power(3))    # 使用默认值 2,结果为 9
    print(power(3, 3)) # 传入 3,结果为 27
  • 可变长度参数 (Variable-length Arguments)
    当你不确定会传入多少个参数时使用:

    Python参数如何传入?,python传参有哪些方法

    • `args`接收任意数量的位置参数,并在函数内部以 tuple (元组) 形式存储。
    • `kwargs`接收任意数量的关键字参数,并在函数内部以 dict (字典) 形式存储。
      def flexible_func(args, kwargs):
        print(f"位置参数: {args}")
        print(f"关键字参数: {kwargs}")

    flexible_func(1, 2, 3, name=”Python”, version=3.12)


Python 的参数传递机制 (核心原理)

很多初学者会混淆 Python 是“值传递”还是“引用传递”,Python 使用的是 传对象引用 (Pass by Object Reference)。

  • 不可变对象 (Immutable Objects)
    如 int, float, str, tuple,当你向函数传入这些对象并尝试修改时,实际上是创建了一个新的对象,原对象不会改变。
  • 可变对象 (Mutable Objects)
    如 list, dict, set,如果你在函数内部修改了传入的可变对象(例如使用 .append()),原对象会发生改变。

类中的参数传递

在面向对象编程中,参数通常通过构造函数

Python参数如何传入?,python传参有哪些方法

__init__ 传入,用于初始化对象的属性。

class User:
    def __init__(self, username, email):
        self.username = username  # 将传入的参数赋值给实例属性
        self.email = email
user1 = User("coder_jack", "jack@example.com")

命令行参数传递

当你从终端(Terminal/CMD)运行 Python 脚本时,需要通过命令行向程序传递参数。

  • 使用 sys.argv (基础方式)
    sys.argv 是一个列表,包含了命令行传递的所有参数。

    import sys
    # 运行 python script.py hello 123
    # sys.argv[0] 是脚本名称
    # sys.argv[1] 是 "hello"
    print(f"参数列表: {sys.argv}")
  • 使用 argparse 模块 (专业方式)
    对于复杂的工具类脚本,推荐使用内置的 argparse 模块,它支持自动生成帮助文档、类型检查和默认值设置。

    import argparse
    parser = argparse.ArgumentParser(description="示例脚本")
    parser.add_argument("--name", type=str, help="输入姓名")
    parser.add_argument("--count", type=int, default=1, help="重复次数")
    args = parser.parse_args()
    print(f"Hello {args.name} "  args.count)

    Python参数如何传入?,python传参有哪些方法

总结对比

传递方式 适用场景 特点
位置参数 参数较少且顺序固定 简单直接
关键字参数 参数较多或顺序不确定 提高代码可读性
`argskwargs` 编写装饰器或通用接口 极高的灵活性
sys.argv 简单的脚本运行 仅限字符串,需手动转换类型
argparse 专业的命令行工具 功能强大,支持类型检查和帮助信息

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/489760.html

赞 (0)
AI搜索引用机制2026年如何运作,如何提高AI搜索的引用率?
上一篇 2026年7月13日 02:42
2026年AI搜索信源权重如何分布,如何提高AI搜索排名?
下一篇 2026年7月13日 02:42

相关推荐

  • gq域名是什么?gq域名注册多少钱

    百度SEO视角下的gq域名表现许多用户关心gq域名在百度搜索引擎中的排名能力,这是一个需要理性看待的问题,百度算法在2026年更加强调用户体验、内容质量和域名权威性,而非单纯依赖域名后缀,地域性标签的影响gq作为加蓬的国家代码域名,在百度算法中可能被赋予一定的地域属性,这意味着,如果你的目标受众主要在中国大陆……

    2026年6月24日
    1900
  • 服务器怎么光盘启动不了怎么办,服务器无法从光盘启动的原因及解决方法

    服务器无法从光盘启动,核心症结通常集中在启动顺序配置错误、光驱硬件故障或启动介质不兼容这三个维度,解决该问题必须遵循“先软后硬、先简后繁”的排查逻辑,即首先进入BIOS/UEFI校验启动优先级,其次检查介质与光驱的物理状态,最后排查虚拟化环境或硬件兼容性问题,对于服务器运维人员而言,最快恢复业务的路径并非反复重……

    2026年3月22日
    10300
  • 服务器怎么云更新时间,云服务器时间同步方法有哪些

    服务器云更新时间的核心在于配置网络时间协议(NTP)服务,通过连接权威的时间源服务器,实现毫秒级甚至微秒级的自动同步,这一过程完全摒弃了传统的人工手动修改模式,确保了分布式系统环境下时间的一致性与准确性,是保障业务数据安全与系统稳定运行的基础防线, 企业无需深度介入底层算法,只需正确配置客户端指向可靠的云端时间……

    2026年3月22日
    10400
  • 服务器按需计费怎么算?服务器按需计费价格详解

    服务器按需计费模式已成为企业优化云计算成本的核心策略,其本质是将IT基础设施支出从固定资产投入转化为运营成本,通过“用多少付多少”的机制,彻底解决传统包年包月模式下的资源闲置与浪费问题,这种模式赋予企业最高的财务灵活性与技术敏捷性,是降本增效的最佳实践路径,核心价值:打破资源僵局,实现成本精细化管控传统服务器租……

    2026年3月14日
    12000
  • accept python函数是什么,怎么用?

    accept()是Python socket编程中用于接受客户端连接请求的核心方法,调用后返回新的连接套接字与客户端地址,理解其阻塞机制和并发处理是构建高性能网络服务的基础,理解accept()函数的工作原理阻塞机制与连接队列当服务器套接字进入监听状态后,操作系统会为其维护一个已完成连接队列,队列中存放已完成T……

    2026年7月20日
    700
  • python多态是什么?python多态的实现原理

    在 Python 中,多态(Polymorphism) 是面向对象编程(OOP)的三大核心特性之一(另外两个是封装和继承),多态允许不同类的对象对同一消息做出不同的响应,Python 是一种动态类型语言,因此它天然支持“鸭子类型”(Duck Typing),这是实现多态的一种主要方式,Python 也支持通过抽……

    2026年7月10日
    6600
  • 佛山智唯网站建设公司怎么样,网站建设哪家好?

    佛山智唯网站建设凭借标准化的建站流程和清晰的报价体系,解决了中小企业建站时“价格不透明、沟通成本高”的痛点,这是其获得市场认可的关键,佛山智唯网站建设价格与性价比分析对于大多数企业主来说,建站成本是首要考量,智唯在佛山市场推出的套餐覆盖了从基础展示型到高级营销型的不同需求,价格区间大致在数千元到万元级,与其竞争……

    2026年7月18日
    1700
  • 个人域名备案究竟需要多久?域名备案流程及所需时间详解

    个人域名备案通常需要1-20个工作日,具体时长取决于各省通信管理局的审核效率,多数情况下10个工作日内可收到审核结果,对于许多刚接触建站的朋友来说,域名备案就像是一场未知的马拉松,既担心跑得太慢错过最佳时机,又害怕因为细节疏忽导致“退赛”,备案流程并没有想象中那么神秘,它更像是一次严格的行政审核,理解其中的逻辑……

    服务器运维 2026年6月5日
    4700
  • 个人建站提示域名解析错误怎么办?网站域名解析失败解决方法

    域名解析错误通常是因为DNS记录配置有误、域名未续费或本地缓存未刷新,请优先检查DNS记录设置并清理本地缓存,当你满怀期待地打开自己精心搭建的网站,却看到浏览器弹出“DNS_PROBE_FINISHED_BAD_INTERNET”或“无法访问此网站”时,那种挫败感不亚于精心准备的演讲被突然中断,这不仅仅是技术故……

    2026年6月3日
    5700
  • 服务器带宽怎么查询,如何查看服务器实际带宽大小

    必须摒弃单一依赖第三方测速网站的误区,构建以“服务器本地实时监控”为主、“外部网络测试”为辅的立体化检测体系,准确掌握带宽使用情况,不仅关乎网络费用的成本控制,更是保障业务高可用性的关键环节,真正的带宽查询,是实时流量监控、端口吞吐量分析与网络链路质量测试的综合结果, 服务器本地实时监控:最真实的带宽“仪表盘……

    2026年4月6日
    9600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注