2016-10-17 7 views
3

"NAND to Tetris"프로젝트에서 파서를 작성하는 다른 작성자의 코드를 이해하려고하지만이 코드에 표시된대로 "<>"연산자를 사용할 때 의미하는 바를 이해하지 못합니다. 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 <> [ ] 

코드에 줄이 더 있는지 쉽게 판단 할 수있는 것처럼 보입니다. 그 맞습니까? 이 질문과 관련하여 의견을 보내 주셔서 감사합니다. 더 많은 정보가 도움이 될지 알려주십시오.

파이썬 2.X에서
+2

'! ='와 같지 않습니다. – AChampion

+0

"<="가 "작거나 같음"을 의미하는 것과 유사하게 "작거나 같음"으로 시작했다고 생각합니다. 그러나 그것은 그것을 "동등하지 않다"와 동의어로 만든다. –

답변

6

, return self.commands <> [ ]<>!=과 동일하지만 사용은 무효이며, !=

그래서 Comparision 섹션에 대한 설명서를 참조하십시오되는 새로운 사용에 찬성 권장하지 않습니다

반환 진정한 당신의 문서화 문자열에 따라 다른 명령이 False를 반환 다른 구문 분석하는 경우는, 하늘의 목록은 self.commands을 의미 return self.commands != [ ] 동일하지입니다

+1

전체 코드 블록은 관용적이지 않습니다. Python - 목록이 비어 있는지 테스트하려면 부울로 테스트하십시오. 'if self.commands :'. 빈리스트는'False'이고, 비어 있지 않은리스트는'True'입니다. –

+0

@PeterDeGlopper : 그것은 내가하지 않은 별도의 인수이며, 탈퇴하고 싶습니다. – Abhijit

+0

링크 및 설명 주셔서 감사합니다. Abhijit : 내가 대답 할 수있게 해줄 때 대답으로 당신의 의견을 표시 할 것입니다! –