小编Fen*_*ick的帖子

将参数传递给超类构造函数,而不在子类构造函数中重复它们

class P(object):
    def __init__(self, a, b):
       self.a = a
       self.b = b
class C(P):
    def __init__(self, c):
       P.__init__()
       self.c = c

obj = C(a, b, c) #want to instantiate a C with something like this
Run Code Online (Sandbox Code Playgroud)

我想定义C类对象而不重写P构造函数中C的所有类构造函数参数,但上面的代码似乎不起作用.这样做的正确方法是什么?

澄清:

这个想法是避免将父类的构造函数参数放在子类的构造函数中.这只是重复太多了.我的所有父类和子类都有许多参数可供构造函数使用,因此一次又一次地重复它们并不是很有效且难以维护.我试图看看我是否只能在其构造函数中定义子类的唯一内容,但仍然初始化继承的属性.

python oop

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

Matplotlib.pyplot.hist()非常慢

我正在绘制数组中的大约10,000个项目.它们具有大约1,000个唯一值.

密谋现在已经运行了半个小时.我确保其余代码有效.

那慢吗?这是我第一次使用pyplot绘制直方图.

python matplotlib histogram

8
推荐指数
3
解决办法
8528
查看次数

Phonegap软键盘覆盖输入字段

我的Phonegap 3.1中的软键盘覆盖了Android 4.x中的输入字段.这个问题非常烦人,我刚刚发布了一个问题.但是突然间有了火花,我在Stackoverflow上的多个帖子中整合了答案并得到了正确的解决方案.我只想在这里发布以供将来参考.有两个关键步骤:

  1. 转到config.xml,禁用全屏模式:(许多帖子省略了这部分)

<preference name="stay-in-webview" value="false">

2.在config.xml中,添加以下行:

<preference name="android-windowSoftInputMode" value="adjustResize">

或者,如果您使用的是SDK,则可以转到项目的AndroidManifest.xml并添加:

android:windowSoftInputMode="adjustResize" 属性的 <activity>

使用phonegap构建应用程序后,上面两行代码应具有相同的效果.

然后运行你的应用程序,键盘不应再覆盖你的输入.

如果解决方案不适合您,请随意添加任何内容.

android cordova

6
推荐指数
0
解决办法
1307
查看次数

我必须 munmap() 一个 mmap() 文件吗?

我对 C++ 比较陌生,我正在学习另一个人的代码。他的代码从一个 mmapped 文件中读取,但最终没有释放任何映射内存。据我了解, mmap() 将文件映射到虚拟内存中。我不需要以某种方式释放那些映射的内存,比如调用 munmap() 吗?

c++ garbage-collection mmap

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

在元素外部触发 Javascript 鼠标事件

https://jsfiddle.net/f8L300ug/3/

我正在尝试制作一个简单的拖动调整大小功能。请参阅上面的示例。

如果鼠标在 之外释放<body>mouseup则不会触发该事件,这与本文的含义相反:Responding to the onmousemove event Outside of the browser window in IE

jsFiddle 的拖动处理程序在这方面做得很好。如果鼠标在元素外释放,则解除mousemove事件的绑定;如果鼠标没有在元素外释放并移回元素内,则保留 mousemove 事件。我怎样才能实现这个目标?

这是我的代码。jsFiddle 的调整大小功能还不是很完美。玩了一段时间后,我触发了一个错误,我的 CSS 面板消失了,所以我无法在这里发布我的 CSS 代码......

JS:

var initialX;
var leftPanel = document.getElementById("left");
var rightPanel = document.getElementById("right");
var resizePanels = function(e){
    var deltaX = e.clientX - initialX;
    var bodyWidth = parseInt(window.getComputedStyle(leftPanel).width);
    initialX = e.clientX;
    var newWidth = bodyWidth + deltaX;
    leftPanel.style.width = newWidth + "px";
    rightPanel.style.width =     (parseInt(window.getComputedStyle(document.body).width) - newWidth)*0.9 + "px";
}

var bodyUnbindResize = …
Run Code Online (Sandbox Code Playgroud)

html javascript

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