Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python not 키워드 완벽 가이드: 불리언 반전부터 조건 확인까지

파이썬(Python)의 not 키워드는 값이 False이면 True를 반환하고, 값이 True이면 False를 반환합니다. 즉, 불리언(Boolean) 값을 뒤집는 역할을 하며, if 문과 함께 사용해 특정 값이 리스트에 없는지 확인하는 등 다양한 용도로 활용할 수 있습니다.

"어떤 값이 리스트에 없는지 어떻게 확인할까?", "조건이 충족되지 않았을 때는 어떻게 판별할까?" 이런 질문에 대한 답은 바로 한 단어, not 키워드에 있습니다.

not 키워드는 불리언 값을 반전시킵니다. 불리언은 True 또는 False 두 가지 값만 가질 수 있는 자료형으로, 프로그램의 논리 흐름을 제어하는 데 사용됩니다.

파이썬의 if 문은 불리언 논리에 기반합니다. 조건식이 True이면 if 문이 실행되고, 그렇지 않으면 elif나 else 문이 실행되거나 아무 일도 일어나지 않습니다.

이 글에서는 not 키워드가 무엇인지, 어떻게 동작하는지 살펴보고, 실제로 활용되는 세 가지 예제를 단계별로 다뤄보겠습니다.

Python not 키워드란?

not 키워드는 불리언 표현식의 값을 반전시킵니다. 예를 들어 True를 False로, False를 True로 뒤집습니다. 주로 특정 값이 문자열이나 다른 이터러블(iterable) 객체에 포함되어 있지 않은지 확인할 때 사용됩니다.

즉, not 키워드를 사용하면 "조건이 충족되지 않았는지" 여부를 손쉽게 검사할 수 있습니다.

not 키워드는 and, or와 함께 파이썬의 대표적인 논리 연산자 중 하나입니다. 논리 연산자에 대해 더 알고 싶다면 파이썬 논리 연산자 관련 자료를 추가로 참고하시길 권합니다.

not 키워드 사용 방법

not 키워드는 다음과 같은 다양한 용도로 사용할 수 있습니다.

  • 파이썬 불리언 값 반전시키기
  • if 문에서 조건이 충족되지 않았는지 확인하기
  • "in" 연산자와 함께 특정 값이 리스트 등에 없는지 확인하기

각각의 경우를 예제와 함께 하나씩 살펴보겠습니다.

1. 불리언 값 반전하기

not 키워드의 가장 간단한 용도는 불리언 값을 반전시키는 것입니다. 변수에 할당된 불리언 값을 반대 값으로 바꿔줍니다.

예를 들어, 고객이 멤버십 카드 소지 여부를 추적하는 프로그램을 만든다고 가정해 보겠습니다. 이 프로그램에는 고객이 멤버십 해지를 원할 경우 해당 고객의 카드 상태를 비활성화로 변경하는 기능이 필요합니다.

먼저 고객의 카드 소지 여부를 저장하는 변수를 선언합니다.

loyalty_card = True

한 고객이 멤버십 카드를 해지하고 싶다고 알려왔습니다. 이때 not 키워드를 사용하면 됩니다.

loyalty_card = not loyalty_card
print(loyalty_card)

실행 결과는 False입니다. 이 코드는 loyalty_card의 값을 성공적으로 뒤집었습니다. 만약 loyalty_card가 False였다면 True로 바뀌었을 것이고, 이 예제처럼 True였다면 False로 반전됩니다.

2. if not 조합 활용하기

파이썬에서 "if not" 구문은 표현식의 결과가 False인지 검사합니다. 표현식이 False이면 if 문 내부의 코드가 실행되고, 그렇지 않으면 if 문은 실행되지 않습니다.

not 키워드의 큰 장점 중 하나는 코드를 영어 문장처럼 자연스럽게 읽을 수 있다는 점입니다.

if not은 "~하지 않다면"이라는 의미로 그대로 읽힙니다.

이번에는 의류 매장에서 고객이 멤버십 카드 소지자가 아닌지 확인하는 도구를 만들어 보겠습니다. 먼저 고객의 카드 소지 여부를 선언합니다.

loyalty_card = True

이 고객은 멤버십 카드 소지자입니다. 카드가 없는 고객은 할인 대상이 아니며, 카드가 있는 고객은 모든 구매 금액에서 5% 할인을 받을 수 있습니다. 다음 코드로 할인 자격 여부를 확인할 수 있습니다.

if not loyalty_card:
    print("이 고객은 할인 대상이 아닙니다.")
else:
    print("이 고객은 5% 할인 대상입니다.")

"if not loyalty_card"는 loyalty_card의 값이 False인지 검사합니다. 이 예제에서 loyalty_card는 True이므로, not 연산의 결과는 False가 되고 else 문의 내용이 실행됩니다. 콘솔에는 다음 메시지가 출력됩니다.

이 고객은 5% 할인 대상입니다.

이 고객은 멤버십 카드 소지자이므로 할인 혜택을 받을 자격이 있는 것입니다.

3. not in 조합 활용하기

"not in" 구문은 특정 항목이 리스트 안에 없는지 확인합니다. in 연산자가 값이 리스트에 있는지 검사하면, not이 그 결과값을 반전시킵니다.

파이썬에서 not in 연산자를 사용하면 항목이 리스트에 없는지 손쉽게 확인할 수 있습니다. 다음 리스트를 예로 들어 보겠습니다.

presidents = ["George Washington", "John Adams", "Thomas Jefferson"]

이것은 미국 초대 3대 대통령 목록입니다. not in 키워드를 사용하면 특정 인물이 이 명단에 포함되어 있는지 확인할 수 있습니다.

친구가 "Alexander Hamilton이 초대 3대 대통령 중 한 명이었니?"라고 물었다고 가정해 봅시다. 다음 코드로 확인할 수 있습니다.

presidents = ["George Washington", "John Adams", "Thomas Jefferson"]

if "Alexander Hamilton" not in presidents:
    print("Alexander Hamilton은 초대 3대 대통령이 아닙니다.")
else:
    print("Alexander Hamilton은 초대 3대 대통령 중 한 명입니다.")

이 표현식은 "Alexander Hamilton"이 대통령 목록에 없는지 검사합니다. 목록에 없으면 if 문의 내용이 실행되고, 목록에 있으면 else 절의 내용이 실행됩니다.

Alexander Hamilton은 목록에 없으므로 if 문이 실행되어 콘솔에 다음과 같이 출력됩니다.

Alexander Hamilton은 초대 3대 대통령이 아닙니다.

마무리

not 키워드는 불리언 논리를 통해 프로그램의 흐름을 제어하는 데 사용됩니다. 이 키워드는 불리언 값을 반전시키며, 특정 값이 다른 값 안에 포함되어 있지 않은지 확인하는 데도 활용할 수 있습니다.

도전해 볼 준비가 되셨나요? 좋아하는 음식이 음식 딕셔너리(dictionary)에 포함되어 있는지 확인하는 프로그램을 직접 작성해 보세요. 딕셔너리에 대해 더 알고 싶다면 파이썬 딕셔너리 관련 튜토리얼을 참고하시기 바랍니다.

파이썬 프로그래밍을 더 깊이 배우고 싶다면 "How to Learn Python" 완벽 가이드를 확인해 보세요. 전문가의 학습 조언과 추천 온라인 강의, 학습 리소스 목록을 만나볼 수 있습니다.