小编Luk*_*uke的帖子

多重继承什么时候派上用场?

当使用多重继承而不是使用组合或其他替代方案更容易解决问题时,您能提供一些真实示例吗?

什么时候应该使用多重继承?

为什么有些语言支持多重继承(C++,Python)而有些语言不支持(Java,Ruby)?我的意思是 - 基于什么因素,编程语言的创建者决定是否包括对MI的支持.

architecture inheritance multiple-inheritance

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

是否可以在pypy下安装scipy?

我用pypy创建了一个virtualenv并尝试安装scipy,但安装结束时出现以下错误:

distutils.errors.DistutilsError:安装脚本退出并显示错误:命令"cc -O2 -fPIC -Wimplicit -O2 -fPIC -Wimplicit -O2 -fPIC -Wimplicit -DHAVE_NPY_CONFIG_H = 1 -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE = 1 -D_LARGEFILE64_SOURCE = 1 - DNO_ATLAS_INFO = 1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Inumpy/core/include -Ibuild/src.linux-x86_64-3.2/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/luke/Programowanie/Python/connect4/venv-pypy/include -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -c numpy/core/src/multiarray/scalarapi.c -o build/temp.linux-x86_64-3.2/numpy/core/src/multiarray/scalarapi.o"以退出状态1失败

有一个特定的numpy版本适合pypy,但我发现scipy唯一的东西是旧的捐款呼吁.从那时起有什么变化吗?

pypy numpy scipy

15
推荐指数
3
解决办法
6645
查看次数

跟踪嵌入式Python解释器中的代码执行

我想创建一个带有嵌入式python解释器和基本调试功能的应用程序.现在我在API中搜索可​​用于逐步运行代码的函数,并获取正在(或即将执行)的当前代码行的编号.

在进行跟踪和分析时,官方Python文档对我来说似乎有点不足.例如,没有关于返回值含义的信息Py_tracefunc.

到目前为止,我已经汇总了以下内容:

#include <Python.h>

static int lineCounter = 0;

int trace(PyObject *obj, PyFrameObject *frame, int what, PyObject *arg)
{
    if(what == PyTrace_LINE)
    {
        lineCounter += 1;
        printf("line %d\n", lineCounter);
    }
    return 0;
}

int main(int argc, char *argv[])
{
    wchar_t *program = Py_DecodeLocale(argv[0], NULL);
    if (program == NULL) {
        fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
        exit(1);
    }
    Py_SetProgramName(program);  /* optional but recommended */
    Py_Initialize();
    PyEval_SetTrace(trace, NULL);
    char *code = …
Run Code Online (Sandbox Code Playgroud)

c python python-c-api python-3.x

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

如何创建简单的3层神经网络并使用监督学习进行教学?

基于PyBrain的教程,我设法将以下代码拼凑在一起:

#!/usr/bin/env python2
# coding: utf-8

from pybrain.structure import FeedForwardNetwork, LinearLayer, SigmoidLayer, FullConnection
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer

n = FeedForwardNetwork()

inLayer = LinearLayer(2)
hiddenLayer = SigmoidLayer(3)
outLayer = LinearLayer(1)

n.addInputModule(inLayer)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)

in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)

n.addConnection(in_to_hidden)
n.addConnection(hidden_to_out)

n.sortModules()

ds = SupervisedDataSet(2, 1)
ds.addSample((0, 0), (0,))
ds.addSample((0, 1), (1,))
ds.addSample((1, 0), (1,))
ds.addSample((1, 1), (0,))

trainer = BackpropTrainer(n, ds)
# trainer.train()
trainer.trainUntilConvergence()

print n.activate([0, 0])[0]
print n.activate([0, 1])[0]
print n.activate([1, …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pybrain

6
推荐指数
1
解决办法
457
查看次数

依赖Python哈希函数时有什么冲突风险?

在我的程序中,我需要存储与许多(我们谈论数十万、数百万)游戏板状态相关的数据。为此,我使用字典。

class BoardState(object):
    def __init__(self, ...):
        # ...
        self.board = [ [ None ] * self.cols for _ in xrange(self.rows) ]

    def __hash__(self):
        board_tuple = tuple([ tuple(row) for row in self.board ])
        return hash(board_tuple)

    # ...
Run Code Online (Sandbox Code Playgroud)

self.board在我的主要用例中,是一个 2D 列表,有 6 行和 7 列。

一开始我dictBoardState对象索引了。但由于除了将来的查找之外,我不会将BoardState存储的对象dict用于其他目的,因此我注意到我可以通过索引来节省内存hash(board_state)(此版本使用的内存减少了 4 倍)。

BoardState两个不同的对象(内部有不同的boards)在 ing 后产生相同值的可能性有多大hash

为了澄清一点,这就是我存储和检索值的方式dict

board_state = BoardState(...)
my_values[hash(board_state)] = { ... }
...
other_val_with_board_state = source_function() …
Run Code Online (Sandbox Code Playgroud)

python hash python-2.7

6
推荐指数
1
解决办法
5371
查看次数

如何根据指定列中的值过滤 Julia Array 中的行?

我在文本文件中有这样的数据:

CLASS     col2    col3    ...
1         ...     ...     ...
1         ...     ...     ...
2         ...     ...     ...
2         ...     ...     ...
2         ...     ...     ...
Run Code Online (Sandbox Code Playgroud)

我使用以下代码加载它们:

data = readdlm("file.txt")[2:end, :] # without header line
Run Code Online (Sandbox Code Playgroud)

现在我只想从第 1 类中获取包含行的数组。

(如果有帮助,可以使用其他一些函数加载数据。)

filter julia

6
推荐指数
1
解决办法
5092
查看次数

How to get QML object's id property using C++ API

I need to parse a QML tree and get ids of all QML objects along the way which have it. I noticed that ids don't behave like normal properties (see the example below) – value returned from obj->property call is an invalid QVariant.

我的问题是 - 有没有办法检索 object's id,即使是一些hacky(但可复制)的方式?

简化示例:

主.qml:

import QtQuick 2.9
import QtQuick.Window 2.2

Window {
    visible: true

    Item {
        id: howToGetThis
        objectName: "item"
    }
}
Run Code Online (Sandbox Code Playgroud)

主.cpp:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QTimer>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ qt qml

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

与其他语言相比,简单的数学运算和保存到文件需要花费太多时间

最近我和我的朋友们对不同的编程语言进行了基准测试 当我最近学习Haskell时,我想表明一个函数式语言的表现几乎和C一样好,代码更简单.但下面粘贴的代码,用GHC的-O3选项编译,在我的机器上执行大约1.6秒.Python和Ruby中的等效脚本执行得更快(这是一个简单的for循环).

import System.IO

saveLine fh x = hPutStrLn fh $ show x ++ "\t" ++ show (x^2)

main = do
    fh <- openFile "haskell.txt" WriteMode
    mapM (saveLine fh) [1..999999]
    hClose fh
Run Code Online (Sandbox Code Playgroud)

你可以在这里查看其他语言的代码(我只写了Python和Ruby中的代码).

问题是 - 如何让它运行得更快?

math performance file-io haskell

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