前回のブログではクラスの基礎知識について簡単に説明しました。次に、クラスでよく使用されるいくつかのメソッドに焦点を当てます。いわゆるマジック メソッドの明らかな兆候は、メソッド名が 2 つのアンダースコアで囲まれていることです。
(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(with前後にアンダースコア 2 つ) アンダースコア 2 つ)
機能: オブジェクトの削除
class C: def __init__(self): print("我是__init__方法,我被调用了") def __del__(self): print("我是__del__方法,我被调用了") c1=C() c2=c1 c3=c2del c3del c2del c1
ここで注意する必要があるのは、c1 を指すすべてのタグが削除された場合にのみ、システムはガベージ コレクション メカニズムを呼び出すことです
一般的にいくつか使用した魔法のメソッドが最初です。とはいえ、後でさらに追加していきます。
上記は、Python ゼロベース入門の 13 のカテゴリの魔法のメソッドの内容です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。