小编seb*_*piq的帖子

python中的默认__hash__是什么?

我经常使用时髦的东西作为字典的键,因此,我想知道什么是正确的方法 - 这通过为我的对象实现良好的哈希方法.我知道这里提出的其他问题是实现哈希的好方法,但我想了解默认如何__hash__适用于自定义对象,以及是否可以依赖它.

我注意到mutables显然是不可删除的,因为hash({})引发了一个错误...但奇怪的是,自定义类是可以清除的:

>>> class Object(object): pass
>>> o = Object()
>>> hash(o)
Run Code Online (Sandbox Code Playgroud)

那么,有人知道这个默认哈希函数是如何工作的吗?通过理解这一点,我想知道:

如果我将相同类型的对象放入字典的键中,我可以依赖此默认哈希吗?例如:

key1 = MyObject()
key2 = MyObject()
key3 = MyObject()
{key1: 1, key2: 'blabla', key3: 456}
Run Code Online (Sandbox Code Playgroud)

如果我使用不同类型的对象作为字典中的键,我可以依赖它吗?例如

{int: 123, MyObject(10): 'bla', 'plo': 890}
Run Code Online (Sandbox Code Playgroud)

在最后一种情况下,如何确保我的自定义哈希值不会与内置哈希冲突?例如:

{int: 123, MyObject(10): 'bla', MyObjectWithCustomHash(123): 890}
Run Code Online (Sandbox Code Playgroud)

python

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

Python:术语'类'VS'类型'

只是一个简单的问题:我应该何时使用术语"类",何时应该在Python中使用术语"类型"?

  • 是'类'仅用于用户定义的类型,'type'用于内置类型?
  • 或者现在所有东西都是一种类型 ......即使用户定义的类,我应该总是使用'​​type'吗?
  • ......?

python types terminology class

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

Node.js可以完全取代像Apache或NGINX这样的解决方案吗?

关于部署Node.js应用程序,我看到很多教程显示它与Nginx并排部署,或多或少的相同技巧允许2一起工作(和烦人的东西,如Nginx不支持WebSockets) .这对我来说似乎有点复杂......

为什么每个人都做这种设置?当Node.js提供任何优势时,部署Nginx会不会?你不能用Node.js提供静态文件吗?

我在Django中编写了很多应用程序,并且文档说你不应该使用Django来提供静态文件,因为它没有针对此进行优化等等......所以我想也许这就是原因.

node.js

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

当你可以使用'instanceof'时,'Buffer.isBuffer'的用途是什么?

Buffer.isBufferinstanceof像魅力一样工作时,我不明白该功能的目的是什么:

var b = new Buffer('blabla')
assert.ok(b instanceof Buffer)
Run Code Online (Sandbox Code Playgroud)

node.js

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

Django'resolve':获取url名称而不是view_function

我的问题很简单,我有一个网址,我想解决它,但获取url名称而不是与之关联的视图功能...

例如......这是urlconf:

urlpatterns = patterns('',
...
    url('^/books/$', book_list, name="overview_books"),
...
)
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

>>> resolve('/books/')
'overview_books'
Run Code Online (Sandbox Code Playgroud)

你知道怎么办?

python django django-urls

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

将JavaScript数组作为参数传递给WebAssembly函数

我想测试WebAssembly做一些复杂的数组计算.

所以我写了一个简单的C++函数,添加了两个int包含3个元素的数组:

// hello.cpp
extern "C" {

void array_add(int * summed, int* a, int* b) {
  for (int i=0; i < 3; i++) {
    summed[i] = a[i] + b[i];
  }
}

}
Run Code Online (Sandbox Code Playgroud)

并编译了这个:

emcc hello.cpp -s WASM=1 -s "MODULARIZE=1" -s "EXPORT_NAME='HELLO'" -s "BINARYEN_METHOD='native-wasm'" -s "EXPORTED_FUNCTIONS=['_array_add']" -o build/hello.js

其中包括a js和a wasm文件.我用以下html页面加载这些:

<!doctype html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="build/hello.js"></script>
    <script type="text/javascript">
      function reqListener () {
        // Loading wasm module
        var arrayBuffer …
Run Code Online (Sandbox Code Playgroud)

javascript c++ browser emscripten webassembly

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

uwsgi:无法识别的选项'--module = MyProject.wsgi:application'

我按照https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/中的说明操作,直到几天前,当我杀死uwsgi进程并尝试重新启动时,它工作正常.然后它说

uwsgi: unrecognized option '--module=MyProject.wsgi:application'
Run Code Online (Sandbox Code Playgroud)

我一直在试图解决这个问题,...我检查了我的提交历史记录,我用来启动uwsgi的脚本没有改变:

#!/bin/bash
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
uwsgi --chdir=/home/MyProject \
    --module=MyProject.wsgi:application \
    --env DJANGO_SETTINGS_MODULE=MyProject.settings \
    --master --pidfile=/tmp/MyProject-masted.pid \
    --socket=/home/MyProject.sock \
    --processes=5 \
    --harakiri=20 \
    --limit-as=128 \
    --max-requests=5000 \
    --vacuum \
    --home=/home/MyProject/env \
    --daemonize=/var/log/uwsgi/MyProject.log
Run Code Online (Sandbox Code Playgroud)

显然一些事情必定已经改变,但我看不出...我没有运行任何更新,脚本没有改变...... PlEaSe HeLp !!!

django uwsgi

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

Django:动态生成JS是个好主意吗?

当我为Django项目编写JS文件时,我当然会做一些AJAX调用,而且目前这些调用的url是硬编码的(这非常难看).

我在考虑让django(而不是Apache)提供JS文件,所以我可以利用模板标签({% url %}!!!).

我不应该这样做吗?

或者有正确的方法吗?

(我可以给出至少一个:它会消耗很多时间来重新发送没有改变的JS文件.最好的方法是让一个应用程序在重新启动django服务器时生成文件,然后静态地为它们提供服务!)

javascript django assets

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

使用pandas数据帧泄漏内存

pandas.DataFrame在多线程代码中使用(实际上是DataFrame被调用的自定义子类Sound).我注意到我有内存泄漏,因为我的程序的内存使用量逐渐增加超过1000万,最终达到我的计算机内存的约100%并崩溃.

我使用objgraph来尝试跟踪这个泄漏,并发现实例的MyDataFrame数量一直在增加而它不应该:它的run方法中的每个线程都创建一个实例,进行一些计算,将结果保存在文件中退出...所以不应该保留任何参考.

使用objgraph我发现内存中的所有数据帧都有一个类似的参考图:

在此输入图像描述

我不知道这是否正常......看起来这就是将我的物品留在记忆中的原因.任何想法,建议,见解?

python memory-leaks memory-leak-detector pandas objgraph

8
推荐指数
1
解决办法
6362
查看次数

简单的振荡器,但IOS上的网络音频API没有声音

这是一个非常简单的例子,我试图在Chrome上运行iphone.其他网络音频API示例像这样一个http://alxgbsn.co.uk/wavepad/工作,但不是我的:(

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>

<body>

  <script>
    var audioContext, osc
    audioContext = new (window.AudioContext || window.webkitAudioContext);
    osc = audioContext.createOscillator()

    osc.connect(audioContext.destination)
    if (osc.noteOn) osc.start = osc.noteOn
    osc.start(0)
    osc.frequency.value = 440
  </script>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

知道什么是错的吗?

编辑

总结答案:

  1. 响应用户交互启动音频
  2. 检查静音开关是否关闭

javascript web-audio-api

8
推荐指数
1
解决办法
2552
查看次数