Multiple inputs for a python function
本问题已经有最佳答案,请猛点这里访问。
我从python开始,尝试创建一个函数。我遇到的麻烦是:
1 2 3 4 5 6 | #~ this function should make a directory only if it doesn't exist def make_dir(directoryname): if not os.path.exists(directoryname): return os.makedirs(directoryname) else: print"la carpeta %s ya existe" %(directoryname) |
我想知道的是,是否可以提供
1 | def make_dir(a,b,c,d,r) #where a,b,c,d,r are directory names. |
号
我该怎么做呢?
如果这是一个显而易见的问题,我道歉。
python对此有特定的语法。它通常被称为
1 2 3 4 5 6 | def make_dir(*dirs): for directory in dirs: if not os.path.exists(directory): return os.makedirs(directory) else: print"la carpeta %s ya existe" %(directory) |
重要的是要注意,你可以在
或者将变量作为一个序列传递,如
即
1 2 | def foo(*args): return args |
样品输出:
1 2 | >>> foo(1, 2, 3) (1, 2, 3) |
号
可以将变量arguments变量与*directorynames一起使用,并在函数中使用for循环:
1 2 3 4 5 6 7 8 | import os def make_dir(*directorynames): for dir_ in directorynames: if not os.path.exists(dir_): return os.makedirs(dir_) else: print("la carpeta %s ya existe" %(dir_)) |
。
当做。