小编Fro*_*Zzz的帖子

为什么Python的队列在qsize()中返回一个近似大小?

在qsize()的文档中,它说:返回队列的大致大小.

为什么它不能只返回此队列的确切大小?我理解Queue可能被多个线程访问,但是此刻我调用该函数我认为仍然可以返回该时刻的确切大小.

python multithreading

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

在python中,为什么从数组中读取比从列表中读取要慢?

我最近在学习python,并且正在使用该语言进行许多练习.

我发现有趣的一点是,当我从数组中读取时,它几乎比列表慢一半的时间.有人知道为什么吗?

这是我的代码:

from timeit import Timer
import array

t = 10000
l = range(t)
a = array.array('i', l)
def LIST():
    for i in xrange(t):
        l[i]

def ARRAY():
    for i in xrange(t):
        a[i]

print Timer(LIST).timeit(1000);
print Timer(ARRAY).timeit(1000);

输出是:

0.813191890717
1.16269612312

表示读取数组比列表慢.我认为数组是一个固定大小的内存,而list是一个动态结构.所以我假设数组比列表更快.

有没有人有任何解释?

python

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

为什么在python的内置sum函数中有一个start参数

sum函数中,原型是sum(iterable [,start]),它将可迭代对象中的所有内容加上起始值相加.我想知道为什么这里有起始价值?有没有特定的用例需要这个值?

请不要再举例说明如何使用start.我想知道为什么它存在于这个函数中.如果sum函数的原型只是sum(可迭代),并且如果iterable为空则返回None,一切都会正常工作.那么为什么我们需要从这里开始呢?

python

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

在.NET中检查和取消选中的异常

当我在阅读APUE(UNIX环境中的高级编程)时,一个奇怪的想法来到我身边.

似乎在UNIX的错误处理中,有两种类型的错误(FATAL和INFATAL).我觉得这与JAVA中的已检查和未经检查的异常有关.

因此,总而言之,在一个程序中,您有两种错误,其中一种是关键的,会导致系统崩溃,而您却无能为力.另一个更像是一个信号,你可以抓住并做一些事情来解决它.

我听说在C#中没有检查和未检查的异常,所以C#没有关键和非关键错误的概念吗?只是非常好奇,因为我认为这个概念非常基础.

更新:其他语言的例外设计是什么?任何人都可以谈论这个吗?

.net c c# java unix

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

BerkeleyDB是开源的吗?我在哪里可以找到它的源代码?

似乎BerkeleyDB被Oracle收购,它没有在其网站上发布源代码?

berkeley-db

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

为什么数据库在安装时需要单独的用户帐户?

当我在Mac OS中安装PostgreSQL时,我需要创建一个名为"postgres"的用户来安装数据库.我认为同样的事情适用于Unix中的许多其他数据库.那么我们需要新用户的原因是什么?安装?

database unix security postgresql

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

在Mac OS终端中运行python时内存泄漏

我刚刚在Mac OS终端上运行了一个python程序,并且存在异常的内存泄漏.

程序很简单,如下所示:

for i in xrange(1000000000, 2000000000, 10):
  i2 = i * i
  print i, i2, str(i2)[::2]
  if str(i2)[::2] == '1234567890':
    break

当程序运行时,它消耗的内存越来越多,直到它耗尽我的所有内存.当我终止程序时,我的Terminal.app仍然消耗大量内存,所以我猜这是Terminal.app中的一个错误?

有没有人有类似的经历?

python macos terminal memory-leaks

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