🧐 🤔 그거 어떻게 쓰더라 🙄 😙

파이썬 비교연산

2022. 7. 31. Evergood Kim이가 씀

비교연산#

연산 결과로 논리값인 True, False를 낸다.

값비교

동등비교
A == B
A와 B의 값이 같은가?
A != B
A와 B의 값이 다른가? (A == B의 반대의 결과.)
대소비교
A < B
A가 B보다 작은가?
A > B
A가 B보다 큰가?
A <= B
A가 B보다 작거나 같은가? (A > B의 반대의 결과.)
A >= B
A가 B보다 크거나 같은가? (A < B의 반대의 결과.)

nan과 수의 값비교는 False이다.

문자열의 값비교는 문자열의 내장함수 ord()를 써서 사전식으로 비교한다.

A in B
A가 B의 멤버인가?
A not in B
A in B의 반대의 결과. 여기서 not은 논리연산자 not이 아니고; not in이 한 연산자이다.

B에는 리스트나 레인지같은 애들을 자주 넣는다. A, B가 문자열인 경우 A 문자열이 B 안에 포함되면 True이다.

아이디비교

A is B
A와 B가 같은 객체인가? 즉; A와 B의 아이디가 같은가?
A is not B
A is B의 반대의 결과. 여기서 not은 논리연산자 not이 아니고; is not이 한 연산자이다.

비교연산은 거듭 연결될 수 있다. 즉; x<y<z라거나 x<y>z도 가능. 그러나 중간에 괄호가 있으면 괄호 안의 연산결과와 그 바깥을 연산하는 것이므로 결과가 다르다. 예: 1<5<3False이지만 (1<5)<3True<3이므로 True이다.

비교연산들끼리는 우선순위가 같다.

여기서 “뭐뭐의 반대의 결과”라고 설명된 것들은; 파이썬 자체가 그 결과를 반전한다는 뜻이 아니고, 연산결과를 그렇게 만들라는 가이드만 있을 뿐, 강제되는 게 아니기 때문에; 반드시 반대의 결과를 낸다는 보장은 없다. 예: nan과 수의 대소비교는 부등호가 어떻든 다 False

728x90