Python Tips 8

调用函数时,输出额外信息

当我们定义好一个函数准备调用时,我们希望能够同时输出调用此函数时的输入参数。我们可以修改原来的函数,在其中增加输出输入参数的代码,但是改动源代码,或对已经封装好的函数做修改,这很麻烦甚至会引入新的bug。这时我们可以使用装饰器来实现

通过定义一个装饰器,我们不需要修改函数内部的代码,就能实现我们的需求

保存额外环境变量的函数

有时为了保存一些额外的状态,我们会定义一个只有一个方法的类,例如下面这段代码

这种写法则稍显冗余,这时我们可以考虑使用闭包(closeure)将其转化为函数,这样可以简化我们代码,使代码看上去更为优雅

自定义实例的字符串表示

当我们实例化一个类后,其默认的字符串输出是这个实例的地址,这样的输出并没有任何有用的信息

我们可以通过修改__str__和__repr__这两个数据来自定义实例的输出,使其输出一些有用的信息

在Python中,如果同时定义了__str__和__repr__,print方法则会使用__str__的输出结果,在Python控制台中会输出__repr__的输出结果;如果只定义了__repr__,则print方法和控制台都会输出__repr__的输出结果;如果只定义了__str__,print方法会输出__str__的输出结果,而控制则会输出默认的地址信息

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181201G0WWWF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券