파이썬 기초: 연산자와 표현식, 내포 구문

1. 연산자

연산자는 특정 작업을 수행하고 결과를 반환하는 데 사용됩니다. 파이썬의 연산자는 다음과 같이 분류됩니다.

1.1 산술 연산자

기본 수학 연산을 수행하는 데 사용됩니다.

  • +: 덧셈
  • -: 뺄셈
  • *: 곱셈
  • /: 나눗셈
  • %: 나머지 (모듈로)
  • **: 거듭제곱
  • //: 정수 나눗셈

1.2 연습 문제

100원으로 13원짜리 수박 몇 개를 살 수 있는지 계산하세요.

print('구매 가능 개수:', 100 // 13, '개, 잔액:', 100 % 13, '원')

18:02:31에서 자정까지 몇 초가 지났는지 계산하세요.

second = 18 * 60 * 60 + 2 * 60 + 31
print('자정까지 경과 시간:', second, '초')

63320초가 지났을 때 현재 시간을 계산하세요.

s = 63320
hour = s // 60 // 60
minute = s % 3600 // 60
second = s % 60
print('현재 시간:', hour, ':', minute, ':', second)

2. 비교 연산자

두 값을 비교하고 불린 값(True/False)을 반환합니다.

  • ==: 같음
  • !=: 다름
  • <: 작음
  • >: 큼
  • <=: 작거나 같음
  • >=: 크거나 같음

3. 논리 연산자

불린 값을 연결하고 결과를 반환합니다.

  • and: 논리 AND (모두 참일 때만 참)
  • or: 논리 OR (하나라도 참이면 참)
  • not: 논리 NOT (반전)

4. 할당 연산자

변수에 값을 할당합니다.

  • =: 기본 할당
  • +=: 덧셈 할당
  • :=: 해머 연산자 (표현식 내부에서 변수 할당)
while (n := len(input("입력하세요:"))) > 5:
    print(f"입력한 문자 수: {n}")

5. 비트 연산자

정수를 비트 단위로 처리합니다.

  • &: 비트 AND
  • |: 비트 OR
  • ^: 비트 XOR
  • ~: 비트 NOT
  • <<: 왼쪽 시프트
  • >>: 오른쪽 시프트

6. 식별 연산자

객체의 메모리 주소를 비교합니다.

  • is: 동일성 확인
  • is not: 동일하지 않음 확인

7. 멤버 연산자

값이 시퀀스에 포함되어 있는지 확인합니다.

  • in: 포함 여부
  • not in: 포함되지 않음 여부

8. 삼항 연산자

조건에 따라 값을 선택합니다.

max_value = a if a > b else b

9. 연산자 우선순위

괄호()를 사용하여 우선순위를 명확히 합니다.

2. 표현식

표현식은 하나 이상의 피연산자와 연산자를 포함하는 코드 조각입니다.

2.1 산술 표현식

a = 5
b = 3
result = a + b

2.2 비교 표현식

a = 5
b = 3
result = a > b

2.3 논리 표현식

a = True
b = False
result = a and b

2.4 할당 표현식

a = 5
b = a + 3

2.5 멤버 표현식

data = [1, 2, 3]
result = 2 in data

2.6 식별 표현식

a = [1, 2]
b = a
result = a is b

2.7 삼항 표현식

a = 5
b = 3
result = a if a > b else b

2.8 함수 호출 표현식

def add(x, y):
    return x + y
result = add(5, 3)

2.9 내포 구문

리스트, 딕셔너리, 세트를 간결하게 생성합니다.

2.9.1 리스트 내포

numbers = [1, 2, 3, 4]
doubled = [x * 2 for x in numbers]

2.9.2 딕셔너리 내포

chars = ['a', 'b', 'c']
ascii_map = {x: ord(x) for x in chars}

2.9.3 세트 내포

numbers = [1, 2, 3, 4]
doubled_set = {x * 2 for x in numbers}

2.9.4 연습 문제

1-10의 제곱을 리스트에 저장하고, 짝수와 5 이상의 홀수를 필터링하세요.

list01 = [x**2 for x in range(1, 11)]
list02 = [x for x in list01 if x % 2 == 0]
list03 = [x+1 for x in list01 if x % 2 == 1 and x > 5]

2.10 람다 표현식

add = lambda x, y: x + y
result = add(2, 3)

2.11 생성자 표현식

numbers = [1, 2, 3, 4]
generator = (x * 2 for x in numbers)

2.12 호출 연산자()

result = (5 + 3) * 2

2.13 표현식 평가 순서

연산자 우선순위에 따라 표현식이 평가됩니다.

태그: Python 연산자 표현식 내포 람다 생성자

5월 24일 15:39에 게시됨