有没有办法动态扩展参数?

时间:2014-05-07 23:14:09

标签: python parameters push

在python中我有

title0="Blabla0"
title1="Blabla1"
title2="Blala2"
title3="Blabla3"

将它们全部写入txt.file我在开头指定文件的路径和名称:

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

我正在调用函数

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

在每个'标题'之后,将信息推送到文件中。 所以,我的问题是:有没有办法在每个'标题'之后不调用FileWrt函数,还是可以在每个标题之后摆脱重复的FileWrt(title1)等?

如果我写:

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

最后,我可以让我的FileWrt()函数接受所发送的参数,而不是每次都指定它们吗?否则它会告诉我该函数需要1个参数,但是给出了n。

由于

2 个答案:

答案 0 :(得分:2)

以下代码将执行您想要的操作:

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

*之前的typos表示列出给定的参数。

答案 1 :(得分:-1)

这就是你可以用灵活的签名编写一个函数。

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}