关于python:有没有办法动态扩展参数?

Is there a way for dynamical expand of parameter?

本问题已经有最佳答案,请猛点这里访问。

在Python中有

1
2
3
4
title0="Blabla0"
title1="Blabla1"
title2="Blala2"
title3="Blabla3"

等。

写txt.file到他们所有的specifying的路径和文件名的开始与:

1
fileWrite=open('/.../final.txt','w')

和我的电话功能

1
2
def FileWrt(typo):
fileWrite.write(typo)

在每个"title",推到两个信息的文件。 所以,我的问题是:有一个方法不filewrt售后呼叫功能都可以在标题或摆脱repeating filewrt(title1)等,在每一个标题?

如果写:

1
FileWrt(descr,title0,title1,title2, etc.)

"不是,我可以让我的filewrt(AA)接受多功能参数,为specifying晚了,没有他们的每一个小时吗?否则它会说我,我需要1功能的论点,但给定N个冰淇淋。

谢谢


以下代码将按您的需要执行:

1
2
3
def FileWrt(*typos):
    for typo in typos:
        fileWrite.write(typo)

typos之前的*表示列出给定的论点。


这就是如何编写一个带有灵活签名的函数。

1
2
3
4
5
6
7
def FileWrt(*args, **kw):
    # args is a tuple of all arg
    # kw is a dict with all named parameters
    print args, kw

In [10]: FileWrt(1, 2, 3, a = 4, b = 5)
(1, 2, 3) {'a': 4, 'b': 5}