Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何调用与主文件相同的类函数?(属性错误)_Python_Class - Fatal编程技术网

Python 如何调用与主文件相同的类函数?(属性错误)

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

我有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 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