gpt4 book ai didi

python - 导入自己的python文件,类未定义

转载 作者:行者123 更新时间:2023-11-30 22:57:10 25 4
gpt4 key购买 nike

我在名为 my_class.py 的文件中创建了以下类:

#!/usr/bin/env python
class MyClassA:
def __init__(self):
pass # do something

class MyClassB:
def __init__(self):
pass # do something

当我导入该模块时,我得到:

>>> import my_class
>>> a = MyClassA()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'MyClassA' is not defined

如果我这样做:

from my_class import MyClassA

它有效...有没有一种方法可以导入该文件中的所有类(模块)(如果有更多)并且不使用“from X import Y”语句?

最佳答案

my_class 是您正在导入的模块。从语法角度来看,my_class.py 中定义的类、变量等都是导入模块的属性。使用:

import my_class

ca = my_class.MyClassA()

或者如果您想经常访问 my_class,您可以在导入时更改标识符:

import my_class as mc

ca = mc.MyClassA()

这是最Pythonic的方式iirc。进一步说明:

from my_class import MyClassA

ca = MyClassA()

与以下内容基本相同:

import my_class
MyClassA = my_class.MyClassA

ca = MyClassA()

在这两种变体中,my_class 都将被预编译和导入。 the docs也可能有帮助。

关于python - 导入自己的python文件,类未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36810113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com