【函数】
文章平均质量分 80
函数
Bruce小鬼
**高级测试开发**
- 技术是在不断打磨中成长,
- 能力是在不断采坑中成熟,
- 技术人的路就是在采坑中寻找乐趣,在成长过程中不断成熟。
> 书山有路勤为径,学海无涯苦作舟
关注:brucelong.blog.csdn.net
展开
-
functools函数式编程-高阶函数
functools是一个专门用来处理函数的内置模块,其中有十几个和函数相关的有用工具,用于处理其它函数的特殊函数,增强函数的作用。下面详细介绍functools模块中各个工具如何应用到开发场景中,解决相关类型的问题。当我们创建了类对象后,是不能直接比较对象的大小。需要重写比较方法,这种方法写起来既没有技术含量,而且方法比较多,如果每个都要写一遍既浪费时间,代码有显得臃肿。这个时候使用total_ordering装饰器只需要写2个比较大小关系方法,其他的比较大小逻辑会自动创建。原创 2023-02-08 14:48:14 · 501 阅读 · 0 评论 -
sort方法实现复杂排序
列表的sort方法可以根据自然顺序给其中的字符串、整数、元组等内置类型的元素进行排序。普通对象如果通过特殊方法定义了自然顺序,那么也可以用sort方法来排列,但这样的对象并不多见。可以把辅助函数传给sort方法的key参数,让sort根据这个函数所返回的值来排列元素顺序,而不是根据元素本身来排列。如果排序时要依据的指标有很多项,可以把它们放在一个元组中,让key函数返回这样的元组。对于支持一元减操作符的类型来说,可以单独给这项指标取反,让排序算法在这项指标上按照相反的方向处理。原创 2022-12-02 18:13:49 · 1133 阅读 · 1 评论 -
repr函数输出调试信息
对于内置类型外的类型来说,print函数所打印的默认就是示例的repr值,所以无需专门调用repr,object子类的repr默认实现不是很有用,举个例子看下。obj = OpaqueClass(1 , 'foo') # 默认调用repr输出信息 print(obj)运行上面的代码,输出的信息只有一个实例地址。对于调试来说参考价值不大,下面我们来重写repr输出自定义信息。如果这个类是受我们控制,那么可以重写repr魔法函数定义输出信息。原创 2022-11-30 17:49:01 · 360 阅读 · 0 评论 -
函数高级用法
当我们为函数参数设置了默认值,不强制要求调用方提供这些参数以后,会引入另一件麻烦事,无法严格区分调用方是不是真的提供了这个默认参数。def dump_value(value , extra = None) : if extra is None : # 无法区分是否提供None 是不是主动传入。# 两种调用方式 dump_value(value) dump_value(value , extra = None)对于dump_value() 函数来说,当调用方使用上面两种方式来调用它时,它其实无法分辨。原创 2022-09-16 21:04:15 · 830 阅读 · 0 评论