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 표현식 평가 순서
연산자 우선순위에 따라 표현식이 평가됩니다.