设为首页 加入收藏

TOP

Python @property 详解(二)
2019-02-12 20:07:47 】 浏览:132
Tags:Python @property 详解
可以用装饰器来实现。

通过装饰器@property,我们可以不定义没有必要的 get_temperature()set_temperature(),这样还避免了污染命名空间。使用方式如下:

class Celsius:
    def __init__(self, temperature = 0):
        self._temperature = temperature

    def to_fahrenheit(self):
        return (self.temperature * 1.8) + 32

    # Getter 装饰器
    @property
    def temperature(self):
        print("Getting value")
        return self._temperature

    # Setter 装饰器
    @temperature.setter
    def temperature(self, value):
        if value < -273:
            raise ValueError("Temperature below -273 is not possible")
        print("Setting value")
        self._temperature = value

你可以使用装饰器,也可以使用之前的方法,完全看个人喜好。但使用装饰器应该是更加 Pythonic 的方法吧。

参考

Python @property

(本文完)

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux Ubuntu 16.04 python os.wa.. 下一篇BLACKPYTHON学习(一)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目