您的位置:首页 > 编程语言 > Python开发

Python每日小结(四)

2017-10-25 22:13 369 查看

       1.Python特殊函数__call__()

        在Python中,函数其实是一个对象,比如说:

       


        在上面的代码中,由于f可以被调用,所以,f被称为可调用对象。

        所有函数都是可调用对象,一个类实例也可以变成一个可调用对象,只需要我们自己去实现一个特殊方法__call__():

       


        我们为类Person实现了__call__函数,从而使得类Person的实例p可以作为函数进行调用

 

       2.__str__和__repr__

        直接用例子进行说明:

       


        如果我们不设置__str__函数以及__repr__函数的话,则会得到如上的输出,打印得到的对象并不是很友好,显示的是对象的内存地址。

        如果我们设置了__str__函数,则会得到如下结果:

       


        此时我们调用print函数会按照我们指定的输出格式进行输出,但是直接输出对象显示的仍然是对象的内存地址。

        那如果我们实现了__repr__函数呢?

       


        此时,我们不论是直接输出对象还是调用print函数,都会得到我们所指定的输出结果,恩,很友好,至少在用户体验上,如果能够和标准库的使用方法一致,那么就最好不过了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: