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

相关推荐

  • 高维数据的可视化和快速聚类算法是什么,高维数据可视化聚类方法

    面对海量高维数据,2026年最优的解决路径是采用“先降维可视化再快速聚类”的串行策略,即通过t-SNE/UMAP等流形学习算法将数据投射至二维空间实现可视化,并结合HDBSCAN或改进版K-Means等快速聚类算法完成高效划分,从而精准破除“维度灾难”,高维数据可视化:从维度灾难到直观映射为何高维数据必须先降维……

    2026年4月24日
    4700
  • 个人注册的域名到期怎么办?域名过期后怎么续费

    域名到期后若未及时续费,会经历保留期、赎回期和删除期三个阶段,最佳补救方案是在保留期内直接续费,逾期则需支付高额赎回费或面临域名彻底丢失的风险,域名就像你在互联网世界的门牌号,一旦过期,不仅网站打不开,绑定的邮箱和SEO权重也会随之动摇,很多站长因为疏忽大意,错过了最佳续费时间,导致心血付诸东流,为了避免这种尴……

    2026年5月28日
    4200
  • 如何设计高性能服务器监控消息分发系统 | 消息分发系统设计指南

    服务器监控消息分发系统设计服务器监控消息分发系统是现代IT运维的核心神经中枢,它高效、准确、可靠地将海量监控数据(如指标、日志、告警)从源头(服务器、应用、网络设备)路由传递至正确的消费端(运维人员、告警平台、数据分析系统、自动化处理引擎),确保关键信息不丢失、不延迟,支撑故障快速响应、性能优化与系统健康保障……

    2026年2月9日
    13930
  • 服务器快照存在哪,服务器快照文件默认保存路径是什么

    服务器快照的存储位置并非单一固定的物理空间,而是取决于底层架构、存储类型以及服务商的具体策略,核心结论是:服务器快照通常存储在后端存储系统的独立逻辑分区或对象存储池中,与生产数据物理隔离或逻辑隔离,以确保数据的安全性与可恢复性, 这一存储机制既要保证快照生成的即时性,又要确保在原数据损坏时能够快速回滚,理解快照……

    2026年3月25日
    10700
  • 如何进行专业的法院网站建设,法院网站建设公司哪个好?

    构建智慧司法服务平台随着“智慧法院”建设的深入推进,法院网站已不仅仅是信息发布的窗口,更是连接司法机关与社会公众的桥梁,一个优秀的法院网站应当兼具权威性、便民性与安全性, 建设目标与核心价值司法公开:通过数字化手段,全方位展示法院工作动态,提升司法透明度,保障公众知情权,便民利民:构建“一站式”诉讼服务体系,让……

    2026年7月14日
    1400
  • 服务器怎么ip访问?服务器IP地址直接访问设置方法

    服务器通过IP地址访问的本质是建立客户端与服务器之间的网络连接通道,这一过程依赖于正确的网络配置、防火墙放行以及服务部署,实现IP访问的核心在于确保服务器IP可达、端口开放且服务正常运行,任何环节的缺失都会导致连接失败, 确认服务器IP地址与网络连通性要实现访问,首要任务是准确获取服务器的IP地址,这是网络通信……

    2026年3月23日
    8500
  • 股票舆情监测系统真的有用吗?股票舆情监测系统怎么使用

    股票舆情监测系统通过实时抓取全网非结构化数据,利用NLP技术量化市场情绪,帮助投资者在噪音中识别风险与机会,是2026年机构与资深散户必备的智能决策辅助工具,在信息爆炸的交易环境中,传统的看盘软件只能告诉你“发生了什么”,却无法解释“为什么发生”以及“接下来会怎样”,当一条关于某上市公司的负面新闻在社交媒体发酵……

    2026年7月8日
    17900
  • Python EasyUI怎么用?,安装步骤有哪些?

    Python EasyUI 组合是开发企业级管理系统的快速通道,尤其适合中小团队在预算有限、周期紧张时快速交付,其学习曲线比 Vue 或 React 更平缓,且组件覆盖了后台管理 90% 的常见需求,为什么 Python EasyUI 在 2026 年依然能打现在前后端分离是主流,但很多内部管理系统、后台管理界……

    2026年7月18日
    700
  • 个人电脑能做云服务器吗,个人电脑搭建云服务器教程

    个人电脑完全可以作为云服务器使用,但仅适合个人开发、学习或轻量级家庭应用,若追求企业级稳定性与高可用性,则不建议采用此方案,随着云计算技术的普及,许多技术爱好者和小型开发者开始思考:是否真的需要购买昂贵的云服务器?利用闲置的个人电脑搭建私有云或轻量级服务器,是一种极具性价比且能深入理解底层架构的实操方式,这种模……

    服务器运维 2026年5月27日
    8200
  • 个人域名注册什么后缀比较好,.com和.cn哪个更利于SEO排名

    对于个人用户而言,.com后缀依然是全球认可度最高的首选,若追求性价比或国内展示,.cn则是更务实的替代方案,而.xyz、.top等新兴后缀适合预算有限或特定品牌需求的场景,选择域名后缀看似只是敲几个字母的事,实则是你个人品牌在数字世界的第一张名片,很多新手在注册时容易陷入“后缀越多越好”的误区,或者盲目追求冷……

    2026年6月10日
    4900

发表回复

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