加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:18:06 所属栏目:Python 来源:网络整理
导读:我目前正在构建一个模块化的函数管道来处理 Python中的一些数据(2.7). 我坚持一个松散的功能风格,没有任何对象(对于我正在应用它的代码类型和例程,它具有完美的意义,而且到目前为止代码是整洁可读的,设计对象只会使一切变得更加混淆). 为了保持一致,我已经定
我目前正在构建一个模块化的函数管道来处理 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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读