return 我错过了什么?
What am i missing regarding return?
我是编程新手,同样的现象我也遇到过好几次。也许我很愚蠢,但我不明白为什么有时我可以用 return 语句编写工作 def 函数,并且值的“继承”(?) 工作得很好,有时却不行。
这是最近的一个例子,它不起作用,我不知道为什么:
导入系统
file_1 = sys.argv[1]
file_2 = sys.argv[2]
text_1 = []
text_2 = []
默认读数(file_1, file_2):
for line_1 in file_1:
line_2 = file_2.readline()
text_1.append(line_1)
text_2.append(line_2)
return text_1, text_2
file_1 = 打开(file_1, 'r')
file_2 = 打开(file_2, 'r')
text_1, text_2 = 阅读(file_1, file_2)
打印(text_1)
打印(text_2)
file_1.close()
file_2.close()
您需要为 reading
函数分配 return 值,例如 line_1, line_2 = reading(file_1, file_2)
。 line_1
和 line_2
对您的 reading
函数是私有的。
我是编程新手,同样的现象我也遇到过好几次。也许我很愚蠢,但我不明白为什么有时我可以用 return 语句编写工作 def 函数,并且值的“继承”(?) 工作得很好,有时却不行。
这是最近的一个例子,它不起作用,我不知道为什么:
导入系统
file_1 = sys.argv[1]
file_2 = sys.argv[2]
text_1 = []
text_2 = []
默认读数(file_1, file_2):
for line_1 in file_1:
line_2 = file_2.readline()
text_1.append(line_1)
text_2.append(line_2)
return text_1, text_2
file_1 = 打开(file_1, 'r')
file_2 = 打开(file_2, 'r')
text_1, text_2 = 阅读(file_1, file_2)
打印(text_1)
打印(text_2)
file_1.close()
file_2.close()
您需要为 reading
函数分配 return 值,例如 line_1, line_2 = reading(file_1, file_2)
。 line_1
和 line_2
对您的 reading
函数是私有的。