ホームページ  >  記事  >  バックエンド開発  >  ゼロベースの Python 入門 - 13 のカテゴリーの魔法のメソッド

ゼロベースの Python 入門 - 13 のカテゴリーの魔法のメソッド

黄舟
黄舟オリジナル
2017-01-16 14:38:001339ブラウズ

前回のブログではクラスの基礎知識について簡単に説明しました。次に、クラスでよく使用されるいくつかのメソッドに焦点を当てます。いわゆるマジック メソッドの明らかな兆候は、メソッド名が 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 メソッドを自分で書き直した後、オブジェクトをインスタンス化するときにパラメーターを入力できるようになります。

ゼロベースの Python 入門 - 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 入門 - 13 のカテゴリーの魔法のメソッド

(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

ゼロベースの Python 入門 - 13 のカテゴリーの魔法のメソッド

ここで注意する必要があるのは、c1 を指すすべてのタグが削除された場合にのみ、システムはガベージ コレクション メカニズムを呼び出すことです
一般的にいくつか使用した魔法のメソッドが最初です。とはいえ、後でさらに追加していきます。

上記は、Python ゼロベース入門の 13 のカテゴリの魔法のメソッドの内容です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。