Python @property装饰器记录

Python的一些面向对象的方便功能,之前没有仔细研究过,但在其他语言之中却习以为常.
先谈谈与之对应的JAVA语言,在JAVA中一般都会把属性申明为私有,然后实现get和set方法,调用的时候就会使用对应方法进行操作,进行数据安全检查.而后接触到了Kotlin,对于这种繁琐的操作做了简化,流畅而直观的赋值语句就潇洒的完成属性操作.
而Python里也对此做了类似的事情,利用@property装饰器就很方便的达到Kotlin中对私有属性安全访问而不用像JAVA那般啰嗦了.只是在Python2中还是需要类方法property()来设定对应属性操作方法.因为Python3才是未来,固不用考虑其中的问题.

class Money:
	def __init__(self):
		self.__money=0

	@property
	def money(self):
		return self.__money
		
	@money.setter
	def money(self,value):
		if isinstance(value int):
			self.__money=value
		else:
			print("参数类型错误")

m=Money()
m.money=100
print(m.money)

你可能感兴趣的:(编程语言,Python)