ホームページ  >  記事  >  バックエンド開発  >  Python の特殊関数 __len__(self) について詳しく学ぶ

Python の特殊関数 __len__(self) について詳しく学ぶ

零下一度
零下一度オリジナル
2017-05-23 14:49:322775ブラウズ

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でしか要素を挿入できません! ! !

【関連おすすめ】

1. Pythonのlen()関数の使用例まとめ

2. マスターすべきヒント--Pythonのlenの例を詳しく解説

3. 特別なクラスメソッドの使用に関するサンプルチュートリアル

4. Pythonマジックメソッド__getitem__、__setitem__、__delitem__、__len__がそれぞれ紹介されています

以上がPython の特殊関数 __len__(self) について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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