我可以在python中为类添加更多功能吗?

时间:2014-03-16 18:58:26

标签: python class

如果有一个像这样的部分class定义......

class Atom(object):
    def _init_(self, id, mass = 0, pos = None, radius = 0):
        self.id = id
        self.name = name
        self.mass = 0

可以添加self.name部分并仍然代表class吗?

2 个答案:

答案 0 :(得分:1)

如果您希望您的班级拥有变量name,则必须将其与其他参数一起传递。

class Atom(object):
    def _init_(self, id=None, name=None, mass=0, pos=None, radius=0):
        self.id = id
        self.name = name
        ...

然后你可以在课堂上访问/分配它。否则,如果您只是想获取类的名称,则可以在不需要分配的情况下完成,如下所示:

a = Atom()
a.__class__.__name__
>>> 'Atom'

答案 1 :(得分:0)

由于python类提供了面向对象编程的所有标准功能:类继承机制允许多个基类,派生类可以覆盖其基类或类的任何方法,并且方法可以调用基类的方法同名:

是的,您可以在python中为类添加更多功能。