小编rog*_*rog的帖子

如何在Python中分析多线程程序?

我正在使用Python开发一个固有的多线程模块,我想知道它在哪里花费时间.cProfile似乎只是描述主线程.有没有办法分析计算中涉及的所有线程?

python multithreading profiling

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

是否有一个容易实现的erf()为Python实现?

我可以实现错误功能,erf,我自己,但我不愿意.是否有一个没有外部依赖项的python包,其中包含此函数的实现?我发现了这个,但这似乎是一些更大的包的一部分(甚至不清楚哪一个!).

python math

50
推荐指数
7
解决办法
5万
查看次数

什么是子类化Python集合类的正确(或最佳)方法,添加新的实例变量?

我正在实现一个几乎与集合相同的对象,但需要一个额外的实例变量,所以我是内置集合对象的子类.在复制其中一个对象时,确保复制此变量的值的最佳方法是什么?

使用旧的set模块,以下代码完美地运行:

import sets
class Fooset(sets.Set):
    def __init__(self, s = []):
        sets.Set.__init__(self, s)
        if isinstance(s, Fooset):
            self.foo = s.foo
        else:
            self.foo = 'default'
f = Fooset([1,2,4])
f.foo = 'bar'
assert( (f | f).foo == 'bar')
Run Code Online (Sandbox Code Playgroud)

但是使用内置的设置模块不起作用.

我能看到的唯一解决方案是覆盖返回复制的set对象的每个方法...在这种情况下,我可能不会打扰子类化set对象.当然有一种标准的方法可以做到这一点?

(为了澄清,下面的代码并不能正常工作(断言失败):

class Fooset(set):
    def __init__(self, s = []):
        set.__init__(self, s)
        if isinstance(s, Fooset):
            self.foo = s.foo
        else:
            self.foo = 'default'

f = Fooset([1,2,4])
f.foo = 'bar'
assert( (f | f).foo == 'bar')
Run Code Online (Sandbox Code Playgroud)

)

python subclass instance-variables set

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