美文网首页
python12——包装标准类

python12——包装标准类

作者: 我想走走 | 来源:发表于2018-03-06 09:18 被阅读76次
#包装
class List_feng(list):
    def show_midle(self):
        mid_index = int(len(self)/2)
        return self[mid_index]

l1 = List_feng('helloworld')
print(l1)
print(l1.show_midle())
#授权
class Open:
    def __init__(self,filename,mode='r',encoding='utf-8'):
        self.file = open(filename,mode,encoding=encoding)
        # self.mode = mode
        # self.encoding = encoding
    #此时无法进行写入
    def write(self):
        pass
    def __getattr__(self, item):
        print(item,type(item))
        return getattr(self.file,item)
f1 = Open('a.txt','w')
print(f1.file)
print(f1.read)
class Feng:
    pass
f1 = Feng()
#是否被实例
print(isinstance(f1,Feng))

class Sub_feng(Feng):
    def __getattr__(self, item):
        print('执行了1111111')
    #都会触发
    def __getattribute__(self, item):
        print('执行了22222')
        raise AttributeError('抛出异常了')

print(issubclass(Sub_feng,Feng))

item系列

class Feng:
    def __getitem__(self, item):
        print('getitem')
        return self.__dict__[item]
    def __setitem__(self, key, value):
        print('setitem')
        self.__dict__[key]=value
    def __delitem__(self, key):
        print('delitem')
        self.__dict__.pop(key)
f1 = Feng()
#f1.name = 'fengfeng'
f1['name']='fengfeng'
print(f1.__dict__)
print(f1['name'])
del f1['name']
print(f1.__dict__)

Str 和 Repr

l = list('hello')
print(l)

class Feng:
    def __str__(self):
        return '自定义显示方式'
    def __repr__(self):
        return 'repr__________'
f1 = Feng()
print(f1)

相关文章

  • python12——包装标准类

    item系列 Str 和 Repr

  • 6.装饰设计模式

    装饰模式 包装类的特点: 1.包装类和被包装类实现同样的接口2.包装类持有一个被包装的对象3.包装类在实现接口过程...

  • JAVA基础---Date类 SimpleDateFormat

    ## 一、包装类 ##01. 包装类概述 >* 什么是包装类? >* 基本数据类型对应的包装类 总结: 1.什么是...

  • 包装类

    包装类也是系统定义好的,可以直接用包装类:专门将简单数据类型的数据进行封装得到相应的类** 简单数据类型 ...

  • 包装类

    拥有属性、方法,可以对象化交互 Java中的包装类包括:Integer、Long、Short、Byte、Chara...

  • 包装类

    基本数据类型的包装类 包装类说明 除了Integer和Character定义的名称和对应的基本类型差异大,其他六种...

  • 包装类

    刚才接触过了Object类,可以发现Object类能够接收所有的引用数据类型(对象、数组、接口),于是这里面又出现...

  • 包装类

  • 包装类

    为什么会有基本类型包装类: 为了对基本数据类型进行更多的操作,更方便的操作,java就针对每一种基本数据类型提供了...

  • 包装类

    基本数据类型对象包装类。为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。...

网友评论

      本文标题:python12——包装标准类

      本文链接:https://www.haomeiwen.com/subject/kbyhfftx.html