sur*_*esh 3 python overloading
我想编写一个名为size()的函数,它接受文件名或文件名列表,并分别返回文件的大小或大小的总和.如何在没有python中没有的函数重载的情况下执行此操作?
谢谢
苏雷什
def size(*files):
for file in files:
print file
Run Code Online (Sandbox Code Playgroud)
*files是一个特殊的参数类型,它将所有参数都捕获到列表中.因此,如果你这样打电话size:
size("file1.txt", "file2.xml")
Run Code Online (Sandbox Code Playgroud)
files将是一个包含file1.txt和的列表file2.xml.如果仅使用一个参数调用它,它仍将放在列表中.
要使用文件列表调用函数,请使用相同的运算符,但在调用函数时使用:
file_list = ["file1.txt", "file2.xml"]
size(*file_list)
Run Code Online (Sandbox Code Playgroud)