python执行基类函数

2024-05-16 12:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

通过参考许多联机示例,我尝试在python3中实现继承。
这里,我尝试使用父类函数并在子类中设置类变量。你知道吗

class adapter():
    def __init__(mem):
        mem.port=27017
        mem.ins='172.36.36.1'
        mem.klust=False
        mem.net=True
        mem.encryption=False
    def mKonnect(mem):
        eaeIns=mem.ins+':'+str(mem.port)
        return mClient(eaeIns)

class Fuse(adapter):
    mongoConnect=super(Fuse,mem).mKonnect()
    dbi=mongoConnect.eaedw.InstanceConfiguration

导入此模块时出现以下错误:

mongoConnect=super(Fuse,self).mKonnect()

NameError: name 'Fuse' is not defined

我不能理解这个错误,或者这不是我的要求编码的方式?你知道吗


Tags: false示例adapterportdef错误联机mem
1条回答
网友
1楼 · 发布于 2024-05-16 12:21:35

不能像您希望的那样使用super()类属性声明。你知道吗

它可以在__init__方法中工作,但是您需要定义类中的selfmem。你知道吗

class Fuse(adapter):
    def __init__(self):
        super(Fuse, self).__init__()
        mongoConnect=super(Fuse,self).mKonnect()
        dbi=mongoConnect.eaedw.InstanceConfiguration

甚至

class Fuse(adapter):
    def __init__(self):
        super(Fuse, self).__init__()
        dbi=self.mKonnect().eaedw.InstanceConfiguration

(您可以重命名self,但这并不意味着您应该这样做,Python中有一些约定,如果您希望其他人能够轻松阅读和理解您的代码,self更好)

相关问题 更多 >