所以这是一个关于问题缩进引入的歧义的问题,而不是不是的问题。
==============原始问题==============
我正在使用 Visual Studio。基本上这是我遇到的简化示例:
class sample():
def __init__(self):
self.xData = [0]
self.yData = [0]
def trySomething(self, x = [], y = []):
if not x: x = self.xData; if not y: y = self.yData
#BlaBlaBla
这里我想检查 x 和 y 是否有输入,如果没有,则使用类本身的变量。但是,它无法运行,if not y: 带有红色波浪线下划线,表示 Unexpected token 'not',如下所示: 有线的事情是,一旦我将它分成另一行,事情就会得到解决:
class sample():
def __init__(self):
self.xData = [0]
self.yData = [0]
def trySomething(self, x = [], y = []):
if not x: x = self.xData;
if not y: y = self.yData
#BlaBlaBla
那么将它们写成一行有什么问题呢?或者这是 Visual Studio 的某种错误?
请您参考如下方法:
歧义。你指的是哪一个?
if not x:
x = self.xData
if not y:
y = self.yData
或
if not x:
x = self.xData
if not y:
y = self.yData
这里有更多详细信息:https://docs.python.org/3/reference/compound_stmts.html
TLDR 在这种情况下不要使用 ;
