python的动态属性

0. 动态语言与静态语言

  • 静态语言
    编译时已经确定好代码,运行过程中不能修改
    如: Java,C,C++
  • 动态语言
    可以在运行的过程中,修改代码;即在运行时,新的函数、对象甚至代码可以被引进,已有的函数可以被删除或者结构上发生变化。
    如:python,JavaScrpt,Rudy,PHP

1. 动态添加属性

1.1 动态添加变量

1.1.1 给对象动态添加变量

即在代码运行过程中,添加属性;如:
在这里插入图片描述
上述方法只能为特定的对象添加变量。

1.1.2 给类添加变量

类名.属性名 = 值
在这里插入图片描述

1.2 动态添加方法

1.2.1 给对象添加实例方法

利用types模块的MethodType(方法名,对象名)的方法;对象名作为self对象。如:
在这里插入图片描述

1.2.2 添加类方法

直接类名.方法名 = 方法
在这里插入图片描述

1.2.3 添加静态方法

类名.方法名 = 方法
在这里插入图片描述

2. 限制修改对象的属性

2.1 限制对象属性修改范围

利用__slot__方法规定当前类实例的参数属性范围,不在该范围内的参数不能修改,如:

在这里插入图片描述
注意
__slot__只对当前类实例起作用,对继承的子类不起作用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值