首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中扩展类?

如何在python中扩展类?
EN

Stack Overflow用户
提问于 2013-03-20 22:48:41
回答 4查看 154.2K关注 0票数 108

在python中,如何扩展类?例如,如果我有

color.py

代码语言:javascript
复制
class Color:
    def __init__(self, color):
        self.color = color
    def getcolor(self):
        return self.color

color_extended.py

代码语言:javascript
复制
import Color

class Color:
    def getcolor(self):
        return self.color + " extended!"

但这不管用..。我希望如果我在color_extended.py中工作,那么当我创建一个颜色对象并使用getcolor函数时,它将返回带有字符串“extended!”的对象。最后。此外,它还应该从导入中获取init。

假设python 3.1

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-20 22:50:09

使用:

代码语言:javascript
复制
import color

class Color(color.Color):
    ...

如果这是Python2.x,您还需要从object派生color.Color,使其成为new-style class

代码语言:javascript
复制
class Color(object):
    ...

这在Python 3.x中不是必需的。

票数 105
EN

Stack Overflow用户

发布于 2020-12-22 04:27:31

代码语言:javascript
复制
class MyParent:

    def sayHi():
        print('Mamma says hi')
代码语言:javascript
复制
from path.to.MyParent import MyParent

class ChildClass(MyParent):
    pass

然后,ChildClass的一个实例将继承sayHi()方法。

票数 7
EN

Stack Overflow用户

发布于 2021-11-05 01:39:49

我是这样使用它的。

代码语言:javascript
复制
class menssagem:
  propriedade1 = "Certo!"
  propriedade2 = "Erro!"

def metodo1(self)
  print(self.propriedade1)

来延伸。

代码语言:javascript
复制
import menssagem
class menssagem2(menssagem):

  menssagem1 = None #não nescessario not necessary

  def __init__(self,menssagem):
    self.menssagem1 = menssagem

  #call first class method
  #usando o metodo da menssagem 1

  def Menssagem(self):
    self.menssagem1.metodo1()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15526858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档