Rumah > pembangunan bahagian belakang > Tutorial Python > 深入了解python中的特殊函数 __len__(self)

深入了解python中的特殊函数 __len__(self)

零下一度
Lepaskan: 2017-05-23 14:49:32
asal
2929 orang telah melayarinya

len如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。要让 len() 函数工作正常,类必须提供一个特殊方法len(),它返回元素的个数。
例如,我们写一个 Students 类,把名字传进去:

class Students(object):    def init(self, *args):
        self.names = args    def len(self):        return len(self.names)
Salin selepas log masuk

只要正确实现了len()方法,就可以用len()函数返回Students实例的“长度”:

>>> ss = Students('Bob', 'Alice', 'Tim')>>> print len(ss)3
Salin selepas log masuk

任务
斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。
请编写一个Fib类,Fib(10)表示数列的前10个元素,print 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)
Salin selepas log masuk

list只能通过append 和 insert来插入元素!!!

【相关推荐】

1. 总结Python中len()函数的使用实例

2. 必须掌握的小知识--Python len实例详解

3. python专用类方法使用的实例教程

4. Python魔术方法__getitem__、__setitem__、__delitem__、__len__分别介绍

Atas ialah kandungan terperinci 深入了解python中的特殊函数 __len__(self). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan