이전 블로그에서는 클래스의 기본 지식에 대해 간략하게 설명했습니다. 다음으로는 클래스에서 일반적으로 사용되는 몇 가지 방법에 중점을 두겠습니다. 소위 매직 메소드라는 명백한 징후는 메소드 이름이 두 개의 밑줄로 둘러싸여 있다는 것입니다.
(1)_init_
이 메서드를 오버로드하거나 다시 작성하지 않으면 시스템은 자동으로 시스템 기본 init 메서드를 호출합니다. 필요에 맞게 이 메서드를 다시 작성하면 다시 작성한 메서드가 자동으로 재정의됩니다. 시스템의 기본 방법.
class Ball: def __init__(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball("土豆") a.kick()
init 메소드를 직접 다시 작성한 후 객체를 인스턴스화할 때 매개변수를 채울 수 있습니다.
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())
(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
여기에 필요합니다. 참고: c1을 가리키는 모든 태그가 삭제된 경우에만 시스템은 가비지 수집 메커니즘을 호출합니다.
여기서는 몇 가지 일반적인 마법 메서드를 먼저 언급하고 나중에 추가할 것입니다.
위 내용은 파이썬 제로 기반 소개의 13개 카테고리 매직메소드 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!