在Python中我收到以下错误:
UnboundLocalError: local variable 'total' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
在文件的开头(在出现错误的函数之前),我使用global关键字声明'total'.然后,在程序的主体中,在调用使用'total'的函数之前,我将它指定为0.我已经尝试在各个地方将它设置为0(包括文件的顶部,就在它被声明之后) ),但我不能让它工作.有谁看到我做错了什么?
有没有办法使用额外的python包索引(ala pip --extra-index-url pypi.example.org mypackage
),setup.py
以便运行python setup.py install
可以找到托管在其上的包pypi.example.org
?
使用Java和Swing,是否有任何(方便)方法来创建通知?通知,我的意思是:
这个http://productivelinux.com/images/notify-osd-screenshot.png,这个http://images.maketecheasier.com/2010/01/kfirefox-notify-indexed.png,或者
(那是否有更正确的术语?).如果它跨平台工作会很好,但我主要关心的是在Ubuntu和Gnome一起工作.如果可能的话,我想避免在系统托盘/通知区域中有一个图标.
如果所有其他方法都失败了,我总是可以使用来自java中的滑动通知栏的滑动通知(一个火狐)
我正在寻找一种在c ++中旋转字符串的方法.我把所有的时间花在python上,所以我的c ++ 非常生疏.
这就是我想要它做的事情:如果我有一个字符串'abcde',我希望它改为'bcdea'(第一个字符移到结尾).这是我在python中做到的方式:
def rotate(s):
return s[1:] + s[:1]
Run Code Online (Sandbox Code Playgroud)
我不知道如何在cpp中做到这一点.也许使用一系列字符?
我有一个TreeSet,它将充满整数.总而言之,我试图在列表中存储的最后一个(最大)值之后循环.我现在要做的是获取起始变量:
Object lastObj = primes.last();
Integer last = new Integer(lastObj.toString());
int start = 1 + last.intValue(); // the added 1 is just for program logic
Run Code Online (Sandbox Code Playgroud)
我确信必须有更好的方法将对象(我知道永远是一个int)转换为int'start'.有人知道更好的方法吗?
有没有办法向组合框的各个条目添加工具提示?我希望这样当组合框打开时(并且仅当它打开时)并且用户将鼠标悬停在可能的选择之一上时,工具提示中会显示其他信息。
组合框中似乎没有任何真正的小部件可以添加工具提示。以某种方式将小部件(如标签)放入组合框的条目中的唯一方法是这样做吗?
我正试图找到一种方法来测试一块C++代码运行需要多长时间.我用它来比较代码与不同的算法和不同的语言,所以理想情况下我想要一个秒/毫秒的时间.在Java中我使用的是这样的东西:
long startTime = System.currentTimeMillis();
function();
long stopTime = System.currentTimeMillis();
long elapsedTime = stopTime - startTime;
Run Code Online (Sandbox Code Playgroud)
有没有一种很好的方法来获得像C++那样的准确时间(或者我应该使用其他一些基准测试手段)?
在C中命中switch语句(假设它使用跳转表)是否清空了x86处理器的管道?我想它可能是因为它需要表查找的结果来知道接下来要执行的指令.它能否尽早将结果转发回管道不会完全清空?
self
在对象上调用函数时,Python如何绑定?我试图理解为什么这样:
class A(object):
def __init__(self):
self.name = 'class A'
def show_name(self):
print(self, self.name)
class B(object):
def __init__(self, a):
self.name = 'class B'
self.show_name = a.show_name
A().show_name()
B(A()).show_name()
Run Code Online (Sandbox Code Playgroud)
输出
(<self.A object at 0x7f9d35a06e50>, 'class A')
(<self.A object at 0x7f9d35a06e50>, 'class A')
Run Code Online (Sandbox Code Playgroud)
编辑:如何知道show_name
应该将类的实例A
作为其first(self
)参数,而不是类的实例B
?
可以说我在Java中有这样的类:
public class Function {
public static int foo(int n) {
return n+1;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我从一个线程调用这样的foo方法会发生什么?
x = Function.foo(y);
Run Code Online (Sandbox Code Playgroud)
我可以用两个线程做到这一点,没有它们互相等待吗?假设foo需要一段时间,并且它被调用很多,因此每个线程可能会尝试同时使用foo.他们可以这样做,还是我必须在Function实例方法中创建所有方法并为每个线程提供它自己的Function对象?