하나의 변수를 여러 값과 비교할 수 없습니다.Python2.6 IF 사용 AND
예를 들어 이라는 변수는 Sleep
과 Binlog
과 달라야합니다.
if (query != "Sleep") or (query != "Binlog Dump"):
print query[4]
위의 코드를 사용하면 제 스크립트가 작동하지 않습니다. 당신이 나를 도울 수?
감사합니다.
하나의 변수를 여러 값과 비교할 수 없습니다.Python2.6 IF 사용 AND
예를 들어 이라는 변수는 Sleep
과 Binlog
과 달라야합니다.
if (query != "Sleep") or (query != "Binlog Dump"):
print query[4]
위의 코드를 사용하면 제 스크립트가 작동하지 않습니다. 당신이 나를 도울 수?
감사합니다.
어쩌면 명백한 것을 사용할 수 있습니까?
if _query not in ('Sleep', 'Binlog'):
print _query
아마도 가장 Pythonic 관용어이기도합니다.
감사합니다. Tanriol – user1110801
생각해보십시오. 그것도 둘 다 동일하지 않을 수 있습니다 - - query
은 항상는 "Sleep"
또는 "Binlog Dump"
중 하나 동일하지에이고 or
표현은 사실이다 인수의 중 하나 마찬가지입니다. 그래서 당신의 상태는 항상 사실입니다! 당신이 원하는 것은 :
if query != "Sleep" and query != "Binlog Dump":
을하지만 첫 번째는 좀 더 명확하게 의도를 표현하기 때문에 쉽게 읽을 수 : 적용된 일부 부울 대수와
if not (query == "Sleep" or query == "Binlog Dump"):
, 이것은 다음과 논리적으로 등가 인 경우 검색어는 두 용어 중 하나가 아닙니다. 이것은 쉽게 필요한 경우 추가의 측면으로 확장되는 이점을 갖고, 또한 틀림없이 더욱 판독 첫번째 예보다
if query not in ("Sleep", "Binlog Dump"):
:
이 조건
는 또한 명확하게 기록 될 수있다. 또한 테스트중인 변수 이름을 반복하지 않아도됩니다.
제목에 "AND OR"이 (가) 있습니다. '또는'대신'와'를 써서 표현을 해봤습니까? –
아마도 내가 문제를 해결하기 위해 "and"를 사용해야 할 것 같아서 ... 아마도 내가 틀 렸습니다 ... – user1110801
아니요, 맞습니다. 당신이 필요합니다. 그리고 당신은 왜 필요하다고 생각합니까? '? –