'''
python是动态语言
·运行时可以改变其结构的语言
·例如新的函数、对象、甚至代码可以被引进,
·已有的函数可以被删除或是其他结构上的变化。
·其他动态语言:JavaScript、PHP、Ruby
'''


# 运行的过程中给对象绑定(添加)属性
import types


class Person:
    def __init__(self, name):
        self.name = name

    # 自我介绍方法
    # self = 类的实例
    def tell(self):
        print("我是%s" % (self.name))


# 买橘子方法
def byOrange(self):

    print("%s:我买几个橘子去。你就在此地,不要走动" % self.name)

if __name__ == '__main__':
    # 朱鸿钧(朱自清他老子)
    zhj = Person("朱鸿钧")
    print(zhj.name)
    # 动态添加一个属性money(用来买橘子)
    # print(zhj.money)
    zhj.money = 10000
    print(zhj.money)
    '''
    我们定义的类里面没有money这个属性啊
    动态语言:动态给实例绑定属性
    '''

    '''
    动态绑定方法
    import types
    '''
    # 给类绑定方法
    # Person.byOrange = byOrange
    # 给对象绑定方法
    zhj.byOrange = types.MethodType(byOrange, zhj)
    zhj.byOrange()

    '''
    运行的过程中删除属性、方法
    del 对象.属性名
    delattr(对象, "属性名")
    '''
    del zhj.money
    # delattr(zhj, "money")
    # print(zhj.money)

results matching ""

    No results matching ""