切片索引具有有用的默认值; 省略的第一个索引默认为零,省略的第二个索引默认为要切片的字符串的大小.
>>> a = "hello"
>>> print(a[::-1])
olleh
Run Code Online (Sandbox Code Playgroud)
正如教程所说a[::-1]应该等于a[0:5:-1]
但是a[0:5:-1]如下所示是空的:
>>> print(len(a[0:5:-1]))
0
Run Code Online (Sandbox Code Playgroud)
问题不是解释切片符号的重复.那个问题是关于python中切片的一般用法.
我有以下两个类(在两个单独的文件中).
public class Foo
{
public static class A
{
public static final boolean FLAG = false;
}
public final A A = new A();
}
public class Bar
{
void method()
{
if (Foo.A.FLAG) <<<< this is giving "Cannot make static ref to non-static field
// do something
;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么编译器不能记录通过Foo.A,我的意思是类A,而不是成员,这也恰好被命名A?