Python 如何调用与主文件相同的类函数?(属性错误)
我有2.py扩展名main.py和my_class.py main.py: 在my_class.py中,我可以这样调用该类: my_class.my_in_funcparam 在main.py中,我不能这样称呼它。我得到的错误是: AttributeError:module my_类在函数中没有属性my_ 我很难理解这意味着什么 提前感谢。导入my_类将导入模块,而不是其中的类。要导入其中的类,请使用from import,因为您的模块和类名相同,您可以执行以下操作Python 如何调用与主文件相同的类函数?(属性错误),python,class,Python,Class,我有2.py扩展名main.py和my_class.py main.py: 在my_class.py中,我可以这样调用该类: my_class.my_in_funcparam 在main.py中,我不能这样称呼它。我得到的错误是: AttributeError:module my_类在函数中没有属性my_ 我很难理解这意味着什么 提前感谢。导入my_类将导入模块,而不是其中的类。要导入其中的类,请使用from import,因为您的模块和类名相同,您可以执行以下操作 from my_class
from my_class import my_class
希望这能解决您的问题没有提供足够的信息。但是如果my_class.py是这样的:
def foo():
from my_class import my_class
if my_class.my_inside_func(param) == "True":
print("congratulations")
class my_class:
@staticmethod
def my_inside_func():
pass
那么您应该在main.py中执行my_class.my_class.my_inside_funcparam而不是my_class.my_inside_funcparam。这就是命名约定存在的原因。您很困惑,因为您的模块与您的类具有相同的名称。该类应命名为MyClass。修复它的最简单方法是调用my_class.my_class.my_inside_funcparam,或者将导入更改为从my_class导入my_class
class my_class:
@staticmethod
def my_inside_func():
pass