通过@property装饰器将类方法进行装饰

@property
 通过property装饰器将类方法进行装饰,这样调用类方法时,看起来就像是直接调用了属性来得到值,调用方法时方法不用加()

class person:
    def __init__(self, age):
        self.__age = age

    @property
    def age_property(self):
        return self.__age + "...."

    @age_property.setter
    def age_property(self, newage):
        self.__age = newage


p = person("年龄23")
print(p.age_property)
p.age_property = "年龄18"
print(p.age_property)

#  property应用实例

class Goods(object):
    dicount = 0.5

    def __init__(self, name, price):
        self.name = name
        self.__price = price

    @property
    def price(self):
        return self.__price * Goods.dicount
apple = Goods('苹果', 5)
print(apple.price)  # 直接通过实例访问属性,从而来调用方法

删除类的属性和修改类的属性

class person:
    def __init__(self, name):
        self.__name = name

    @property
    def name_property(self):
        return self.__name

    @name_property.deleter
    def name_property(self):
        del self.__name

    @name_property.setter
    def name_property(self, newname):
        self.__name = newname


p1 = person("jack")
print("修改前的属性值:", p1.name_property)  # 直接通过实例访问属性,从而来调用方法
# 修改类的属性
p1.name_property = "janme"
print("修改后的属性值:", p1.name_property)

# 删除类的属性
del p1.name_property

# print(p1.name_property)

# 检查Python是否是Python3
import torch

print(torch._six.PY3)

输出: 

年龄23....
年龄18....
2.5
修改前的属性值: jack
修改后的属性值: janme
True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值