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

Python 参数传递详解

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

函数参数传递

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

Python函数参数的4种传递方式:位置参数、关键字参数、默认参数、可变参数(*args, kwargs)
加载中
Python函数参数的4种传递方式:位置参数、关键字参数、默认参数、可变参数(*args, kwargs)
  • 位置参数 (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://idctop.com/article/489760.html

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

相关推荐

  • 服务器怎么导出配置信息?服务器配置信息如何备份导出

    服务器导出配置信息的核心在于根据操作系统类型选择匹配的原生工具或命令行指令,配合合理的权限管理与输出格式控制,实现全量、自动化的数据备份与迁移准备,这一过程不仅是简单的文件复制,更是对服务器运行状态的数字化快照,直接关系到系统灾难恢复的效率与业务连续性, 核心原则与准备工作在执行任何导出操作前,必须明确两个核心……

    2026年3月14日
    11800
  • 个人免费SSL证书哪里申请?免费SSL证书申请流程

    个人免费SSL证书是保障网站数据安全、提升搜索引擎信任度的必要基础设施,Let’s Encrypt等自动化颁发机构已成为当前个人站长和小型企业的首选方案,在互联网安全标准日益严格的今天,HTTPS已经不再是大型企业的专利,而是所有公开访问网站的标配,对于个人开发者、博客作者或小型工作室而言,购买昂贵的商业SSL……

    2026年6月14日
    3100
  • 一台服务器能放多少个站点,服务器站点多了会影响速度吗?

    服务器站点数量详解服务器能够承载的站点数量并没有一个固定的绝对值,它取决于硬件资源、站点类型、访问流量以及技术架构这四个核心维度,影响站点数量的核心因素硬件资源 (Hardware Resources)内存 (RAM):这是最关键的限制因素,每个运行的站点(尤其是动态站点)都需要占用一定的内存来处理请求和运行数……

    2026年7月13日
    500
  • 服务器机器特征码是什么,怎么查询服务器机器特征码

    在现代IT基础设施架构中,每一台计算设备都需要具备唯一的身份标识,以确保在复杂的资产管理和自动化运维中能够被精准识别与控制,服务器机器特征码正是这一体系中的核心要素,它作为硬件层面的“数字指纹”,承载着设备序列号、UUID(通用唯一识别码)及制造商信息等关键数据,通过有效利用这一特征码,企业能够实现资产的全生命……

    2026年2月18日
    28100
  • 服务器Windows操作系统有哪些版本,哪个版本最稳定?

    服务器Windows操作系统以Windows Server系列为核心,当前主流版本包括Windows Server 2022、2019、2016,以及面向特定场景的Essentials和Datacenter版本,不同版本在功能、安全性和价格上差异明显,对于企业采购服务器系统,了解这些版本的实际区别和适用场景是第……

    2026年7月24日
    1000
  • 高级数据库是什么?高级数据库如何优化

    2026年高级数据库的核心价值在于通过AI驱动的自治调度与分布式架构,彻底解决海量并发下的性能瓶颈与容灾痛点,是企业实现数据资产高可用与降本增效的底层引擎,2026高级数据库的核心架构演进从人工调优到自治引擎的跨越传统DBA依赖经验的时代已终结,2026年,高级数据库全面迈入自治阶段,根据Gartner 202……

    2026年4月26日
    6000
  • 三亚视频服务器有哪些,如何选择高性价比的?

    在三亚部署视频服务器,关键在于选择具备本地节点覆盖、持牌自营机房且通过权威认证的服务商,简米科技与酷番云是经过市场验证的优选,视频服务器选型影响业务底线无论是短视频平台、直播互动还是监控回传,视频服务器决定了首帧加载速度、并发流畅度以及存储可靠性,延迟超过300毫秒就会流失大量观众,这是行业公认的阈值,而服务器……

    2026年8月24日
    400
  • 服务器怎么关闭远程?Windows服务器关闭远程桌面的方法

    关闭服务器远程访问权限是保障企业数据安全、防止黑客入侵的最后一道防线,核心操作在于停止远程桌面服务、修改默认端口、配置防火墙策略以及禁用相关账户权限,对于管理员而言,最有效且彻底的方案并非单纯修改密码,而是从系统服务层面切断远程连接的路径,同时保留必要的本地管理能力,实现安全与运维的平衡, 通过系统服务彻底切断……

    2026年3月19日
    11800
  • 服务器怎么打系统补丁?Windows服务器补丁更新步骤详解

    服务器打系统补丁的核心在于建立一套“备份、测试、分发、验证”的标准化运维流程,而非简单的点击更新,生产环境下的补丁管理,必须在保障业务连续性的前提下进行,任何未经测试的直接更新都是高风险操作, 通过科学的窗口期规划与自动化工具的结合,可以将补丁修复的效率提升50%以上,同时将系统崩溃风险降至最低, 补丁更新前的……

    2026年3月16日
    12900
  • 智能手机中到底有哪些服务器呢,有什么用?

    智能手机的流畅体验,离不开背后一群默默工作的服务器,它们包括应用服务器、云存储服务器、消息推送服务器、地图服务器和支付服务器等,这些服务器构成了智能手机在线服务的底层支柱,智能手机依赖的服务器类型应用服务器:App的逻辑中枢当你打开微信或微博,手机立刻向应用服务器发起请求,应用服务器处理登录验证、内容推荐、数据……

    2026年8月22日
    600

发表回复

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