知行编程网知行编程网  2023-01-14 17:30 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python描述符的两种类型的相关知识,包括静态变量的类型说明符,以及c语言类型说明符这些编程知识,希望对大家有参考作用。

两种类型的 Python 描述符


1、分类

数据描述符:实现了__get__ 和 __set__ 两种方法的描述符

非数据描述符:只实现了__get__ 一种方法的描述符


2、实例

# 数据描述符
class DataDes:
    def __init__(self, default=0):
        self._score = default
 
    def __set__(self, instance, value):
        self._score = value
 
    def __get__(self, instance, owner):
        print("访问数据描述符里的 __get__")
        return self._score
 
# 非数据描述符
class NoDataDes:
    def __init__(self, default=0):
        self._score = default
 
    def __get__(self, instance, owner):
        print("访问非数据描述符里的 __get__")
        return self._score
 
 
class Student:
    math = DataDes(0)
    chinese = NoDataDes(0)
 
    def __init__(self, name, math, chinese):
        self.name = name
        self.math = math
        self.chinese = chinese
        
    def __getattribute__(self, item):
        print("调用 __getattribute__")
        return super(Student, self).__getattribute__(item)
     
    def __repr__(self):
        return "<Student: {}, math:{}, chinese: {},>".format(
                self.name, self.math, self.chinese)


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享