将多个值传递给函数调用(Python)

1 投票
6 回答
7355 浏览
提问于 2025-04-15 18:07
import re
def strip_tags(value):
    "Return the given HTML with all tags stripped."
    return re.sub(r'<[^>]*?>', '', value)

我有一个用来去掉HTML标签的函数,但它似乎只能处理一个值。如果我想一次性传入多个(不固定数量的)值,我需要做什么修改呢?

谢谢

6 个回答

1

你可以把 value 作为一个字符串数组传进去,然后返回一个处理过的值的数组。

2

你可以使用一个循环。

for value in values:
    strip_tags(value)
8

Python提供了一种使用任意长度参数列表的方法:

def myfunc(*args):
    for argument in args:
        print "myfunc was given", argument

如果你在函数定义中加上*args,那么传递给这个函数的所有值都会以一个叫args的元组形式出现。需要注意的是,你也可以在*args之前放置其他参数,比如:

def my_other_func(name, *args):

这样,第一个参数就可以用name来获取,其余的参数则会放在args这个元组里。

虽然通常会把这个参数叫做args,但这并不是必须的。只要前面有个星号,你可以随便给它起个名字。

撰写回答