博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python-Tips
阅读量:6171 次
发布时间:2019-06-21

本文共 1224 字,大约阅读时间需要 4 分钟。

首发自

大部分学自Fluent Python

使用nametuple

nametuple用来构建只有少数属性但是没有方法的对象,比如数据库条目。

<!--more-->

使用python的时候经常会出现这样的问题,我想构建一个很简单的类来进行测试,但是我不得不书写大量的代码,例如

class A:    name = None    num = None    def __init__(self, name, num):            self.name = name            self.num = num    def __str__(self):            return ' name: {}, num: {}’.format(self.name, self.num)

然后才能进行创建。如果使用nametuples的话,这个例子会变成这样:

import collectionsA = collections.namedtuple(‘A', ['name', 'weight'])

这个时候代码量相对较少。

Python模仿Bash管道编程

这个用法十分有趣,重载|操作符来完成这个操作。

class Pipe(object):     def __init__(self, func):         self.func = func             def __ror__(self, other):         def generator():             for obj in other:                 if obj is not None:                     yield self.func(obj)         return generator()         @Pipe def even_filter(num):     return num if num % 2 == 0 else None @Pipe def multiply_by_three(num):     return num*3 @Pipe def convert_to_string(num):     return 'The Number: %s' % num     @Pipe def echo(item):     print item     return item def force(sqs):     for item in sqs:         pass     nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]    force(nums | even_filter | multiply_by_three | convert_to_string | echo)

<未完待续>

<未完待续>

转载地址:http://hetba.baihongyu.com/

你可能感兴趣的文章
安装带有调试信息的C库
查看>>
迷宫的基本实现
查看>>
Ajax跨域请求问题
查看>>
topic4:Qt入门之常用qt控件认知之Button系列
查看>>
jstack:Java堆栈跟踪工具
查看>>
源码安装 python3
查看>>
获取当前fragment
查看>>
linux centeros 7.4 修改主机名
查看>>
关于程序员,你知道的有多少?
查看>>
Tomcat问题汇总
查看>>
由于未预料的错误,现在无法使用nautilus
查看>>
业界最有价值的Linux资料大全(200篇)
查看>>
Arraylist动态扩容详解
查看>>
%cd%及%~dp0批处理命令的详解
查看>>
MySQL数据库负载很高连接数很多怎么处理
查看>>
关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
查看>>
Cent OS 环境下 samba服务器的搭建
查看>>
vCloud Director 1.5.1 Install Procedure
查看>>
hive 中的多列进行group by查询方法
查看>>
Cisco统一通信---视频部分
查看>>