美文网首页
特殊函数

特殊函数

作者: 黑夜的眸 | 来源:发表于2018-08-07 11:57 被阅读0次

__str__

Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员

class Person(object):

    def __init__(self, name, gender):
        self.name = name
        self.gender = gender

class Student(Person):

    def __init__(self, name, gender, score):
        super(Student, self).__init__(name, gender)
        self.score = score

    def __str__(self):
        return '(Student: {name}, {gender}, {score})'.format(name=self.name,gender=self.gender,score=self.score)
        __repr__ = __str__

s = Student('Bob', 'male', 88)
print s

__cmp__

下面的Student 的 cmp 方法,让它按照分数从高到底排序,分数相同的按名字排序:

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def __str__(self):
        return '(%s: %s)' % (self.name, self.score)

    __repr__ = __str__

    def __cmp__(self, s):
        return cmp(self.name,s.name) if s.score == self.score else cmp(s.score,self.score)

L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]
print sorted(L)

输出结果
[(Alice: 99), (Tim: 99), (Bob: 88)]

__len__

斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。
以下编写了一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。

class Fib(object):
    def __init__(self, num):
        self.lst = []
        self.num = num
        a,b = 0,1
        for i in xrange(num):
            self.lst.append(a)
            a,b = b, a+b
    
    def __len__(self):
        return self.num
    
    def __str__(self):
        return str(self.lst)

f = Fib(10)
print f
print len(f)

相关文章

  • 函数 -- 特殊函数

    匿名函数 python 使用 lambda 来创建匿名函数。所谓匿名,即不再使用 def 语句这样标准的形式定义一...

  • 特殊函数

    __str__ Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给...

  • 特殊函数

    特殊函数 lambda lam = lambda x,y: x+ytype(lam)

  • 特殊函数不特殊

    学习量子力学,就要解微分方程,解微分方程,就离不开特殊函数,先前,被这些函数的气势所吓,碰见就绕着走,结果,问题是...

  • python特殊函数

    在Python中,有几个特别的函数,它们常常被看做是Python能够进行所谓“函数式编程”的见证。它们是:filt...

  • 浅析c++三大函数--GeekBand

    浅析c++ 三大函数 三大函数的特殊性 c++三大函数指的是拷贝构造、拷贝赋值、析构函数。这3个函数比较特殊: 一...

  • Swift--构造与析构

    构造函数 构造函数重载 析构函数 构造函数 在面向对象的数据类型中有一种特殊的函数或者叫做特殊的方法,它的作用是用...

  • 嵌套-递归-内置函数

    在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数 JavaScript特殊函...

  • 构造函数和析构函数(Destructor)

    在正式介绍析构函数之前, 需要先讲一下构造函数,它是一种特殊的成员函数,主要是用来初始化对象。 构造函数: 特殊的...

  • Python学习笔记

    参考文章 Python学习笔记[2] 一步一步教你认识Python闭包 高阶函数 特殊的函数,特殊在能将函数作为参...

网友评论

      本文标题:特殊函数

      本文链接:https://www.haomeiwen.com/subject/skuovftx.html