python – 跨多个链式函数的namedTuples定义

我目前正在构建一个模块化的函数管道来处理 Python中的一些数据(2.7).

我坚持一个松散的功能风格,没有任何对象(对于我正在应用它的代码类型和例程,它具有完美的意义,而且到目前为止代码是整洁可读的,设计对象只会使一切变得更加混淆).

为了保持一致,我已经定义了一个自定义名称元组,带有字段名称等.
这个想法是初始函数读取一些数据文件并返回这些特别定义的元组之一.以下函数将读取它,使用数据字段并返回一个新的元组(因为它们是不可变的)和更改.但是,我似乎无法避免必须执行导入集合并重新定义自定义类型 – 请参阅代码示例.

import collections
def NewFunction(MyCustomType):

    a = ...
    b = ...

    MyCustomType = collections.namedtuple('MyCustomType','a,b')
    return MyCustomType(a,b)

它并没有真正引起问题,但我很好奇,好像没有更多的“全球”方式来做这件事而没有那么多的重复.如果有,是不是我做的更多“副作用免费”又称功能? (对不起,这里实际上有两个问题:第一个是实际的封闭式python问题,第二个是更开放/哲学的问题.)

提前致谢!

解决方法

namedtuple()函数基本上是一个类工厂.在模块级别构建该类一次:
import collections

MyCustomType = collections.namedtuple('MyCustomType',b')

然后在任何地方导入MyCustomType.它只是一个类,每次要构建元组时都不必重新创建该类.

import somemodule

def NewFunction(param):

    a = ...
    b = ...

    return somemodule.MyCustomType(a,b)

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...