Python之property属性及其实现

本文介绍Python中property属性的应用,包括如何让方法像属性一样被访问,以及如何实现对属性的访问控制,防止随意修改。同时提供了两种实现property的方式:使用装饰器和调用property方法。

在Python中,所谓property属性即被property装饰的方法或者通过property方法创建的对象,property的作用有二,一是让方法可以向普通属性一样直接访问,二是实现对属性的访问控制,防止随意篡改。

(一)property的作用

1、让方法像属性一样可以直接被实例对象访问

import datetime
class Property1:
    """ 定义一个具有property属性的类, 实现在每次访问实例属性时都打印访问的时间 """
    def __init__(self, message):
        self._message = message

    @property
    def get_info(self):
        self.time = datetime.date.today()
        return '{} || you visit time is {}'.format(self._message, self.time)

P1 = Property1('Hello Python')
print(P1.get_info)  # 通过属性访问方式完成函数调用

2、实现对属性的访问控制,防止随意修改

class Property2:
    """ 
    定义一个具有property属性的类, 实现在每次给实例属性赋值时自动将小写转化为大写, 且传入错误类型        
    时抛出异常 
    """
    def __init__(self, info):
        self._info = info

    @property
    def info(s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值