python不定参数传值怎么做

python

使用*arg_name定义的位置参数,表示任意多个位置参数;Python标准库中习惯使用*args来命名不定长位置参数,当然我们可以自定义

这个名称;不定长位置参数的类型为元组;

Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。

下面程序定义了一个形参个数可变的函数:

# 定义了支持参数收集的函数

def test(a, *books) :

    print(books)

    # books被当成元组处理

    for b in books :

        print(b)

    # 输出整数变量a的值

    print(a)

# 调用test()函数

test(5 , "php中文网" , "Python教程")

运行上面程序,将看到如下运行结果:

('php中文网', 'Python教程')

php中文网

Python教程

5

从上面的运行结果可以看出,当调用 test() 函数时,books 参数可以传入多个字符串作为参数值。从 test() 的函数体代码来看,参数收集的本质就是一个元组: Python 会将传给 books 参数的多个值收集成一个元组。

Python 允许个数可变的形参可以处于形参列表的任意位置(不要求是形参列表的最后一个参数),但 Python 要求一个函数最多只能带一个支持“普通”参数收集的形参。例如如下程序:

# 定义了支持参数收集的函数

def test(*books ,num) :

    print(books)

    # books被当成元组处理

    for b in books :

        print(b)

    print(num)

# 调用test()函数

test("php中文网", "Python教程", num = 20

以上是 python不定参数传值怎么做 的全部内容, 来源链接: utcz.com/z/525664.html

回到顶部