在 Python 中从一种方法调用变量到另一种方法
Posted
技术标签:
【中文标题】在 Python 中从一种方法调用变量到另一种方法【英文标题】:Calling variables from one method to another in Python 【发布时间】:2020-06-18 05:21:59 【问题描述】:所以这是我在初学者教程之外从事的第一个项目。到目前为止,我已经制作了两个模块,一个从用户输入创建 URL。它将一堆东西连接在一起,并使用用户输入来保存日期和时间等内容以形成整个 URL,我已经对此进行了测试,它工作正常。
我还创建了一个小型 GUI,它接受两个输入并将它们显示在一个文本框中,这也可以正常工作。
我的 GUI 中有一个函数可以记录文本输入框中的文本。我想要的是输入的文本在另一个模块中用作我的用户输入。我是否需要将每个文本条目作为单独的调用返回?或者我可以保留这两个框,但访问每个函数调用发生时保存的变量?
def click():
entered_text = textEntry.get()
entered_text2 = textEntry2.get()
output.delete(0.0,END)
output.insert(END, entered_text +'\n'+ entered_text2)
# This is the end of this function with no return
这是我想用来构成 URL 一部分的部分
def create_MY_URL():
startDate = input("Enter intraday start date dd/mm/yyyy: ")
startTime = input("Enter start time hh:mm: ")
finishDate = input("Enter intraday finish date dd/mm/yyyy: ")
finishTime = input("Enter finish time hh:mm: ")
#there is plenty more of this function, it is returned at the end
那么我是否需要为每条信息调用两次 click() 才能将其用作“startDate”和“FinishDate”?
【问题讨论】:
点击函数中的stardate或finish date在哪里使用? 【参考方案1】:这就是导入对您有帮助的地方,假设您有两个名为 gui.py 和 create_url.py 的 .py 文件,您可以将 create_url.py 中的功能导入到 gui.py 中
create_url.py
def create_MY_URL(start_date, end_date): # accept the variables as input
startDate = start_date # assign the variables rather than accept an input
startTime = input("Enter start time hh:mm: ")
finishDate = end_date
finishTime = input("Enter finish time hh:mm: ")
#there is plenty more of this function, it is returned at the end
使用 gui.py,您可以导入 create_url,然后您可以调用已内置到 create_url.py 中的函数
import create_url # name of .py file
def click():
entered_text = textEntry.get()
entered_text2 = textEntry2.get()
output.delete(0.0,END)
output.insert(END, entered_text +'\n'+ entered_text2)
create_MY_URL(entered_text, entered_text2) # call your function and pass your two inputs
# create_MY_URL will do stuff here
在此示例中,两个 .py 文件都存在于同一目录中
【讨论】:
Meshi,这就像一个魅力!我已经在我的 GUI 文件的顶部有 import 语句,在更改大量变量名之后,我不断收到“create_MY_URL function not defined”错误,这让我很生气,所以我把它改成了 from create_URL import *它开始工作了。我也尝试过: from create_URL import create_MY_URL 但这也不起作用。也许我错过了函数名末尾的括号。成功了,非常感谢!我现在正在重新剥离它,包括更多的文本框。以上是关于在 Python 中从一种方法调用变量到另一种方法的主要内容,如果未能解决你的问题,请参考以下文章