将多个值传递给函数调用(Python)
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
,但这并不是必须的。只要前面有个星号,你可以随便给它起个名字。