class Base():
def __init__(self, conf):
self.__conf__ = conf
for i in self.__dict__:
print i,"dict"
for i in dir(self):
print i,"dir"
class Test(Base):
a = 1
b = 2
t = Test("conf")
Run Code Online (Sandbox Code Playgroud)
输出是:
__conf__ dict
__conf__ dir
__doc__ dir
__init__ dir
__module__ dir
a dir
b dir
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释一下吗?
我有一个稀疏矩阵,其形状为570000*3000.我试图尼玛做NMF(使用默认的NMF方法,并设定max_iter至65岁).但是,我发现nimfa很慢.有人用更快的库来做NMF吗?
输入:
a = [[:a, "apple"], [:b, "bear"]]
Run Code Online (Sandbox Code Playgroud)
输出:
{:a=>"apple", :b=>"bear"}
Run Code Online (Sandbox Code Playgroud)
我想到这样做:
h = a.inject({}){|dic,i| dic.merge({i[0]=>i[1]})}
Run Code Online (Sandbox Code Playgroud)
但我仍然认为这不是最好的方式.有人有更好的解决方案吗?
我阅读了C++入门第5版,其中说明了最新的标准支持列表初始化程序.
我的测试代码是这样的:
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
using std::ispunct;
int main(int argc, char *argv[])
{
vector<int> a1 = {0,1,2};
vector<int> a2{0,1,2}; // should be equal to a1
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我使用Clang 4.0:
bash-3.2$ c++ --version
Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
并像这样编译它:
c++ -std=c++11 -Wall playground.cc -o playground
Run Code Online (Sandbox Code Playgroud)
但是,它抱怨这样:
playground.cc:13:17: error: no matching constructor for initialization of
'vector<int>'
vector<int> …Run Code Online (Sandbox Code Playgroud) 我的代码是这样的:
#include <iostream>
using std::cout;
using std::endl;
int main(int argc, char *argv[])
{
cout << (int)('\0') << endl;
cout << (char)(0) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望在终端看到这样的:
$ test-program
0
$
Run Code Online (Sandbox Code Playgroud)
但是,我看到的是这样的:
$ test-program
0
^@
$
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,我认为'\0'可以转换为0.并且0还可以投入\0.我希望看到一个null char跟随a endl,但结果是奇怪的^@.
有没有人有这个想法?
我在Mac OS上安装sbt使用brew install sbt.
build.sbt我的应用程序的文件如下所示:
import NativePackagerKeys._
packageArchetype.java_application
name := """scala-getting-started"""
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"com.twitter" % "finagle-http_2.10" % "6.18.0",
"postgresql" % "postgresql" % "9.0-801.jdbc4"
)
Run Code Online (Sandbox Code Playgroud)
我真的无法理解的是,如果我想编译当前的应用程序sbt需要获取包org.scala-sbt.
Hanfeis-MacBook-Pro:scala-getting-started hanfeisun$ sbt compile stage
Getting org.scala-sbt sbt 0.13.5 ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.5/jars/sbt.jar ...
[SUCCESSFUL ] org.scala-sbt#sbt;0.13.5!sbt.jar (7322ms)
Run Code Online (Sandbox Code Playgroud)
不该org.scala-sbt当我安装已经安装sbt的brew install sbt?为什么sbt需要再次下载自己的软件包?
有没有人有这个想法?谢谢!
以下是片段(JSFiddle上的演示)
#inner {
background-color: yellow;
margin-left: 50px;
margin-bottom: 50px;
}
#outer {
background-color: red;
}Run Code Online (Sandbox Code Playgroud)
<div id="outer">
<div id="inner">
test
</div>
</div>Run Code Online (Sandbox Code Playgroud)
从演示中可以看出,#inner元素有一个margin-bottom.
我预计高度#outer将足够大,以包括#inner边距的轮廓.并且输出将在黄色条下方有一个红色条.
然而,我发现#outer虽然我添加了规则margin-bottom: 50px,但它的高度根本没有改变#inner.
有没有人有这个想法?有没有办法确保父母的内容区域足够大,以保持其子女边际的轮廓?
此外,除了提供黑客解决方案之外,如果答案可以包括一些解释或相关文档/文章的链接,那将是很好的.为什么保证金规则是这样设计的.
谢谢!
在Polymer文档(https://elements.polymer-project.org/elements/iron-input)中,我发现:
<input is="iron-input" bind-value="{{myValue}}">
Run Code Online (Sandbox Code Playgroud)
在另一份官方文件(https://www.polymer-project.org/1.0/docs/devguide/registering-elements.html#type-extension)中,我发现:
<dom-module id="main-document-element">
<template>
<p>
Hi! I'm a Polymer element that was defined in the
main document!
</p>
</template>
<script>
HTMLImports.whenReady(function () {
Polymer({
is: 'main-document-element'
});
});
</script>
</dom-module>
<main-document-element></main-document-element>
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么第一个<input is="iron-input" bind-value="{{myValue}}">不能写成<iron-input bind-value="{{myValue}}">.
它是否兼容,这使得更容易填充?