ホームページ >バックエンド開発 >Python チュートリアル >Python の特殊関数 __len__(self) について詳しく学ぶ
len クラスがリストのように動作する場合、要素の数を取得するには、len() 関数を使用する必要があります。 len() 関数が正しく動作するには、クラスが要素の数を返す特別なメソッド len() を提供する必要があります。
たとえば、Students クラスを作成し、名前を渡します:
class Students(object): def init(self, *args): self.names = args def len(self): return len(self.names)
len() メソッドが正しく実装されている限り、len() 関数を使用して Student インスタンスの「長さ」を返すことができます:
>>> ss = Students('Bob', 'Alice', 'Tim')>>> print len(ss)3
タスク
フィボナッチ数列は0、1、1、2、3、5、8...で構成されます。
Fib クラスを作成してください。Fib(10) はシーケンスの最初の 10 要素を表します。 len(Fib(10)) はシーケンスの最初の 10 要素を出力できます。シーケンス。
num に基づいてフィボナッチ数列の最初の N 要素を計算する必要があります。
参考コード:
class Fib(object): def init(self, num): a, b, L = 0, 1, [] for n in range(num): L.append(a) a, b = b, a + b self.numbers = L def str(self): return str(self.numbers) repr = str def len(self): return len(self.numbers) f = Fib(10)print fprint len(f)
Listはappendとinsertでしか要素を挿入できません! ! !
【関連おすすめ】
2. マスターすべきヒント--Pythonのlenの例を詳しく解説
3. 特別なクラスメソッドの使用に関するサンプルチュートリアル
4. Pythonマジックメソッド__getitem__、__setitem__、__delitem__、__len__がそれぞれ紹介されています
以上がPython の特殊関数 __len__(self) について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。