Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonクラスの自己


このチュートリアルでは、自己について学習します。 Python 。 Pythonを使用している場合は、これに精通している必要があります。興味深いことがいくつかあります。

注-selfはPythonのキーワードではありません。

Pythonでのselfの最も一般的な使用法から始めましょう 。

自己を使用します オブジェクトのインスタンスを表すクラスで。複数のクラスを作成することができ、各インスタンスは異なる値を持ちます。そして自己 クラスインスタンス内でこれらのプロパティ値を取得するのに役立ちます。例を見てみましょう。

# class
class Laptop:
   # init method
   def __init__(self, company, model):
      # self
      self.company = company
      self.model = model

クラスのプロパティをself。[something]として定義しています。 。したがって、クラスのインスタンスを作成するときはいつでも 、自己 クラスのプロパティまたはメソッドにアクセスしている別のインスタンスを参照します。

次に、クラスラップトップの2つのインスタンスを作成しましょう。 自己がどのように機能するかを確認してください 。

# class
class Laptop:
   # init method
   def __init__(self, company, model):
      # self
      self.company = company
      self.model = model
# creating instances for the class Laptop
laptop_one = Laptop('Lenovo', 'ideapad320')
laptop_two = Laptop('Dell', 'inspiron 7000')
# printing the properties of the instances
print(f"Laptop One: {laptop_one.company}")
print(f"Laptop Two: {laptop_two.company}")
>

出力

上記のコードを実行すると、次の結果が得られます。

Laptop One: Lenovo
Laptop Two: Dell

同じプロパティに2つの異なる名前を付けました。その背後にある詳細を見てみましょう。

Python 参照を送信します インスタンスにアクセスしている間、デフォルトでインスタンスにメソッド またはリファレンス 自己に捕らえられている 。したがって、インスタンスごとに参照は異なります。そして、それぞれのインスタンスプロパティを取得します。

自己 Pythonのキーワードではありません 。これは、インスタンスのプロパティやメソッドにアクセスするときに送信する必要がない引数のようなものです。

Python インスタンスへの参照が自動的に送信されます。任意の変数名でインスタンスのをキャプチャできます。次のコードを実行して、出力を確認します。

import inspect
# class
class Laptop:
   # init method
   def __init__(other_than_self, company, model, colors):
      # self not really
      other_than_self.company = company
      other_than_self.model = model
      other_than_self.colors_available = colors
      # method
      def is_laptop_available(not_self_but_still_self, color):
         # return whether a laptop in specified color is available or not
         return color in not_self_but_still_self.colors_available
         # creating an instance to the class
         laptop = Laptop('Dell', 'inspiron 7000', ['Silver', 'Black'])
# invoking the is_laptop_available method withour color keyword
print("Available") if laptop.is_laptop_available('Silver') else print("Not available")
print("Available") if laptop.is_laptop_available('White') else print("Not available")

出力

上記のコードを実行すると、次の結果が得られます。

Available
Not available

名前を自分に変更しました 他の何かに 。しかし、それでも、以前と同じように機能します。違いはありません。だから、自己 キーワードではありません。さらに、自分を好きなように変えることができます。議論のようなものです。

注-ベストプラクティスは、自己を使用することです。 。これは、すべてのPythonプログラマーが従う標準です

結論

チュートリアルで疑問がある場合は、コメントセクションでそれらについて言及してください。


  1. Python-Kivyのボタンアクション

    Kivyは、マルチタッチアプリなどの革新的なユーザーインターフェイスを利用するアプリケーションを迅速に開発するためのオープンソースのPythonライブラリです。これは、Androidアプリケーションとデスクトップアプリケーションの開発に使用されます。この記事では、ボタンが押されたときにイベントを使用する方法を説明します。 次の例では、水平のBoxLayoutにボタンとラベルを作成しました。ボタンとラベルに最初のテキストを付けます。次に、ボタンをクリックするためのイベントを作成します。これにより、ボタンとラベルの両方のテキストが変更されます。これは単一のPythonファイルです。 例 from

  2. Pythonでの継承

    この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen