小编Jim*_*ard的帖子

使用aiohttp/asyncio进行1百万请求 - 字面意思

我跟进了这个教程:https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html,当我做50 000个请求时,一切正常.但我需要进行1百万个API调用,然后我对此代码有问题:

    url = "http://some_url.com/?id={}"
    tasks = set()

    sem = asyncio.Semaphore(MAX_SIM_CONNS)
    for i in range(1, LAST_ID + 1):
        task = asyncio.ensure_future(bound_fetch(sem, url.format(i)))
        tasks.add(task)

    responses = asyncio.gather(*tasks)
    return await responses
Run Code Online (Sandbox Code Playgroud)

因为Python需要创建100万个任务,它基本上只是滞后然后Killed在终端中打印消息.是否有任何方法可以使用预先制作的(或列表)网址的发生器?谢谢.

python python-3.x python-asyncio aiohttp python-3.5

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

进行大型int计算时python3中的奇怪错误

我试图在Python 3.5.2中这样做:

int(204221389795918291262976/10000)
Run Code Online (Sandbox Code Playgroud)

但得到了意想不到的结果: 20422138979591827456

它在Python 2.7.12中工作正常,结果是: 20422138979591829126L

知道为什么Python 3给了我错误的结果吗?

python python-3.x

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

Python 如何将字符串与整数进行比较?

鉴于以下代码:

a = '1'
if a == 1:
    print 'yes'
else:
    print 'no'
Run Code Online (Sandbox Code Playgroud)

我们得到输出为no

Python 如何将字符串值与这里的 int 值进行比较 ( if a == 1)?在 C 中,这样的比较会产生错误,因为这是在比较不同的类型。

python equality

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

在Python中格式化两个数字

我正在处理数字的格式.我假设.format允许使用多个参数:

a = 1.11111111111
b = 0.9
s = '({0:.2f}, {0:.2f})'.format(a, b)
print(s)
Run Code Online (Sandbox Code Playgroud)

返回:

'(1.11, 1.11)'
Run Code Online (Sandbox Code Playgroud)

代替:

'(1.11, 0.90)'
Run Code Online (Sandbox Code Playgroud)

另一方面,这很好用:

'({}, {})'.format(a, b)
Run Code Online (Sandbox Code Playgroud)

返回:

'(1.11111111111111, 0.9)'
Run Code Online (Sandbox Code Playgroud)

知道问题出在哪里?

python string string-formatting python-3.x

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

不应该被实例化的类

我想创建一个类层次结构,其中有一个Block可以自行实例化的类。然后我有一个List继承自Block并包含所有列表通用方法的类,最后我有继承自 的类OrderedList等。我希望人们能够实例化等,但不能。LableledListListOrderedListList

换句话说,您可以实例化一个普通对象Block,也可以实例化一个继承自 的OrderedList对象,但您不能实例化。ListBlockList

所有对 Google 的尝试都会导致抽象基类,但没有提供适合这种情况的示例,并且我无法推断。

python inheritance class python-3.x

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

按类型有效地对项目进行求和

我有一个项目与属性的列表"Type""Time"我想快速总结的时间为每个"Type"并追加到另一个列表.该列表如下所示:

Items = [{'Name': A, 'Type': 'Run', 'Time': 5},  
          {'Name': B, 'Type': 'Walk', 'Time': 15},  
          {'Name': C, 'Type': 'Drive', 'Time': 2},
          {'Name': D, 'Type': 'Walk', 'Time': 17},  
          {'Name': E, 'Type': 'Run', 'Time': 5}]
Run Code Online (Sandbox Code Playgroud)

我想做一些像这样工作的事情:

Travel_Times=[("Time_Running","Time_Walking","Time_Driving")]
Run=0
Walk=0
Drive=0    

for I in Items:
    if I['Type'] == 'Run':
       Run=Run+I['Time']
    elif I['Type'] == 'Walk': 
       Walk=Walk+I['Time']           
    elif I['Type'] == 'Drive': 
       Drive=Drive+I['Time']           

Travel_Times.append((Run,Walk,Drive))    
Run Code Online (Sandbox Code Playgroud)

随着Travel_Times最后看起来像这样:

print(Travel_Times)
[("Time_Running","Time_Walking","Time_Driving")
 (10,32,2)]
Run Code Online (Sandbox Code Playgroud)

对于列表理解或类似的东西来说,这似乎很容易有效collections.Counter,但我无法弄清楚.我想到的最好的方法是为每个"类型"使用单独的列表推导,但这需要重复遍历列表.我很感激有关如何加快它的任何想法.

谢谢

python iteration list-comprehension python-3.x

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

"全局"如何在if语句下表现?

在我的程序中,我只想在某些情况下使用变量global.说它看起来像这样:

a = 0
def aa(p):
    if p:
        global a
    a = 1
    print("inside the function " + str(a))


print(a)
aa(False)
print("outside the function " + str(a))
Run Code Online (Sandbox Code Playgroud)

我期待结果是:

0
inside the function 1
outside the function 0
Run Code Online (Sandbox Code Playgroud)

然而事实证明是:

0
inside the function 1
outside the function 1
Run Code Online (Sandbox Code Playgroud)

所以,我在想,"好吧,也许Python编译器只要看到'global'关键字,无论它位于何处,都会使变量成为全局变量".这是Python如何与全局变量一起使用的吗?我误会了吗?

python global python-3.x

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

如何根据先前的参数定义默认参数值?

我想定义一个resize(h, w)方法,并且我希望能够以两种方式之一调用它:

  1. resize(x,y)
  2. resize(x)

在第二次调用中,我希望y等于x. 我可以在方法定义中执行此操作,还是应该执行类似操作resize(x,y=None)并在内部进行检查:

if y is None:
    y = x
Run Code Online (Sandbox Code Playgroud)

python default-value python-3.x

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

我可以使用self访问类变量吗?

我有一个Foo类变量的类remote.我可以remote使用self.remote?访问类变量吗?

class Foo:
   remote = False

   def __init__(self):
       self.remote = True 

   @classmethod
   def print_remote(cls):
       print(cls.remote) #prints False but why? 
Run Code Online (Sandbox Code Playgroud)

python class python-3.x

5
推荐指数
3
解决办法
1398
查看次数

比较Speed Python3和Julia

我开始编写一个程序进行非线性光束计算.我之所以选择Python,是因为它的Matlab就像代码一样,我正在进行速度测试(确保python是正确的语言来进行快速数值计算)并尝试熟悉python3.我尝试了一种算法,计算从t = 1到n的1/t ^ 2之和(来自书Julia High Perfromance),以比较python3与julia的速度.现在我有一些问题:

1)在我的计算中,朱莉娅没有预期的那么快?Julia ist JIT编译.它应该非常快.为什么python更快?

2)为什么python中的循环如此缓慢?

3)为什么python sum方法比numpy.sum方法慢

4)为什么python geting的sum函数与numpy.sum函数的解决方案略有不同?

我希望你能帮助我.

代码:

# Benchmark Python vs Julia
# (from Julia High Performance page 7 from Avik Sengupta)

import scipy as sp
import time

# Sum of 1/t^2 from t = 1 to n by using loops:
# --------------------------------------------
def pisum(w,n):
    u_sum = 0
    for vi in range(w):
        u_sum = 0
        for vj in range(1,n+1,1):
            u_sum += 1.0/(vj*vj)
    return u_sum

# Sum of 1/t^2 from t …
Run Code Online (Sandbox Code Playgroud)

python performance python-3.x julia

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