python面向对象高级

面向对象

高级

  1. 动态添加属性

    • python可以动态为对象绑定属性,但是不会影响到同类的其他对象。

      	class Person:
      	    pass
      	p1=Person()
      	p2=Person()
      	p1.gender='male'
      	print(p1.gender)
      	print(p2.gender) #'Person' object has no attribute 'gender'
      
    • 动态为对象绑定方法

      	from types import MethodType
      	class Person:
      	    pass
      	def displayMe(self):
      	    print('my genderis:', self.gender)
      	# 给一个实例绑定的方法,对另一个实例是不起作用的:
      	p1.dispalyMe=MethodType(displayMe,p1)
      	p1.dispalyMe()
      
    • 通过动态给类增加属性和方法,可以实现所有对象都增加了属性和方法

      	Person.gender='male'
      	def displayMe(self):
      		print('my genderis:', self.gender)
      		
      	Person.displayMe=displayMe
      
    • 使用__slots__限制实例的属性.比如,只允许对Student实例添加name和age属性。

    • 	class Person(object):
      	    __slots__=('name',
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值