运算符"<>"在Python中意味着什么?

Cor*_*man 3 python operators tetris

我正在尝试理解另一位作者在"NAND to Tetris"项目中编写Parser的代码,但是在使用这段代码中所示的"<>"运算符时却不明白它们的含义.我已经包含了他们的构造函数以供参考self.commands函数.

def __init__(self,fname):
    self.fname = fname
    self.commands = open(fname, 'r').readlines()
    self.cleanUp()
.
.
.

 def hasMoreCommands(self):
    """Return True if more commands to parse else return False"""
    return self.commands <> [ ]
Run Code Online (Sandbox Code Playgroud)

在我看来,这是一种更简单的方法来确定代码中是否有更多行.那是对的吗?感谢您对此问题的任何意见!如果有更多信息可以帮助,请告诉我.

Abh*_*jit 6

在Python 2.X中,<>是相同的!=但是使用已经过时,并且不鼓励使用更新的用法.!=

请参阅" 比较"部分的手册

因此,return self.commands <> [ ]同样return self.commands != [ ]意味着self.commands不是一个空列表,根据你的docstring

如果更多要解析的命令返回False,则返回True

  • "泄气"?Python已经抛出了8年的语法错误...... (2认同)