【发布时间】:2022-01-15 23:54:04
【问题描述】:
我正在尝试构建一个 Tkinter 应用程序,它允许您加载文档然后分析它们。我必须承认我仍然在掌握面向对象的编程,如果这是一个简单的答案,我深表歉意。
我已经构建了这个类来保存应用程序其余部分使用的文件路径变量。
class Inputs:
def __init__(self, CV, JS):
self.CV = CV
self.JS = JS
def cv(self, input):
self.CV = input
def js(self, input):
self.JS = input
但是每次我尝试通过以下内容时:
b = ‘CV_test.txt’
Inputs.cv(b)
我收到以下错误。
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3319, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-5-f21fa013f9ae>", line 1, in <module>
Inputs.cv(b)
TypeError: cv() missing 1 required positional argument: 'input'
不能将文件路径作为类变量传递吗?
补充问题:这种方法能否让我以后在其他类中调用这些变量?
【问题讨论】:
-
你需要
Inputs.CV("CV_Test.txt")吗?顺便说一句,我不会使用input作为变量名。inputs是你已经初始化的对象吗? -
当您直接访问
classmethods时,您不会创建该类的实例,因此不会传递self。将其设为@staticmethod -
您定义了实例变量,而不是类变量。相关:stackoverflow.com/questions/8959097/…
标签: python function class variables tkinter