我想用一个变量来存储切片表达式。 这就是我要做的:
if variable is not None:
var = variable
elif self.__filter is not None:
var = self.__filter
else:
# this doesn't work, : alone understandably gives a syntax error
var = ':'
此处使用var:
^{pr2}$我想这样做是为了在代码中获得更好的结构。另一种方法是根据大小写返回以下表达式:
return stuff[variable]
return stuff[self.__filter]
return stuff[:]
引发异常:ValueError: invalid literal for int() with base 10
有没有一种方法可以将冒号赋给var,以便在切片表达式(转义或类似的东西)中使用它,还是必须使用var = slice(0, self.getNumberOfVariables())
?在
附言:我在问之前确实查过了,但没找到这样的东西。对不起,如果我漏了一份副本。在
表达式
stuff[var]
不变地固定了某些东西的可能性,这些东西可以用一个变量来表达。 你得想想怎么解释这些东西。 首先对代码进行解析。此时将修复使用的语法。start:stop:step
是一个表达式,编译器将其作为切片接受。一个特殊情况是:
。其他可能是标量、列表和切片对象。单个对象。在在getter中使用var,我只能将var设置为list、标量或slice对象。 当尝试为var分配冒号语法时,我只得到一个字符串文本,而字符串文本不会被getter/setter方法解析。 你不能通过给变量赋值来改变语法。在
不能直接使用冒号。它是操作的文字表示法;Python通常不允许直接使用这种标点符号,而是要求使用函数(参见
operator
模块中的算术运算符和相应函数)。在要使用的函数是内置函数
slice
,它返回切片的显式表示。使用slice(None)
包含所有内容。在例如:
相关问题 更多 >
编程相关推荐