假设我正在使用以下参数调用函数
Function(char1, char2, char3, char4, Number)
其中前4个术语代表chars
,最后一个是int
,我可能会添加更多字符,因此函数不能是静态的。主要功能将像
def Function(*args):
table_line = ""
for x in range(Number/2):
但是通过给出函数args它不再知道它应该使用第三行中提供的参数号。
答案 0 :(得分:2)
传递def func(number, *char):
...
作为第一个参数:
File file = new File("C://Users//user//Desktop//try2//nifi-
1.3.0//4//conf2.xml");
String content = "";
String material = "";
BufferedReader s;
BufferedWriter w;
int m;
RandomAccessFile ini = new RandomAccessFile(file, "rwd");
FileLock lock = ini.getChannel().lock();
DocumentBuilder dBuilder;
Document document, doc;
String date="";
String data="";
boolean make = false;
try {
String sCurrentLine;
s = new BufferedReader(Channels.newReader(ini.getChannel(), "UTF-8"));
while ((sCurrentLine = s.readLine()) != null) {
content += sCurrentLine;
}
ini.seek(0);
答案 1 :(得分:1)
如果你正在使用python3.x(你现在没有,正如你在评论中提到的那样),你可以在使用args
之前使用*
可迭代的解包来解压缩def function(*args):
*chars, number = args
...
:< / p>
In [8]: *a, b = (1, 2, 3, 4)
In [9]: a
Out[9]: [1, 2, 3]
In [10]: b
Out[10]: 4
它的工作原理如下:
args
chars
中除最后一个之外的每个元素都会发送到list
,现在变为number
。您现在可以将prompt: password:
Command-line input received:
password: password
变量用作单独的变量。