Python 7天快速入门完整视频教程:https://www.bilibili.com/video/BV1o84y1Z7J1
Python的动态性
Python是动态语言,动态语言的典型特征就是:类、对象的属性、方法都可以动态增加和修改。
给类动态添加属性和方法,语法:类名.属性=属性 类名.方法名=函数名
注意:动态添加的方法,要加上self属性
class Dog:
name = None
def say(self):
print(f"{self.name}:汪汪")
def action_func(self):
print(f"{self.name}:还能跑,年龄:{self.age}")
dog = Dog()
dog.name = "jack"
dog.say()
Dog.age = 11 # 给类动态添加age属性
Dog.action = action_func # 给类动态添加方法action
dog.action()
运行输出:
jack:汪汪
jack:还能跑,年龄:11
给对象动态添加属性和方法(其他对象作用不到)
给对象动态添加属性和方法,语法:对象.属性=属性 对象.方法名=函数名
class Dog:
name = None
def say(self):
print(f"{self.name}:汪汪")
def action_func():
print("还能跑")
dog = Dog()
dog.name = "jack"
dog.say()
dog.age = 11 # 给对象动态添加age属性
dog.action = action_func # 给对象动态添加方法action
dog.action()
dog2 = Dog()
dog2.name = "marry"
# print(dog2.age) # 报错 dog2没有age属性
# dog2.action() # 报错 dog2没有action方法
运行输出:
jack:汪汪
还能跑