python模块如何传入参数

Python模块通过函数传参、模块级变量或命令行参数实现外部输入。1. 函数传参:定义函数接收参数,调用时传入值;2. 模块级变量:导入前修改模块变量用于配置;3. 命令行参数:在if __name__ == "__main__"中使用sys.argv或argparse处理运行时输入。根据场景选择方式,模块本身不直接传参但可通过这些方法灵活实现。

Python模块本身不直接“传入参数”,但可以通过多种方式实现类似效果,让模块在不同场景下接收外部输入。关键在于理解模块的使用方式和设计模式。

通过函数传参调用

最常见的方式是把参数通过函数传递。模块中定义函数,调用时传入所需参数。

  • 模块文件(如 my_module.py):

def greet(name):
    print(f"Hello, {name}!")

  • 主程序中导入并调用:

import my_module
my_module.greet("Alice")

通过模块级变量配置

在导入模块前设置模块内的变量,适用于配置类参数。

  • 模块(config.py):

mode = "default"

def run():
    print(f"Running in {mode} mode")

  • 使用时先修改变量再调用:

import config
config.mode = "debug"
config.run()

使用命令行参数(if __name__ == "__main__")

当模块作为脚本运行时,可通过 sys.argv 接收命令行参数。

import sys

if __name__ == "__main__":
    if len(sys.argv) > 1:
        print(f"Argument passed: {sys.argv[1]}")
    else:
        print("No argument provided")

运行:python my_module.py test

使用 argparse 配置模块行为

更规范地处理命令行输入,适合复杂参数。

import argparse

def main(arg):
    print(f"Processing: {arg}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("input", help="Input value")
    args = parser.parse_args()
    main(args.input)

基本上就这些方法。根据使用场景选择:函数传参最常用,配置变量适合全局设定,命令行参数用于脚本运行。模块本身不接收参数,但通过函数或运行时逻辑可以灵活实现。