オブジェクトにJavascript属性があります
code Python module |
collections Python module |
COM PHP module |
exp |
iat |
io Python module |
JavaScript |
join |
os Python module |
Python functions |
re Python module |
SPL PHP module |
StackOverflow |
stat Python module |
string Python module |
Strings PHP module |
types Python module |
UI PHP module
Michael Zippo
属性は、オブジェクト、データ型、またはクラスに関連付けられた値または関数です。データ型またはクラスがその属性をサポートしていない値の属性を呼び出すと、AttributeErrorが発生します。
このガイドでは、AttributeErrorとは何かとその意味について説明します。コードでPython属性エラーを修正する方法を学ぶことができるように、Python属性エラーの例を見ていきます。
Python属性エラーとは何ですか?
Python属性エラータイプがこのメソッドをサポートしていないオブジェクトの属性を呼び出そうとすると、が生成されます。たとえば、文字列に対して Python append()メソッドを使用しようとすると、文字列はAttributeErrorを返しません。 append()をサポートしていません。
Pythonクラスでは、メソッドと値を定義できます。そのクラスのオブジェクトによって共有されます。これが、クラスをオブジェクトのプロジェクトと考える人がいる理由です。
メソッドまたはクラスを呼び出すことは、そのクラスの属性を参照していることを示す別の言い方です。属性を考える1つの方法は、人の物理的な属性のようなものです。青い目をしている人もいます。髪をピンクに染める人もいます。これらはすべて属性です。
Pythonクラスでは、属性は「eye_color」にすることができます。この属性は、人の目の色を定義できます。属性は関数にすることもできます。 changeEyeColor()という関数は、「eye_color」の値を変更する可能性があります。
データ型には属性があります。たとえば、 Python join()メソッドを使用して、文字列をリストに変換できます。文字列オブジェクトはjoin()メソッドをサポートします。
クラスオブジェクトまたはデータ型に関連付けられていない関数または値を参照しようとすると、AttributeErrorが発生します。
Python属性エラーの例
2つの靴のリストを組み合わせたプログラムを作成しましょう。2つ靴屋は合併しており、販売しているすべてのユニークな靴のリストを作成したいと考えています。
まず、Pythonセットを定義しましょう最初のストアであるHarrisonsShoesの靴が含まれています:
サスペンダーを使用してセットを定義します。次に、マージするストアが提供する靴の名前を使用してセットを定義します。この靴屋はShoeEmporiumと呼ばれています:
これら2つのコレクションはコレクションであるため、一意の値のみを保存できます。これは、それらを追加すると、重複する値のないセットが得られることを意味します。
セットを追加するには、extend()と呼ばれる組み込み関数を使用します。
extend()< / em>は、「shoe_emporium」セット内のすべての靴を「harrisons_shoes」セットに追加します。 print() ステートメントを使用します。これにより、新しいセットのすべての靴を見ることができます。コードを実行して、何が起こるかを見てみましょう。
コードはAttributeErrorを返します。
エラーメッセージは、データ型がコレクションであるオブジェクトに対して extend()メソッドを使用できないことを示しています。これは、 extend()がリストメソッドであるためです。セットではサポートされていません。
2つのセットをマージする場合は、プラス記号を使用する必要があります。
これにより、「shoe_emporium」セットの内容が「harrisons_shoes」セットに追加されます。次に、コンソールで定義された「harrisons_shoes」フォルダーにすべての値を出力します。新しいプログラムを実行してみましょう:
私たちのプログラムは、2つのオリジナルセットのすべての靴を含むセットを返します。元の2つのセットには6つの値がありましたが、現在は5つしかありません。これは、2つの靴が同一であり、セットが一意の値しか保存できないためです。
私たちのプログラムは、2つの元のセットからすべての靴を含む1つのセットを返します。6つの値がありましたが、元の2セットでは、現在5セットしかありません。これは、2つの靴が同じであり、セットが一意の値しか保存できないためです。
調査する類似の属性エラー
属性エラーは非常に一般的です。これらは、そうするデータ型とクラスの属性を呼び出そうとしたときに発生する可能性があります。参照している属性をサポートしていません。
これらのエラーは、属性の参照中にタイプミスをした場合にも発生する可能性があります。 Pythonはコードをそのまま解釈します。タイプミスをすると、Pythonでは、存在しない属性を参照しているように見えます。
たとえば、Python split() リストを分割する一般的です。ただし、 split()は文字列メソッドであるため、リストの分割には使用できません。
詳細については、次のエラーを確認してください。
結論
無効な属性を参照すると、Pythonのエラー属性が生成されます。これらのエラーを解決するには、まず、呼び出している属性が存在することを確認します。次に、属性が操作しているオブジェクトまたはデータ型に関連していることを確認します。
必要な属性が組み込み型に関連付けられていて存在しない場合は、別の属性を探す必要があります。 。別のデータ型で使用できる、あるデータ型の多くの既存の属性の代替手段があります。たとえば、セットを含む extend()メソッドはありませんが、 union()を使用してセットをマージできます。