033 Python 문법 같은 고유한 방법

2747 단어

클래스 고유 방법

__init__ : , 
__del__ : , 
__repr__ : , 
__setitem__ : 
__getitem__: 
__len__: 
__cmp__: 
__call__: 
__add__: 
__sub__: 
__mul__: 
__div__: 
__mod__: 
__pow__: 

str 메서드(str()

  • str 다시 쓰지 않고 인쇄하는 주소
  • 이 방법을 다시 쓰면 설정한 반환 값을 출력합니다. 문자열을 되돌려야 합니다
  • repr 방법


    iter 메서드(iter)


    next 방법 (it.next ()

    class  :
        def __init__(self):
            self.num = 1
    
        def __iter__(self):
            return self
    
        def __next__(self):
            self.num += 1
            if self.num > 108:
                raise StopIteration #  for , 
            return self.num
    
    
    for i in  ():
        print(i)
    

    getitem 방법(list[n[:m])

    class  :
        def __getitem__(self, item):
            list1 = [1, 2, 3, 4, 3, 2, 1]
            if isinstance(item, int):
                return list1[item]
            elif isinstance(item, slice):  #  
                return list1[item]
    
    
    jihe =  ()
    for i in jihe:
        print(i)
    
    print(jihe[1:3])
    

    call 방법 (대상을 함수로 사용함)

    class PaoNiu:
        def __init__(self,name):
            self.name = name
    
        def __call__(self):
            print(" ")
    
    paoNiu = PaoNiu("Luo")
    paoNiu()
    

    lt 메서드(객체 간 비교, True False 반환)

    print(cmp(1,2))# python3 
    #  , lambda 
    def __lt__(self, value):    
        return self.num < value.num
    
    

    hasattr(객체, 메소드 문자열)

  • 이 속성/방법이 있는지 판단
  • getattr 방법 (동적 설정의 속성 값을 가져오고, 다시 쓰기 대상. 속성 연산)

    __getattr__(self, attr):
    

    setattr 방법(self,attr,data)

    def __setattr__(self, attr, data):
        if attr=="tall":
            raise " "
        else:
            super().__setattr__(attr, data)
    

    delattr() 메서드(속성 삭제)

    def __delattr__(self,attr):
        if attr=="money":
            raise Exception(" money")
        super().__delattr__(attr)
    

    contains () 방법 (데이터가 있는지 판단)

    def __contains__(self,data):
        return data in self.list
    

    index () 방법 (반환 진수)

    def __index__(self,data):
        return data in self.list
    

    new () 방법 (대상을 차단하고 되돌려줍니다)

    class B:
        pass
        
    class A:
        def __new__(self):
            return B()
        
        def __init__(self):
            
    

    new 방법

  • new는 실례를 만드는 데 사용되며,object에서 자동으로 호출됩니다. 다시 쓸 필요가 있으면,object로 돌아가야 합니다.new(cls)
  • call은 new를 만들고, new는 init를 만들기
  • metaclass 방법

  • 이 클래스가 어떻게 생성되는지 정의
  • metaclass = MyType

  • get () 방법


    set () 메서드


    delete() 방법

    좋은 웹페이지 즐겨찾기