类参考

时间:2014-02-19 04:02:36

标签: python oop

我有两个文件:class1.pyclass2.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)
    ...

3 个答案:

答案 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'使得使用冗长的类名称变得容易,或者区分任何类似的导入类名称。所以这不会有太大的不同。