zoukankan      html  css  js  c++  java
  • 定制自己的数据类型

    #继承
    """
    class LIST(list):
    def append(self, p_object):
    if not isinstance(p_object,int):
    raise TypeError('must be int')
    super().append(p_object)

    def insert(self, index, p_object):
    if not isinstance(p_object,int):
    raise TypeError('must be int')
    super().insert(index,p_object)

    li =LIST([1,2,3])
    print(li)
    #li.append('2')
    li.append(4)
    print(li)
    li.insert(0,-10)
    print(li)
    #li.insert(0,'-1')
    print(li)
    """
    #授权
    import time
    class Open:
    def __init__(self,filepath,m='w+',encode='utf-8'):
    self.filepath =filepath
    self.mode =m
    self.encoding =encode
    self.x =open(filepath,mode =m,encoding=encode)
    def write(self,line):
    t =time.strftime('%Y-%m-%d %X')
    self.x.write('%s %s'%(t,line))


    def __getattr__(self, item):
    print('%s %s'%(self,item))#getattr(self.x,item),中的item是字符串
    return getattr(self.x,item)#把它转化成self.x.item(属性),
    #print('%s %s'(self))
    f =Open('a')
    f.write('12112121 ')
    f.write('121212121 ')
    f.seek(0)
    print(f.read)#查询f.read,但是没有找到,f.read,所以就触发__getattr__方法
  • 相关阅读:
    Fleury算法
    2012 MultiUniversity Training Contest 2
    高斯若尔当消元法(线性代数)
    hdu4307(最小割)
    hdu4305(生成树计数)
    hdu4318(最短路)
    hdu4309(网络流)
    hdu4313(生成树)
    生成树计数
    MYSQL 远程登录及常用命令
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/6758450.html
Copyright © 2011-2022 走看看