小编Oli*_*eng的帖子

zip(*[iter(s)]*n)如何在Python中运行?

s = [1,2,3,4,5,6,7,8,9]
n = 3

zip(*[iter(s)]*n) # returns [(1,2,3),(4,5,6),(7,8,9)]
Run Code Online (Sandbox Code Playgroud)

zip(*[iter(s)]*n)工作怎么样?如果用更详细的代码编写它会是什么样子?

python iterator

93
推荐指数
6
解决办法
3万
查看次数

在同一终端中一次运行并行多个命令

我想运行一些命令,在按下Ctrl-C之前,每个命令都不会退出.有什么我可以运行同时运行所有这些,Ctrl-C将退出它们吗?他们可以共享终端输出.

具体来说,我有罗盘编译器,coffeescript编译器和一个自定义命令,它监视文件更改所有正在运行的文件更改.我不想为每个命令加载终端.

linux bash

62
推荐指数
4
解决办法
9万
查看次数

weak_ptr如何工作?

我理解如何使用weak_ptrshared_ptr.我shared_ptr通过计算其对象中的引用数来理解它是如何工作的.weak_ptr工作怎么样?我尝试阅读boost源代码,并且我不熟悉boost以了解它使用的所有内容.

谢谢.

c++ boost weak-references tr1 weak-ptr

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

在Python中获取生成器的第n项

是否有更复杂的语法写作方式?

gen = (i for i in xrange(10))
index = 5
for i, v in enumerate(gen):
    if i is index:
        return v
Run Code Online (Sandbox Code Playgroud)

生成器应该有一个gen[index]表达式,作为一个列表,但在功能上与上面的代码完全相同似乎是很自然的.

python generator

56
推荐指数
4
解决办法
3万
查看次数

为什么是monads?它如何解决副作用?

我正在学习Haskell并试图理解Monads.我有两个问题.

据我所知,Monad只是另一个类型类,它声明了与"容器"内部数据交互的方式,包括Maybes,Lists和IOs.用一个概念实现这三个东西似乎很聪明和干净,但实际上,关键在于在一系列函数,容器和副作用中可以进行干净的错误处理.这是正确的解释吗?

其次,副作用问题究竟是如何解决的?使用容器的这个概念,语言基本上说容器内的任何东西都是非确定性的(例如i/o).因为列表和IO都是容器,所以列表与IO等价,尽管列表中的值对我来说似乎非常确定.那么什么是确定性的,有什么副作用?我无法理解一个基本值是确定性的想法,直到你把它放在一个容器中(这与它旁边的一些其他值没有特殊值相同,例如Nothing)它现在可以是随机的.

有人可以直观地解释Haskell如何通过输入和输出来改变状态?我没有看到这里的魔力.

monads haskell

47
推荐指数
5
解决办法
7284
查看次数

在本机Windows应用程序中的资源中嵌入文本文件

我有一个C++ Windows程序.我有一个包含一些数据的文本文件.目前,文本文件是一个单独的文件,它在运行时加载并进行解析.如何将它作为资源嵌入到二进制文件中?

c c++ resources winapi text-files

45
推荐指数
1
解决办法
3万
查看次数

简洁的getattr()方法,如果不是Python中的None,则使用它

我发现自己经常做以下事情:

attr = getattr(obj, 'attr', None)
if attr is not None:
    attr()
    # Do something, either attr(), or func(attr), or whatever
else:
    # Do something else
Run Code Online (Sandbox Code Playgroud)

有更多的pythonic写作方式吗?这是否更好?(至少没有表现,IMO.)

try:
    obj.attr() # or whatever
except AttributeError:
    # Do something else
Run Code Online (Sandbox Code Playgroud)

python

30
推荐指数
4
解决办法
2万
查看次数

应该在版本控制中存储哪些文档以及如何存储它们?

我发现了一些类似的问题(这里,这里,这里),询问是否将文档存储到版本控制中.我有一个更具体的要求和一般性问题.具体要求是我想使用Git.更一般的问题是,如何将文档(用于项目的设计,测试,一般实践,技巧等)存储在Git中?更广泛地说,应该存储哪些文件?

我可以想到几个方面:

  1. Word/Open Office文档.新的Office Word具有docx格式,它可以压缩文档,但它也有一个解压缩的XML格式,可用于在Git中有效地存储差异.尽管如此,diff功能仍然被打破,因为XML被压缩在一条线上.这并不比将二进制文件存储到Git中更好.
  2. 维基.那里存在什么分布式维基?这就像某种Latex事情,文档被编写和编译/视为维基.
  3. 乳胶 - 但从用于纸张我发现它非常不适合文件.是否有相同的文档?(如何编写手册页?)
  4. 纯文本格式,但由于缺少图表而缺乏这一点,这带来了另一个观点.

应该如何存储视觉效果?他们首先应该创作什么?我正在Linux环境中开发,但项目中的其他一些参与者都在Windows上.哪种跨平台解决方案类似于Visio?当然,它不应该创建存储到Git中的二进制文件.那怎么会与文件相关呢?(例如,类似于Latex在编译时可以引用其他图表.)

git documentation version-control diagram wiki

26
推荐指数
3
解决办法
2万
查看次数

使元素的宽度相对于其高度?

我知道可以指定元素相对于宽度的高度,因为百分比边距和填充值是相对于宽度计算的.是否有可能相反 - 宽度相对于高度?

css

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

如何将函数作为类属性赋值成为Python中的方法?

>>> class A(object): pass
>>> def func(cls): pass
>>> A.func = func
>>> A.func
<unbound method A.func>
Run Code Online (Sandbox Code Playgroud)

这个赋值如何创建一个方法?对于类,赋值执行以下操作似乎不直观:

  • 将函数转换为未绑定的实例方法
  • 将函数包含在classmethod()类方法中(实际上,这非常直观)
  • 将函数包含在staticmethod()函数中

似乎第一个应该有一个instancemethod(),而对于最后一个,根本不应该有一个包装函数.我知道这些是用于class块内的用途,但为什么它们应用于它之外呢?

但更重要的是,如何将函数分配到一个类中?什么魔法可以解决这3件事?

更令人困惑的是:

>>> A.func
<unbound method A.func>
>>> A.__dict__['func']
<function func at 0x...>
Run Code Online (Sandbox Code Playgroud)

但我认为在检索属性时,这与描述符有关.我不认为这与设置属性有很大关系.

python class-method

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