python python属性演示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python python属性演示相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
zhihu question demo: https://www.zhihu.com/question/55594368
'''

class Mat(object):
    """动态读,class 内部只存 temp 的值,每次取 pro 的时候实时计算"""
    def __init__(self, t):
        self.temp = t

    @property
    def pro(self):
        return self.temp * self.temp


a = Mat(5)
print(a.temp, a.pro)  # (5, 25)
a.temp = 10
print(a.temp, a.pro)  # (10, 100)


class Mat2(object):
    """两个都存,写入的时候两个都改"""
    def __init__(self, t):
        self.temp = t

    @property
    def temp(self):
        return self._temp

    @temp.setter
    def temp(self, v):
        self._temp = v
        self.pro = self.Pro(v)

    def Pro(self, t):
        return t * t


a = Mat2(5)
print(a.temp, a.pro)  # (5, 25)
a.temp = 10
print(a.temp, a.pro)  # (10, 100)

以上是关于python python属性演示的主要内容,如果未能解决你的问题,请参考以下文章

Python编程基础20:实例成员与类成员

Python学习笔记:Python浏览器组件 - pywebview

描述符简介

Python机器学习(六十七)Matplotlib 图形绘制

Python根据CID获取化合物数据(调用Pubchem官方API)

python演示