小编can*_*dry的帖子

类定义体中的裸字符串是什么意思?

以下是一段代码django.core.exceptions:

class MiddlewareNotUsed(Exception):
    "This middleware is not used in this server configuration"
    pass
Run Code Online (Sandbox Code Playgroud)

类的主体中的裸字符串仅仅是文档的文字吗?还是它表现出一些魔力?

python

2
推荐指数
1
解决办法
247
查看次数

对于python迭代器,下一个方法是否是引用透明的?

对我来说,似乎很明显是一个Iterator对象X,方法:

  • X.next() python 2.x
  • X.__next__() python 3.x

不是引用透明的,因为每次调用都会返回不同的结果.但是,我只需要确认我是对的.谢谢.

python functional-programming

2
推荐指数
1
解决办法
92
查看次数

你如何决定你的函数是否应该使用指针作为接收器?

考虑二叉树节点:

type Node struct {
    value uint8
    left, right *Node
}
Run Code Online (Sandbox Code Playgroud)

如果我想为每个节点添加一个函数,它应该是:

A:  func (n *Node) height() int
Run Code Online (Sandbox Code Playgroud)

要么

B:  func (n Node) height() int
Run Code Online (Sandbox Code Playgroud)

我想知道你会选择A或B中的哪一个以及为什么.

我可以建模链表或递归结构,但我不知道接收器何时应该是指针还是非指针.

go

2
推荐指数
2
解决办法
102
查看次数

为什么不能捕获Exception而不是更具体的URLError?

try:
    response = urllib2.urlopen(req)
except Exception, e:
    logger.exception(e)
Run Code Online (Sandbox Code Playgroud)

是否有任何令人信服的论据反对捕获Exception而不是urllib2.URLError在此代码片段中?

python

1
推荐指数
1
解决办法
268
查看次数

是否可以覆盖Model.objects.all()方法?

我想在MyModel.objects.all()调用方法时返回查询集的过滤版本.可以这样做吗?

django

1
推荐指数
1
解决办法
69
查看次数

是否有更短的代码来加入字典的键和值?

是否有更短或更好的代码段来完成以下操作:

>>> h = { 'apple' : 'ipad' , 'amazon': 'kindle' }
>>> [' '.join(item) for item in zip( h.keys(), h.values())]
[ 'apple ipad', 'amazon kindle' ]
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
76
查看次数

什么是高阶函数foldl和foldr的实际例子?

典型的学术示例是总结一个列表.是否有现实世界中使用折叠的例子可以阐明其实用性?

functional-programming fold catamorphism

1
推荐指数
1
解决办法
776
查看次数

如何避免将循环索引泄露到python 2.x的命名空间?

for i in mylist:
    process(i)

[process(j) for j in mylist]
Run Code Online (Sandbox Code Playgroud)

在执行结束,ij留在命名空间的最后一个值mylist.

除了创建一个隐藏i泄漏的专门功能; 隐藏循环索引的其他方法是什么?

python language-design python-2.x python-2.7

1
推荐指数
1
解决办法
173
查看次数

这是用于检查None(s)的惯用python吗?

我的意图是d即使key缺少项目(标识为),也有一个默认值adict.

d = QueryDict('')
try:
    if adict['key'] is not None:
        d = adict['key'].copy()
except KeyError:
    pass

# use d ...
Run Code Online (Sandbox Code Playgroud)

我对使用该异常处理程序感到畏缩.我违反了任何python代码样式吗?

python

0
推荐指数
2
解决办法
282
查看次数

这是一个curried operator.add函数的正确实现吗?

这篇博文提出了一个curried附加函数的实现:

def addN(n):
    return lambda x: x + n

def plus(a, b):
    addA=addN(a)
    return addA(b)
Run Code Online (Sandbox Code Playgroud)

我相信我的版本更正确,因为它一直使用一元函数.

from operator import add
plus = lambda a: lambda b: add(a, b) 
plus(1)(2)
Run Code Online (Sandbox Code Playgroud)

你怎么看 ?

python functional-programming

-1
推荐指数
1
解决办法
139
查看次数