python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。
在 Python 中,传入参数主要分为以下几种情况:
1. 脚本参数(命令行参数)
通过命令行运行脚本时可以传入参数。例如:
python script.py arg1 arg2
处理命令行参数的方法:
- 使用
sys.argv
- 使用
argparse
模块(更强大)
示例:使用 sys.argv
import sys
if __name__ == "__main__":
print("脚本名:", sys.argv[0])
print("参数列表:", sys.argv[1:])
运行:
python script.py hello world
输出:
脚本名: script.py
参数列表: ['hello', 'world']
示例:使用 argparse
import argparse
parser = argparse.ArgumentParser(description="示例脚本")
parser.add_argument("name", type=str, help="输入你的名字")
parser.add_argument("--age", type=int, default=18, help="输入你的年龄(默认18)")
args = parser.parse_args()
print(f"你好, {args.name}! 你的年龄是 {args.age} 岁。")
运行:
python script.py Alice --age 25
输出:
你好, Alice! 你的年龄是 25 岁。
2. 函数参数
Python 支持多种类型的函数参数传递:
(1)位置参数
def greet(name, age):
print(f"你好, {name}! 你的年龄是 {age} 岁。")
greet("Alice", 25)
(2)关键字参数
greet(age=25, name="Alice")
(3)默认参数
def greet(name, age=18):
print(f"你好, {name}! 你的年龄是 {age} 岁。")
greet("Alice") # 使用默认值
(4)可变参数(*args
和 **kwargs
)
# *args 用于传递任意数量的位置参数
def greet(*args):
print("位置参数:", args)
greet("Alice", 25, "Hello")
# **kwargs 用于传递任意数量的关键字参数
def greet(**kwargs):
print("关键字参数:", kwargs)
greet(name="Alice", age=25, greeting="Hello")
(5)混合参数
参数顺序为:位置参数 → 默认参数 → *args
→ **kwargs
def example(a, b=2, *args, **kwargs):
print("a:", a)
print("b:", b)
print("*args:", args)
print("**kwargs:", kwargs)
example(1, 3, 4, 5, x=10, y=20)
输出:
a: 1
b: 3
*args: (4, 5)
**kwargs: {'x': 10, 'y': 20}
3. 类的构造函数参数
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"你好, {self.name}! 你的年龄是 {self.age} 岁。")
p = Person("Alice", 25)
p.greet()
需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐 argparse
,而对于内部函数调用灵活使用参数类型(如 *args
和 **kwargs
)。
参考
使用python脚本传递参数:(三种方式可收藏) - Mrwhite86 - 博客园
命令行运行Python脚本时传入参数的三种方式_python 脚本位置参数-CSDN博客
python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。python 如何传入参数? 需要根据实际场景选择合适的参数传递方式,比如处理命令行工具时推荐。,而对于内部函数调用灵活使用参数类型(如。通过命令行运行脚本时可以传入参数。