标签:绑定 出现 山东 zha imp add init 调用 ini
# 以c语言为主是静态语言,运行之前先编译,在运行的过程中不允许编辑代码
# 在运行的过程中,可以改变,可以添加属性,就是属于动态语言(python)
# python动态的添加属性以及方法
class Test(object):
pass
# t = Test()
# print(dir(t))
# 运行的过程中给对象绑定(添加)属性
class Person(object):
def __init__(self,newName,newAge):
self.name = newName
self.age = newAge
def eat(self):
print("---%s正在吃--"%self.name)
# 添加属性
# laowang = Person("老王",100000)
# print(laowang.name)
# print(laowang.age)
# laowang.addr = ‘山东‘ #给对象添加属性,属性和对象绑定到了一起
# print(laowang.addr)
# laozhao = Person("老赵",18)
# print(laozhao.name)
# print(laozhao.age)
# # print(laozhao.addr)
# Person.num = 100 #给类添加属性,属性和类绑定到了一起
# print(laowang.num)
# print(laozhao.num)
# 添加方法
def run(self):
print("---%s正在吃--"%self.name)
p1 = Person("p1",10)
p1.eat()
# p1.run = run #这个方法式错误的
# p1.run() #虽然p1对象中的run属性已经指向了10行的函数,但这句代码还是不正确,因为run属性指向的函数时候来添加的,p1.run()的时候,并没有把p1当作第一个参数,导致了第10行的函数调用的时候,出现了缺少参数的问题
# import types
# types.MethodType() #把函数绑定到实例对象上
import types
p1.run = types.MethodType(run,p1)
p1.run()
标签:绑定 出现 山东 zha imp add init 调用 ini
原文地址:https://www.cnblogs.com/sklhtml/p/python.html