使用下一个非空值的平摊值填充
本文记录了一个数据处理的小项目。需求如下:
-
一列数据中 存在零值 。
-
我们需要 用下一个非零值进行填充 。
- 用于填充的值 是“下一个非零值”除以“这一段零值的长度 +1”,也就是将下一个非零值平摊后进行填充。
本文还记录了如何向同一个工作簿中导出多个工作表。
本文记录了一个数据处理的小项目。需求如下:
一列数据中 存在零值 。
我们需要 用下一个非零值进行填充 。
本文还记录了如何向同一个工作簿中导出多个工作表。
在 Python 中,我们经常会使用继承来构建类之间的关系。继承可以让子类获得父类的属性和方法,在代码复用和扩展功能方面非常有用。然而,当我们需要在一个类中引入多个不相关的功能时,继承的方式可能会变得复杂和混乱。这时,就可以使用 Mixin 以一种更灵活的方式来扩展类的功能。
Python 中常见的方法分三种:实例方法、类方法和静态方法。实例方法最为常见,也最容易理解,而另外两种方法则稍难理解。本文介绍了类方法和静态方法的用途,并提供了代码示例。
本文是 Python 进阶教程系列 10,主要介绍了 Python 组合模式。
组合模式是一种结构型设计模式,它允许我们将对象组合成树形结构来表示“部分 - 整体”的层次结构。组合模式使得客户端能够以相同的方式处理单个对象和组合对象,从而使得客户端代码更加简单和通用。
本文是 Python 进阶教程系列 9,主要介绍了 Python 单例模式。
在软件开发中,单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供全局访问点。Python 作为一种灵活而强大的编程语言,也提供了多种实现单例模式的方法。
本文将介绍 Python 中常用的两种单例模式实现方式:基于模块和基于类装饰器。
本文是 Python 进阶教程系列 8,主要介绍了 Python 代理模式。
代理模式是一种结构型设计模式,它允许通过创建一个代理对象来控制对另一个对象的访问。在软件开发中,代理是对象的一种封装,它可以隐藏实际对象的复杂性,并提供简洁的接口供其他对象使用。
代理模式有以下几个优点:
本文是 Python 进阶教程系列 7,主要介绍了 Python 工厂模式。
工厂模式是指调用方可以通过调用一个简单函数就可以创建不同的对象。工厂模式一般包含工厂方法和抽象工厂两种模式。
本文转载了 Python 设计模式:工厂模式(factory pattern)。
mypy
进行类型提示本文是 Python 进阶教程系列 6,主要介绍了使用 mypy
进行类型提示。
Python 是一门动态类型的编程语言,这意味着我们在编写代码时并不需要显式地声明变量的类型。然而,对于大型项目或需要和他人合作的项目来说,类型提示可以提供更好的代码健壮性和可读性。
为了实现类型提示,Python 社区开发了许多工具,其中之一就是 mypy
。mypy
是一个静态类型检查器,它可以在不运行代码的情况下分析代码并发现潜在的类型错误。通过使用类型注释,mypy
可以提供更好的代码可读性和可维护性,同时还能帮助捕获潜在的错误。
本文是 Python 进阶教程系列 5,主要介绍了 Python 私有化及 _
下划线命名用途,以及使用 getter
、 setter
和 property
来修改被保护的属性。
本文部分转载了 Python 私有化及 _
下划线命名用途,已获得原作者授权。
Python 中没有真正的私有属性或方法,但有一些和命名有关的约定,让编程人员处理一些需要私有化的情况。我们常常需要区分私有方法、属性和公有方法、属性以方便管理和调用,在 Python 中如何做呢?
在变量、方法命名中有下列几种情况:
xx
公有变量/方法_xx
前置单下划线__xx
前置双下划线__xx__
前后双下划线xx_
后置单下划线接下来分别介绍这几种带下划线命名的特性与区别。
本文是 Python 进阶教程系列 4,主要介绍了 sys
和 argparse
解析命令行参数。
命令行参数是指在运行程序时传递给程序的参数。例如,我们可以通过命令行参数来指定要处理的文件名、设置程序的配置选项等。