Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 논리 연산자

조건문으로 작업할 때 명령문에서 둘 이상의 비교를 수행할 수 있습니다. 예를 들어, 두 문장이 True로 평가되는지 또는 두 문장 중 하나가 False로 평가되는지 확인하고 싶을 수 있습니다.

이것이 Python 논리 연산자가 필요한 곳입니다. 논리 연산자는 조건문에서 둘 이상의 논리 비교를 수행할 수 있는 특수한 유형의 연산자입니다.

이 자습서에서는 예제와 함께 연산자의 기본 사항과 Python에서 제공되는 세 가지 논리 연산자를 사용하는 방법에 대해 설명합니다.

파이썬 연산자

연산자는 파이썬에서 특별한 연산을 나타내는 기호입니다. 예를 들어 빼기 기호(-) 연산자는 빼기 연산을 나타냅니다.

파이썬에는 세 가지 유형의 연산자가 있습니다. 이것들은:

  • 산술 연산자:프로그램에서 수학 연산을 수행할 수 있습니다.
  • 비교 연산자:값을 비교하고 True를 반환하거나 False를 반환합니다.
  • 논리 연산자:조건문을 결합할 수 있습니다.

두 번째 연산자인 비교 및 ​​논리를 사용하면 프로그래머가 프로그램의 흐름을 더 잘 제어할 수 있습니다. 예를 들어, 비교 연산자를 사용하여 조건이 참인지 확인하고, 참이면 프로그램에서 특정 코드 블록을 실행할 수 있습니다.

비교 및 논리 연산자는 종종 if와 함께 사용됩니다. 성명. 예를 들어 온라인 쇼핑 사이트의 사용자가 16세 이상인지 확인하려고 한다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

age = 17

if age >= 16:
	print("User is 16 or over!")
else:
	print("User is under 16!")

코드 반환:사용자는 16세 이상입니다!

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

이 프로그램에서는 비교 연산자를 사용하여 이 경우 17과 같은 사용자의 나이가 16보다 크거나 같은지를 비교했습니다. 17은 16보다 크므로 이 명령문은 True로 평가되고 메시지 User is 16 or over! 콘솔에 인쇄되었습니다.

하지만 if에서 다중 비교를 실행하려면 어떻게 해야 할까요? 성명? 그것이 논리 연산자가 들어오는 곳입니다.

Python 논리 연산자

Python은 값을 비교할 수 있는 세 가지 논리 연산자를 제공합니다.

이러한 논리 연산자는 표현식을 부울 값으로 평가하고 연산자 결과에 따라 True 또는 False를 반환합니다. Python에서 제공하는 세 가지 논리 연산자는 다음과 같습니다.

이름 설명 예시
그리고 두 표현식이 모두 참이면 참 a 및 b
또는 적어도 하나의 표현식이 참이면 참 a 또는 b
아님 표현식이 거짓인 경우에만 참 아님

논리 연산자는 일반적으로 둘 이상의 표현식이 특정 방식으로 평가되는지 여부를 평가하는 데 사용됩니다.

이러한 논리 연산자가 어떻게 작동하는지 설명하기 위해 몇 가지 예를 살펴보겠습니다. 이전의 온라인 쇼핑 예제로 돌아가겠습니다.

파이썬과 연산자

지정된 모든 표현식이 True로 평가되면 and 연산자는 True로 평가됩니다.

온라인 쇼핑 사이트를 구축한다고 가정해 보겠습니다. 우리 사이트는 사용자가 16세 이상인지 확인해야 하며 사용자가 양호한 상태의 계정을 가지고 있는지도 확인해야 합니다. 이를 위해 다음 코드를 사용할 수 있습니다.

age = 17
good_standing = True

if (age >= 16) and (good_standing == True):
	print("This user's account can make a purchase.")
else:
	print("This user's account cannot make a purchase.")

코드 반환:이 사용자의 계정은 구매할 수 있습니다.

우리 코드에서는 and를 사용했습니다. 사용자가 16세 이상인지 여부를 평가하고 사용자의 계정이 양호한 상태인지 평가하기 위한 설명입니다. 이 경우 age >= 16 평가된 다음 good_standing == True 평가된다. 이 두 문장 모두 True로 평가되기 때문에 if의 내용은 문이 실행됩니다.

이러한 조건 중 하나가 False로 평가되면(사용자가 16세 미만이거나 계정 상태가 좋지 않은 경우) else의 콘텐츠 문이 실행되었을 것입니다.

파이썬 또는 연산자

또는 연산자는 하나 이상의 식이 True로 평가되는 경우 True로 평가됩니다.

로열티 플랜에 가입한 모든 쇼핑객에게 5% 할인을 제공하고 구매하는 65세 이상의 모든 사람들에게 할인을 제공한다고 가정합니다. 이를 위해 다음 프로그램을 사용할 수 있습니다.

loyalty_plan = False
age = 67

if (loyalty_plan == True) or (age >= 65):
	discount = 5
else:
	discount = 0

print("Shopper discount: ", discount)

코드 반환:쇼핑 할인:5.

이 경우 우리 코드는 loyalty_plan True와 같으며 age 65 이상 그러나 연령은 65세 이상이므로 해당 진술은 True로 평가됩니다.

or을(를) 지정했기 때문에 if의 내용인 True로 평가된 우리 코드의 문과 조건 중 하나 성명을 실행했다. 그러나 사용자가 로열티 플랜에 가입되어 있지 않고 65세 미만인 경우 else 문이 실행됩니다.

이 경우 사용자는 5%의 할인을 받았습니다. 그런 다음 Shopper discount: 메시지 , 사용자 할인의 크기가 콘솔에 인쇄되었습니다.

연산자가 아닌 파이썬

not 연산자는 표현식이 False로 평가되는 경우에만 True로 평가됩니다.

할인을 한 번만 사용하고 아직 할인을 사용하여 구매하지 않은 고객에게만 할인을 제공하려고 한다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

used_discount = True

if not(used_discount == True):
	print("This user has not used their discount.")
else:
	print("This user has used their discount.")

코드 반환:이 사용자는 할인을 사용하지 않았습니다.

우리 코드에서는 not 문을 사용하여 used_discount == True False로 평가합니다. 이 경우 명령문이 True로 평가되기 때문에 명령문은 not False로 평가합니다. 그 결과 else의 코드가 생성됩니다. 블록이 실행되고 있습니다.

사용자가 할인을 사용하지 않은 경우 used_discount == True False로 평가되었을 것이므로 우리는 not 문은 True로 평가되고 if의 내용은 문이 실행되었을 것입니다.

결론

논리 연산자를 사용하면 프로그램의 흐름을 제어할 수 있습니다.

and 논리 연산자를 사용하면 두 표현식이 True인지 확인할 수 있고 or 논리 연산자를 사용하면 여러 표현식 중 하나가 True인지 확인할 수 있으며 not 연산자를 사용하면 표현식이 False인지 확인할 수 있습니다.

이 기사에 제공된 예제를 통해 전문가처럼 Python 코드에서 논리 연산자를 사용하기 시작하는 데 필요한 모든 것을 갖추게 되었습니다!