📜  Python | 6(命令行和变量参数)(1)

📅  最后修改于: 2023-12-03 15:04:10.189000             🧑  作者: Mango

Python | 6(命令行和变量参数)

在 Python 中,我们可以在命令行中向我们的 Python 程序传递变量参数。这意味着我们不必修改代码,每次都可以传递不同的参数,并根据参数执行不同的操作。在本篇文章中,我们将学习如何在 Python 中使用命令行和变量参数。

命令行参数

命令行参数是我们从命令行中传递给程序的特殊变量参数。我们可以使用 Python 的 sys 模块来获取这些参数。以下是一个简单的示例:

import sys

print(sys.argv)

在上面的代码中,sys.argv 表示整个命令行参数的列表,包括 Python 程序本身的名称。比如我们在命令行中执行以下命令:

python my_program.py arg1 arg2 arg3

那么 sys.argv 的值为:['my_program.py', 'arg1', 'arg2', 'arg3']

我们可以使用这些参数来执行其他操作。例如,以下代码将根据 sys.argv 中的第一个参数执行不同的操作:

import sys

if sys.argv[1] == 'add':
    print(int(sys.argv[2]) + int(sys.argv[3]))
elif sys.argv[1] == 'subtract':
    print(int(sys.argv[2]) - int(sys.argv[3]))

在上述代码中,我们根据 sys.argv 中的第一个参数执行不同的操作。如果第一个参数是 add,我们将计算第二个和第三个参数的总和。如果第一个参数是 subtract,我们将计算第二个和第三个参数的差。

现在,我们可以通过以下命令在命令行中执行该脚本:

python my_program.py add 10 20

此命令将打印输出 30

python my_program.py subtract 20 10

此命令将打印输出 10

变量参数

除了命令行参数,Python 还支持变量参数。变量参数是一个能够接受不同数量的参数的函数。以下是一个简单的示例:

def add(*args):
    total = 0
    for arg in args:
        total += arg
    return total

print(add(1, 2, 3))
print(add(1, 2, 3, 4, 5))

在上面的代码中,我们定义了一个名为 add 的函数,并使用 *args 声明了一个变量参数。这意味着我们可以传递任意数量的参数给 add 函数,并在函数中使用这些变量。在函数中,我们使用 for 循环遍历 args 中的每个参数,并将它们相加。

现在,我们可以使用 add 函数来执行不同数量的参数和不同值的参数。例如,以下代码打印输出两个不同函数调用的结果:

def add(*args):
    total = 0
    for arg in args:
        total += arg
    return total

print(add(1, 2, 3))
print(add(1, 2, 3, 4, 5))

在上述代码中,我们调用了 add 函数两次,并向其传递了不同的参数。这将输出两个值,即 615

结论

在 Python 中,我们可以使用命令行参数和变量参数来处理不同的输入。命令行参数允许我们在运行时间传递参数,而不必修改代码。变量参数使我们可以在函数中处理不同数量的变量。这两个功能都是非常强大和实用的。