调用函数时,输出额外信息
当我们定义好一个函数准备调用时,我们希望能够同时输出调用此函数时的输入参数。我们可以修改原来的函数,在其中增加输出输入参数的代码,但是改动源代码,或对已经封装好的函数做修改,这很麻烦甚至会引入新的bug。这时我们可以使用装饰器来实现
通过定义一个装饰器,我们不需要修改函数内部的代码,就能实现我们的需求
保存额外环境变量的函数
有时为了保存一些额外的状态,我们会定义一个只有一个方法的类,例如下面这段代码
这种写法则稍显冗余,这时我们可以考虑使用闭包(closeure)将其转化为函数,这样可以简化我们代码,使代码看上去更为优雅
自定义实例的字符串表示
当我们实例化一个类后,其默认的字符串输出是这个实例的地址,这样的输出并没有任何有用的信息
我们可以通过修改__str__和__repr__这两个数据来自定义实例的输出,使其输出一些有用的信息
在Python中,如果同时定义了__str__和__repr__,print方法则会使用__str__的输出结果,在Python控制台中会输出__repr__的输出结果;如果只定义了__repr__,则print方法和控制台都会输出__repr__的输出结果;如果只定义了__str__,print方法会输出__str__的输出结果,而控制则会输出默认的地址信息
领取专属 10元无门槛券
私享最新 技术干货