Python 类引用
我有两个文件:Python 类引用,python,oop,Python,Oop,我有两个文件: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) ... 或者像这样: class temp(class1):
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)
...
或者像这样:
class temp(class1):
...
class temp(class1.class1)
...
你需要第二张表格
class temp(class1.class1):
...
关于导入class1
的方式,在class2
模块中,class1
是对class1
模块的引用,该模块包含class1
类
另一种方法是仅从class1
模块导入class1
类:
一般来说,为了避免这些问题,最好遵循PEP 8命名约定——类应写成
UppCaseWords
,模块应使用带有下划线的names\u
不要给文件赋予与其中类相同的名称,否则Python将不知道要引用哪个类。您可以调用文件class1\u file.py
。然后在导入时:
import class1_file as c1
然后使用class1
作为:
class temp(c1.class1):
...
当您想要导入一个本身位于class1.py中的类时,您需要使用第二种方法——但就您的代码而言,class1.py中有一个名为class1的类——如果这是正确的,那么就使用第二种方法。”导入中的“as”可以轻松地将较长的类名用作较短的类名,或者区分任何类似的导入类名。所以这不会有太大的区别。
将class1导入为class1
->导入class1
:)谢谢!我问的原因是在类temp
中,我将实现需要class1.py
中的对象的方法,因此我认为给它一个名称空间将允许我正确地引用。请更改标题,因为super意味着其他内容,并且可能会混淆在python中搜索super的人。