小编Jon*_*han的帖子

zmq vs redis for pub-sub pattern

redis支持pub-sub
zmq通过消息代理支持pub-sub

在他们之间进行选择的建筑专业人士是什么?
我的目标是超出应该完成的明显的用例特定性能基准测试(这是一个很好的例子).

假设使用Python等高级语言.

architecture publish-subscribe zeromq design-consideration redis

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

将函数参数分配给`self`

我注意到我使用的一个常见模式是为同名属性分配SomeClass.__init__()参数self.例:

class SomeClass():
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
Run Code Online (Sandbox Code Playgroud)

事实上,它必须是其他人的共同任务,以及PyDev有一个快捷方式 - 如果您将光标放在参数列表上并单击Ctrl+1您给出的选项Assign parameters to attributes将为您创建该样板代码.

是否有不同的,简短的方式来完成这项任务?

python boilerplate variable-assignment function-parameter

24
推荐指数
4
解决办法
4145
查看次数

dict.get() - 即使成功,也会对默认arg进行评估

dict.get(key[, default])即使密钥在字典中,为什么评估默认值?

>>> key = 'foo'
>>> a={}
>>> b={key:'bar'}
>>> b.get(key, a[key])
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    b.get(key, a[key])
KeyError: 'foo'
Run Code Online (Sandbox Code Playgroud)

python dictionary

23
推荐指数
3
解决办法
6628
查看次数

Pydev Code完成一切

在许多情况下(例如函数参数),Pydev不会静态地知道变量的类型.因此,代码完成(在.使用之后或使用时ctrl+space)不起作用.

在大多数情况下,您在设计软件时知道运行时的类型.有没有办法暗示Pydev正确编码完成它?

我想这可能需要特定的Pydev功能,或者甚至是新的Python PIP.

这实际上似乎是所有动态语言的一般问题......

更新:
也许有一个例子可以澄清:

def some_func(a_list, an_object):
    a_list.app        # Here I would not get code completion for append
Run Code Online (Sandbox Code Playgroud)

如果Pydev(或PIP)支持它,可以使用的示例:

from someobj import SomeObject
def some_func(a_list, an_object):
    # typecast: a_list=list
    # typecast: an_object=SomeObject
    a_list.app        # Now code completion would show append
Run Code Online (Sandbox Code Playgroud)

我不支持这种特定的方法 - 它只是一个可以工作的系统的例子.同样,当然这不应该是强制性的 - 但有时缺乏提示类型的可能性是令人讨厌的.

python eclipse pydev code-completion

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

C++:使用boost :: dynamic_pointer_cast时,"...不是多态类型"

为什么我收到以下代码的以下错误?

1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259): error C2683: 'dynamic_cast' : 'my_namespace::A' is not a polymorphic type
1>          D:\[location]\[header_filename].h(35) : see declaration of 'my_namespace::A'
1>          C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(522) : see reference to function template instantiation 'boost::shared_ptr<T>::shared_ptr<my_namespace::A>(const boost::shared_ptr<my_namespace::A> &,boost::detail::dynamic_cast_tag)' being compiled
1>          with
1>          [
1>              T=my_namespace::B
1>          ]
1>          [location]\[source_filename].cpp(217) : see reference to function template instantiation 'boost::shared_ptr<T> boost::dynamic_pointer_cast<my_namespace::B,striker::A>(const boost::shared_ptr<my_namespace::A> &)' being compiled
1>          with
1>          [
1>              T=my_namespace::B
1>          ]
1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(260): fatal error C1903: unable to recover from previous error(s); stopping compilation
Run Code Online (Sandbox Code Playgroud)

C++代码或多或少如下:

#include <list>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic-cast compiler-errors shared-ptr

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

在Python中设置Windows命令行终端标题

我在Windows机器上运行了几个Python脚本的实例,每个实例来自不同的目录并使用单独的shell窗口.不幸的是,Windows为每个shell窗口提供了相同的名称:

<User>: C:\Windows\system32\cmd.exe - <script.py>
Run Code Online (Sandbox Code Playgroud)

是否可以通过Python命令将此名称设置为其他名称?

python windows low-latency

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

INSERT INTO ... SELECT,不详细说明所有列

如何从插入选定行table_sourcetable_targetMySQL中,其中使用SQL:

  • 两个表都具有相同的模式
  • 除自动增量外,所有列都应传输 id
  • 没有明确写出所有列名,因为这将是乏味的

琐碎INSERT INTO table_target SELECT * FROM table_source无法在主键重复的条目.

mysql sql database

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

优雅的pythonic cumsum

实现cumsum的优雅和pythonic方式是什么?
或者 - 如果已经有一种内置的方式来做,那当然会更好......

python

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

在Django中QuerySet并行和减法的简单方法?

考虑同一个类的两个QuerySet对象.有没有一种简单的方法可以通过计算联合将它们统一到一个QuerySet中?还有,有一种简单的方法可以减去它们吗?从其中一个集中删除两个集中出现的所有元素?

django django-queryset

18
推荐指数
4
解决办法
1万
查看次数

Python:检查对象是否存在于范围内

可能重复:
Python - 检查变量是否存在

是否有一种高效,简单和pythonic的方法来检查范围中是否存在对象?

在Python中,一切都是对象(变量,函数,类,类实例等),所以我正在寻找一个对象的泛型存在测试,无论它是什么.

我一半期望有一个exists() 内置的功能,但我找不到任何适合的账单.

python

18
推荐指数
4
解决办法
7万
查看次数