参考上面的问题,有没有办法确定将多少个参数传递给一个函数。
def setup(file1, file2):
reader1 = PyPDF2.PdfFileReader(file1)
reader2 = PyPDF2.PdfFileReader(file2)
我的目标是使该功能通用。我的计划是检测传递了多少个参数,然后修改该函数的行为,例如,如果将三个文件传递给该函数,它将创建3个读取器。我将使用for
循环为读者命名,并将正确的文件传递给PdfFileReader()
函数。但是,我只是不知道如何使函数的行为像我希望的那样。
答案 0 :(得分:2)
您可以改用变量参数:
def setup(*files):
readers = [PyPDF2.PdfFileReader(file) for file in files]
return readers
因此,例如,如果要使用3个文件来调用它,则可以使用:
reader1, reader2, reader3 = setup(file1, file2, file3)
答案 1 :(得分:1)
您可以使用*args
。只是喜欢:
def setup(*args):
reader_list = [PyPDF2.PdfFileReader(el) fro el in args]
答案 2 :(得分:0)
使用可变数量的参数语法。例如:
def foo(*args):
print(len(args))