小编Rob*_*man的帖子

在Python中,以0开头的数字是什么意思?

当我输入前面带有0的小整数到python时,它们会产生奇怪的结果.为什么是这样?

>>> 011
9
>>> 0100
64
>>> 027
23
Run Code Online (Sandbox Code Playgroud)

注意:Python版本2.7.3我在Python 3.0中对此进行了测试,显然现在这是一个错误.所以这是版本特定的.

编辑:他们显然仍然是整数:

>>> type(027)
`<type 'int'>`
Run Code Online (Sandbox Code Playgroud)

python python-2.x

57
推荐指数
5
解决办法
5万
查看次数

无法为变量和指针赋值

可能重复:
分段尝试在C中打印值时出错

我对C很新,但不知道为什么这个程序会破坏.如果我删除了与之相关的行,程序将编译并运行i,但如果我分配i,我不能再分配任何东西*ptr而不打破程序.

int main(void)
{
    int i;
    int *ptr;

    i = 2;
    *ptr = 5;
    printf("%d",*ptr);
}
Run Code Online (Sandbox Code Playgroud)

c pointers

13
推荐指数
1
解决办法
4万
查看次数

什么时候使用空白的最终变量?

我正在查看关于最终变量的另一个问题,并注意到你可以声明最终变量而不初始化它们(一个空白的最终变量).有没有理由这样做,什么时候有利?

java final

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

更改一个变量会改变另一个

当我创建一个球的实例,然后将其复制到另一个变量时,更改原始也会更改球的副本.例如,采用下面的简化示例:

class Ball() {
    Color _color;
    public Ball(Color startColor) {
        _color = startColor;
    }
    public void setColor(Color newColor) {
        _color = newColor;
    }
}
Ball myBall = new Ball(black);
Ball mySecondBall = myBall;
myBall.setColor(white);
Run Code Online (Sandbox Code Playgroud)

我已经省略了_color的存取方法,但是如果我得到了球的颜色,那么它们现在都是白色的!所以我的问题是:

  • 为什么更改一个对象会更改它的副本,以及
  • 有没有办法复制对象,以便您可以单独更改它们?

java object

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

简化python中的循环

我在我的python代码中使用这个循环:

final_fun=[]
for i_base in xrange(n_base):
  final_fun.append(sum(fun[:,i_base])/n_ci)
Run Code Online (Sandbox Code Playgroud)

我想知道如何简化这个循环?如果我简化这个循环,我的程序会更快吗?一般来说,我知道如何简化这个,但在这里我被追加阻止了!

python performance for-loop

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

让C#垃圾收集列表而不是重用它是不好的形式?

我有一个稳定增长的元素列表,直到我将该列表中的所有数据转储到一个文件中.然后,我想再次将该列表重用于同一目的.简单地将其分配给新列表而不是从列表中删除所有元素是不好的做法吗?似乎垃圾收集应该处理旧列表,这样我就不必担心删除元素了.

例如:

var myList = new List<element>();
myList.Add(someElement);
myList.Add(anotherElement);
// dumps the elements into a file

myList = new List<element>();
Run Code Online (Sandbox Code Playgroud)

编辑:即使有很简单的方法,我也想知道它的哲学方面.如果周围有办法让垃圾收集起来是不是很糟糕?允许垃圾收集与删除元素和重用相同内存的成本是多少?

c# garbage-collection list

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

for循环中无法解释的语法错误

我在这里的第二行到最后一行遇到了语法错误,但不知道为什么.它看起来与它之前的第2行相同,但由于某种原因我得到了语法错误.我已经尝试过它和它之前的线和它之间的空行,结果相同.

## numlist = some list
array_size = 20
for row in xrange(array_size):
    for col in xrange(array_size):
        if(col<=(array_size-4)):
            check(sum(numlist[row][col:col+4])
        if(row<=(array_size-4)):
            check(sum([numlist[row+i][col] for i in range(4)]))
Run Code Online (Sandbox Code Playgroud)

python syntax

-3
推荐指数
2
解决办法
221
查看次数