Python - 属性描述符

2022/4/26 1:12:40

本文主要是介绍Python - 属性描述符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

import numbers

class IntFiled:

    def __get__(self, instance, owner):
        return self.value

    # 对age的类型做限制
    def __set__(self, instance, value):
        if not isinstance(value, numbers.Integral):
            raise ValueError("int value need")
        self.value = value


class User:
    age = IntFiled()   # 关键点,变量名要和__init__中的属性一致
    def __init__(self, age):
        self.age = age

if __name__ == '__main__':
    user =  User(18) 
    print(user.age)

Debug 看下 instance 和 value 的值:



这篇关于Python - 属性描述符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程