我有两个文件:class1.py
和class2.py
在文件class2.py
中,我有一个类要求我继承class1.py
中的一个类:
在文件class2.py
中,我有以下导入功能
import class1 as class1 #is the right way to do it?
我的问题是我需要像这样定义类:
class temp(class1):
...
或者像这样:
class temp(class1.class1)
...
答案 0 :(得分:1)
你需要第二种形式。
class temp(class1.class1):
...
您导入class1
的方式,在class2
模块中,class1
是参考到class1
模块,其中包含class1
类。
另一种方法是仅从class1
模块中导入class1
类:
from class1 import class1
class temp(class1):
...
一般来说,为了避免这些问题,最好的办法是遵循PEP 8命名约定 - 类应该写成UppCaseWords
,模块应该使用names_with_underscores
。
答案 1 :(得分:1)
不要为文件中的类名提供相同的名称,否则Python将不知道您要引用哪个类。您可以调用文件class1_file.py
。然后导入时:
import class1_file as c1
然后使用class1
:
class temp(c1.class1):
...
答案 2 :(得分:0)
由于你想要导入一个本身位于class1.py中的类,你需要使用第二种方法 - 但是你的代码说在class1.py中有一个名为class1的类 - 如果这是正确的那么去对于第二种方法。导入中的'as'使得使用冗长的类名称变得容易,或者区分任何类似的导入类名称。所以这不会有太大的不同。