Python 연산자 개요

Python은 다양한 연산자를 제공하여 데이터를 조작하고 계산을 수행합니다.

1. 산술 연산

산술 연산자는 기본적인 수학 계산에 사용됩니다.

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • // : 몫 (정수 나눗셈)
  • % : 나머지

// 연산자와 % 연산자의 예시는 다음과 같습니다.


num1 = 20
num2 = 3
quotient = num1 // num2
remainder = num1 % num2  # 20을 3으로 나눈 나머지
print(f"몫: {quotient}")
print(f"나머지: {remainder}")

실행 결과:


몫: 6
나머지: 2

사용자로부터 숫자를 입력받아 35의 배수인지 확인하는 예제입니다.


user_input = int(input("숫자를 입력하세요: "))
if user_input % 35 == 0:
    print("입력하신 숫자는 35의 배수입니다.")
else:
    print("입력하신 숫자는 35의 배수가 아닙니다.")

2. 비교 연산

비교 연산자는 두 값을 비교하여 불리언(Boolean) 결과를 반환합니다.

  • > : 초과
  • < : 미만
  • >= : 이상
  • <= : 이하
  • == : 같음
  • != : 다름

==!= 연산자의 예시입니다.


val1 = 10
val2 = 20
print(f"{val1} == {val2}: {val1 == val2}")
print(f"{val1} != {val2}: {val1 != val2}")

실행 결과:


10 == 20: False
10 != 20: True

3. 할당 연산

할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 복합 할당 연산자는 연산과 할당을 동시에 수행합니다.

  • = : 값 할당
  • += : 더하고 할당 (예: a += ba = a + b와 동일)
  • -= : 빼고 할당
  • *= : 곱하고 할당
  • ... 등

일반적인 변수 값 교환 방법은 다음과 같습니다.


x = 30
y = 40

temp = x
x = y
y = temp
print(f"교환 후 x: {x}, y: {y}")

Python에서는 튜플 언패킹을 사용하여 더 간결하게 값을 교환할 수 있습니다.


x, y = y, x
print(f"Python식 교환 후 x: {x}, y: {y}")

이 기법은 먼저 우변의 값들을 튜플 (y, x)로 묶은 다음, 이 튜플의 요소들을 좌변의 변수 xy에 순서대로 할당하는 원리로 작동합니다.

+= 연산자를 사용하여 1부터 100까지의 합을 구하는 예제입니다.


counter = 1
total_sum = 0
while counter <= 100:
    total_sum += counter  # total_sum = total_sum + counter 와 동일
    counter += 1          # counter = counter + 1 와 동일
print(f"1부터 100까지의 합: {total_sum}")

4. 논리 연산

논리 연산자는 불리언 값들을 결합하여 결과를 도출합니다.

  • and : 논리곱 (양쪽 모두 참일 때만 참)
  • or : 논리합 (둘 중 하나라도 참이면 참)
  • not : 논리 부정 (참이면 거짓, 거짓이면 참)

print(f"True and True and True and False: {True and True and True and False}")
print(f"False or True or False or False: {False or True or False or False}")
print(f"not False: {not False}")

사용자 로그인을 시뮬레이션하는 예제입니다.


user_id = input("사용자 ID: ")
user_pw = input("비밀번호: ")
if user_id == "admin" and user_pw == "123456":
    print("로그인 성공")
else:
    print("로그인 실패")

and, or, not 연산자가 함께 사용될 때는 괄호를 사용하여 연산 순서를 명확히 하는 것이 좋습니다.


result_with_parens = (True and False) or (True and False) or (not True and True) or False
print(f"괄호 사용 시 결과: {result_with_parens}")

괄호가 없을 경우 연산 순서는 다음과 같습니다: not > and > or


result_without_parens = True and False or True and False or not True and True or False
print(f"괄호 없을 시 결과: {result_without_parens}")

위 코드의 연산 과정:

  1. not True 계산: False
  2. and 연산 수행: True and FalseFalse, True and FalseFalse, False and TrueFalse
  3. or 연산 수행: False or False or False or FalseFalse

5. 멤버십 연산

멤버십 연산자는 시퀀스(리스트, 튜플, 문자열 등) 내에 특정 요소가 포함되어 있는지 확인합니다.

  • in : 요소가 시퀀스에 존재하면 True 반환
  • not in : 요소가 시퀀스에 존재하지 않으면 True 반환

my_list = [1, 2, 3, 4, 5, 6]
print(f"3 in my_list: {3 in my_list}")
print(f"666 not in my_list: {666 not in my_list}")

실행 결과:


3 in my_list: True
666 not in my_list: True

태그: python 산술 연산자 비교 연산자 할당 연산자 논리 연산자

6월 21일 18:43에 게시됨