Python的动态性

视频版教程 Python3零基础7天入门实战视频教程

ython是动态语言,动态语言的典型特征就是:类、对象的属性、方法都可以动态增加和修改。

给类动态添加属性和方法,语法:类名.属性=属性 类名.方法名=函数名

注意:动态添加的方法,要加上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:汪汪
还能跑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值