美文网首页
可以动态链接的类的实例

可以动态链接的类的实例

作者: benechen | 来源:发表于2018-12-02 16:14 被阅读0次

一切皆对象

python中处处都是对象,而每个对象都有个“所指”。
我们可以利用这点,从dict派生一个类,让这个类的实例动态链接起来。

从dict派生类 Json_class

class Json_class(dict):
    def  __init__(self, name):
        self.update({"name":name})
        return None                                ####初始化,只能返回None
    def add_children(self,children):
        
            self.update({"children":children})
            return self
产生三个实例
a=Json_class("tom")
b=Json_class("bob")
c=Json_class("david")
看一下三个实例都是啥样
a,b,c

返回:
({'name': 'tom'}, {'name': 'bob'}, {'name': 'david'})

给 a 添加子辈(b为a之子)

a.add_children([b])
print(a)

返回:
{'name': 'tom', 'children': [{'name': 'bob'}]}

给b添加子辈(c为b之子)

b.add_children([c])
print(b)

返回:
{'name': 'bob', 'children': [{'name': 'david'}]}

神奇的事情发生了!

查看 a

a

返回:
{'name': 'tom', 'children': [{'name': 'bob', 'children': [{'name': 'david'}]}]}

a自动添加了孙辈c!

相关文章

  • 可以动态链接的类的实例

    一切皆对象 python中处处都是对象,而每个对象都有个“所指”。我们可以利用这点,从dict派生一个类,让这个类...

  • Python动态绑定属性方法

    python是动态语言,可以为实例动态绑定属性、方法,也可以为类动态绑定方法。即在用到的时候定义。为实例动态绑定的...

  • #8 面向对象高级编程,python内部属性方法

    一.实例绑定方法和给类绑定方法 由于python动态语言的特性,在创建类之后,可以给实例或类再绑定方法。给实例绑定...

  • 【Poco笔记】根据名字动态生成类对象实例

    高级语言里如java有反射,可以根据类名动态生成类实例;也可以动态获取类成员变量和函数。 Poco里是否有类似功能...

  • python-实例属性与类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • 27. OOP-实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self...

  • 实例属性和类属性

    实例属性和类属性: 由于Python是动态语言,根据类创建的实例可以任意绑定属性。 (1)给实例绑定属性的方法是通...

  • 第31节:实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • Python:面向对象编程(进阶)

    类动态绑定方法与限定实例属性 类动态绑定方法 前面我们说了如何给类动态的添加属性,那么如何动态绑定方法呢?如下示例...

  • Python小技巧

    isinstance当实例为子类的实例,类为其父类,依然返回true 动态导入类模块: 加工原来类的两种方法 继承...

网友评论

      本文标题:可以动态链接的类的实例

      本文链接:https://www.haomeiwen.com/subject/jtwjcqtx.html