我们说我有这样的代码:
def read_from_file(filename):
list = []
for i in filename:
value = i[0]
list.append(value)
return list
def other_function(other_filename):
"""
That's where my question comes in. How can I get the list
from the other function if I do not know the value "filename" will get?
I would like to use the "list" in this function
"""
read_from_file("apples.txt")
other_function("pears.txt")
我知道这段代码可能不起作用或者可能不完美。但我唯一需要的是在代码中回答我的问题。
答案 0 :(得分:1)
您有两种常规选择。您可以使列表成为所有函数都可以访问的全局变量(通常这不是正确的方法),或者您可以将其传递给other_function
(正确的方式)。所以
def other_function(other_filename, anylist):
pass # your code here
somelist = read_from_file("apples.txt")
other_function("pears.txt.", somelist)
答案 1 :(得分:0)
你需要"赶上"从第一个函数返回的值,然后将其传递给第二个函数。
file_name = read_from_file('apples.txt')
other_function(file_name)
答案 2 :(得分:0)
您需要将返回的值存储在变量中,然后才能将其传递给另一个函数。
a = read_from_file("apples.txt")
答案 3 :(得分:-1)
至少有三种合理的方法可以达到这个目的,初学者可能永远不需要两种:
read_from_file
的返回值并将其作为参数提供给other_function
(因此请将签名调整为other_function(other_filename, whatever_list)
)whatever_list
设为全局变量。whatever_list
存储为该对象的属性gc
搜索值;-)
)def foo():
bla = "OK..."
def bar():
print(bla)
bar()
foo()