python重构迭代_重构 – 迭代的更多pythonic方式

我正在使用属于商业软件API的模块.好消息是有一个

python模块 – 坏消息是它非常unpythonic.

要迭代行,使用以下语法:

cursor = gp.getcursor(table)

row = cursor.next()

while row:

#do something with row

row = cursor.next()

处理这种情况的最pythonic方法是什么?我考虑过创建一个第一类函数/生成器并将调用包装到for循环中:

def cursor_iterator(cursor):

row = cursor.next()

while row:

yield row

row = cursor.next()

[...]

cursor = gp.getcursor(table)

for row in cursor_iterator(cursor):

# do something with row

这是一种改进,但感觉有点笨拙.有更多的pythonic方法吗?我应该围绕表类型创建一个包装类吗?

假设Next和next中的一个是拼写错误并且它们都是相同的,那么您可以使用内置iter函数的不太知名的变体:

for row in iter(cursor.next, None):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值