Python知识分享网 - 专业的Python学习网站 学Python,上Python222
Python的动态性
发布于:2023-09-12 11:11:33

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:汪汪
还能跑

 

 

 

转载自: