如何从一个函数中获取用户输入的数据并在另一个函数中使用 python
how to grab unser inputed data from one function and use in another python
这可能是一个简单的答案,也许必须对全局变量做些什么?我怎样才能从一个函数中获取用户输入的数据,并使其能够与同一程序中的其他函数一起调用和输出。例如:
hydro = False
def main():
medium = input("soil or hydro")
def second():
if medium == "hydro":
hydro = True
main()
second()
您可以使用全局变量解决此问题:see here. However, it's a better practice in Python to use classes,并在特定 class.
中保留共享变量的函数以及它们共享的变量
在您的代码中,它看起来像这样:
class MediumHandler(object):
def __init__(self):
self.hydro = False
def main(self):
self.medium = input("soil or hydro")
def second(self):
if self.medium == "hydro":
self.hydro = True
handler = MediumHandler()
handler.main()
handler.second()
请注意 self.
在 medium
和 hydro
的每个用法中的使用。这会将变量附加到对象,而不是将它们留在全局环境中。
如果您不想使用 类 那么请确保使用全局变量:
hydro = False
medium = ''
def main():
global medium
medium = raw_input("soil or hydro: ")
def second():
global medium
global hydro
if medium == "hydro":
hydro = True
main()
print medium
second()
print hydro
另请注意,我使用 raw_input()
而不是 input()
。 input
不适用于您的情况,因为您希望字符串保留为字符串。
这可能是一个简单的答案,也许必须对全局变量做些什么?我怎样才能从一个函数中获取用户输入的数据,并使其能够与同一程序中的其他函数一起调用和输出。例如:
hydro = False
def main():
medium = input("soil or hydro")
def second():
if medium == "hydro":
hydro = True
main()
second()
您可以使用全局变量解决此问题:see here. However, it's a better practice in Python to use classes,并在特定 class.
中保留共享变量的函数以及它们共享的变量在您的代码中,它看起来像这样:
class MediumHandler(object):
def __init__(self):
self.hydro = False
def main(self):
self.medium = input("soil or hydro")
def second(self):
if self.medium == "hydro":
self.hydro = True
handler = MediumHandler()
handler.main()
handler.second()
请注意 self.
在 medium
和 hydro
的每个用法中的使用。这会将变量附加到对象,而不是将它们留在全局环境中。
如果您不想使用 类 那么请确保使用全局变量:
hydro = False
medium = ''
def main():
global medium
medium = raw_input("soil or hydro: ")
def second():
global medium
global hydro
if medium == "hydro":
hydro = True
main()
print medium
second()
print hydro
另请注意,我使用 raw_input()
而不是 input()
。 input
不适用于您的情况,因为您希望字符串保留为字符串。