小编use*_*064的帖子

如何使用按钮触发回调更新?

我刚刚开始使用破折号。以这里为例。我想转换下面的破折号应用程序

import dash
from dash.dependencies import Input, Output
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div([
    dcc.Input(id='my-id', value='initial value', type="text"),
    html.Div(id='my-div')
])

@app.callback(
    Output(component_id='my-div', component_property='children'),
    [Input(component_id='my-id', component_property='value')]
)
def update_output_div(input_value):
    return 'You\'ve entered "{}"'.format(input_value)

if __name__ == '__main__':
    app.run_server()
Run Code Online (Sandbox Code Playgroud)

在用户按下按钮而不是在输入字段的值更改时更新。我该如何实现?

python plotly-dash

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

你如何在比赛中借用一个可变参考?

我找到了这个,但无法让我的代码工作.我仍然怀疑我需要ref某种方式.

我正在尝试在Rust中创建一个合理的Table类来了解有关该语言的更多信息,并在理解借用检查器和可变性概念以及它们相应的语法时遇到一些麻烦.

我希望表类是灵活的,并允许不同的列类型,其中列中的数据类型是同类的.所以,一列整数,浮点数,字符串等.


我开始没有灵活的数据类型,并提出了这个 hashmap映射ints(在这种情况下是列标签)到int的向量(列中的数据).

use std::collections::HashMap; 

fn main() {
    let mut d: HashMap<isize, Vec<isize>> = HashMap::new();
    d.insert(0, Vec::new());
    d.get_mut(&0).unwrap().push(0); 

    println!("{:?}", d);
    // nice {0: [0]}
}
Run Code Online (Sandbox Code Playgroud)

为了实现灵活的数据类型,enum似乎是一个不错的开始,所以这是我开始的地方,但我坚持实施.

use std::collections::HashMap; 

#[derive(Debug)] 
enum VT {
    A(Vec<isize>),
    B(Vec<f64>),
}

fn main() {
    let mut d: HashMap<isize, VT> = HashMap::new();
    d.insert(0, VT::A(Vec::new()));

    match d.get_mut(&0).unwrap() {
        &mut VT::A(v) => v.push(0),
        &mut VT::B(v) => v.push(0.1), // would not be reached as-is 
    } 

    println!("{:?}", d);
}
// …
Run Code Online (Sandbox Code Playgroud)

rust

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

在类级代码中使用字典理解的Python范围问题

最小的例子

class foo:
    loadings = dict(hi=1)
    if 'hi' in loadings:
        print(loadings['hi']) 
        # works
        print({e : loadings[e] for e in loadings})
        # NameError global name 'loadings' not defined
Run Code Online (Sandbox Code Playgroud)

我也尝试引用类命名空间,但这也不起作用

class foo:
    loadings = dict(hi=1)
    if 'hi' in loadings:
        print(loadings['hi'])
        #works
        print({e : foo.loadings[e] for e in foo.loadings})
        #NameError: name 'foo' is not defined
Run Code Online (Sandbox Code Playgroud)

当然,这可以按预期工作

class foo:
    loadings = dict(hi=1)
    if 'hi' in loadings:
        print(loadings['hi'])

print({e : foo.loadings[e] for e in foo.loadings})
Run Code Online (Sandbox Code Playgroud)

我想了解为什么这个范围问题正在发生,如果我想做一些疯狂的事情,那么最好的方法就是这样做.我的感觉是第一个代码片段应该按原样工作,但当然不是.

目标

我正在为一些csv/json文件创建一个DataManager类/模块以及罐装数据库查询,为我的程序提供一站式服务并获取数据.有一些静态数据和一些动态数据,所以它似乎在同一个类中使用静态和非静态数据成员.虽然我理解这些可能是模块级变量,但我喜欢使用静态类数据成员的概念(可能是因为Java的偏见).任何帮助深表感谢

我的解决方案(暂时)

我最终展开了列表理解以保持在课堂范围内,在上面它会变成这样的东西

class foo:
    loadings = dict(hi=1) …
Run Code Online (Sandbox Code Playgroud)

python csv json scoping

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

使用泛型的特征的毯子实现

我正在通过实现矩阵数学来练习Rust,而且我遇到了一些障碍.我定义了我认为与矩阵相关的特征.

trait Matrix<T> where T : num::Num  {
    fn dim(&self) -> (usize, usize);
    fn elem(&self, i : usize, j : usize) -> Option<& T>; 
    fn new_const(v: T, rows : usize, cols : usize) -> Self where T : Clone;

    fn same_dim<U>(&self, other: &U) -> bool where U : Matrix<T> {
        self.dim() == other.dim()
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个愚蠢的实现使用Vec<Vec<T>>.我实现了所有方法并测试了它们.他们都在工作.现在我想简单地将两个矩阵一起添加.因此,如果不添加我知道将需要的行迭代器并执行我知道的添加实现将是不正确的,我将以下内容添加.

impl <T, U> Add for U where T: num::Num, U: Matrix<T> {
    type Output = U;

    fn add(self, _rhs: U) -> U …
Run Code Online (Sandbox Code Playgroud)

generics matrix rust

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

Canonical Celery 单文件 hello world

我似乎无法在网上的任何地方找到一个可以使用 Celery 和 Python 从头到尾运行的单个文件来演示它,所以我尝试制作一个。由于某种原因,这不起作用,我是芹菜的新手。在test_celery.py我添加了以下内容:

from celery import Celery
import time

app = Celery(
    'test_celery'
    ,broker= 'redis://localhost/0',
    backend='redis://localhost/1'
)

@app.task
def add(x, y):
    time.sleep(2)
    return x + y

if __name__ == '__main__':
    result = add.delay(4, 4)
    print( result.get() )
Run Code Online (Sandbox Code Playgroud)

然后我在本地主机上运行 redis 服务器并在控制台输入:

celery -A test_celery worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)

所以,现在工作人员正在倾听,我试着运行python test_celery.py,认为我应该在控制台输出中看到我的精彩 8。在工作控制台的日志中,我看到[2015-01-02 16:53:08,807: INFO/MainProcess] Task test_celery.add[2c6b19c0-3a3f-45d2-8024-64e112fa3419] succeeded in 1.9970000002067536s: 8哪个符合预期,但对result.get主程序控制台的调用挂起。

我一定在这里遗漏了一些基本的东西,如果有人能帮忙那就太好了。

python redis celery python-3.x

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

如何在 for-in 循环中指定类型?

看看这个超级简单的婴儿围栏

fn main() {
    for i in 0..10 {
        println!("{}", i*0.5); 
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Rust 1.0-beta.2 上编译的结果是“error: the trait core::ops::Mul<_>is not implementation for the type _

我认为我需要以i某种方式指定类型,但我正在努力寻找有关如何执行此操作的文档。

loops rust

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

标签 统计

python ×3

rust ×3

celery ×1

csv ×1

generics ×1

json ×1

loops ×1

matrix ×1

plotly-dash ×1

python-3.x ×1

redis ×1

scoping ×1