>  기사  >  백엔드 개발  >  Python에 대한 0 기반 소개 - 13개 범주의 매직 메서드

Python에 대한 0 기반 소개 - 13개 범주의 매직 메서드

黄舟
黄舟원래의
2017-01-16 14:38:001298검색

이전 블로그에서는 클래스의 기본 지식에 대해 간략하게 설명했습니다. 다음으로는 클래스에서 일반적으로 사용되는 몇 가지 방법에 중점을 두겠습니다. 소위 매직 메소드라는 명백한 징후는 메소드 이름이 두 개의 밑줄로 둘러싸여 있다는 것입니다.
(1)_init_
이 메서드를 오버로드하거나 다시 작성하지 않으면 시스템은 자동으로 시스템 기본 init 메서드를 호출합니다. 필요에 맞게 이 메서드를 다시 작성하면 다시 작성한 메서드가 자동으로 재정의됩니다. 시스템의 기본 방법.

class Ball:
     def __init__(self,name):
          self.name=name     def kick(self):
          print("我叫%s,该死的,谁踢我......"%self.name)
a=Ball("土豆")
a.kick()

init 메소드를 직접 다시 작성한 후 객체를 인스턴스화할 때 매개변수를 채울 수 있습니다.

Python에 대한 0 기반 소개 - 13개 범주의 매직 메서드

class Rectangle:
     def __init__(self,x,y):
          self.x=x
          self.y=y     def getPeri(self):
          return (self.x+self.y)*2
     def getArea(self):
          return self.x * self.y
rect=Rectangle(3,4)
print(rect.getArea())
print(rect.getPeri())

Python에 대한 0 기반 소개 - 13개 범주의 매직 메서드

(2)new(앞뒤에 밑줄 2개)
이 메서드는 일반적으로 init 메서드보다 먼저 호출됩니다. 사용되지 않을 것이므로 여기서는 반복하지 않겠습니다
(3)del (앞뒤에 밑줄 2개)
기능: 개체 삭제

class C:
     def __init__(self):
          print("我是__init__方法,我被调用了")     def __del__(self):
          print("我是__del__方法,我被调用了")
c1=C()
c2=c1
c3=c2del c3del c2del c1

Python에 대한 0 기반 소개 - 13개 범주의 매직 메서드

여기에 필요합니다. 참고: c1을 가리키는 모든 태그가 삭제된 경우에만 시스템은 가비지 수집 메커니즘을 호출합니다.
여기서는 몇 가지 일반적인 마법 메서드를 먼저 언급하고 나중에 추가할 것입니다.

위 내용은 파이썬 제로 기반 소개의 13개 카테고리 매직메소드 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.