본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘의 강의 : 챕터 2 변수와 연산자란 무엇인가?
1. 변수 (Variables): 데이터를 담는 상자
변수는 데이터를 저장할 수 있는 '이름을 가진 저장 공간'이라고 생각하면 이해하기 쉽다. 필요할 때 이 이름표를 불러서 상자 안의 값을 사용하거나 변경할 수 있다.
변수의 특징
- 이름: 변수에는 고유한 이름을 붙여야 합니다. (예: name, age, score)
- 값: 변수에는 숫자, 문자, 리스트 등 다양한 종류의 값을 저장할 수 있습니다.
- 할당: = 기호를 사용하여 변수에 값을 할당합니다.
- 동적 타이핑: 파이썬은 변수를 선언할 때 따로 자료형을 지정할 필요가 없습니다. 할당되는 값에 따라 자료형이 자동으로 결정됩니다. (예: x = 10이면 x는 정수형, name = "파이썬"이면 name은 문자열)
- 파이썬에서 사용하는 예약어는 변수명으로 사용할 수 없다.
- 예약어에는 False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield 이런 것들이 있다.
- 숫자로 시작하는 변수명은 사용할 수 없다.
- 변수명에 공백을 넣을 수 없다.
- _ (underscore)를 제외한 특수문자는 사용할 수 없다.
- 권장사항은 영문 혹은 _ 로 시작하는 것을 권장한다. (PEP8)
# 정수형 변수
age = 30
print(f"나이: {age}") # 출력: 나이: 30
# 문자열 변수
name = "김파이"
print(f"이름: {name}") # 출력: 이름: 김파이
# 실수형 변수
pi = 3.14159
print(f"파이 값: {pi}") # 출력: 파이 값: 3.14159
# 불리언 변수 (참/거짓)
is_student = True
print(f"학생인가요?: {is_student}") # 출력: 학생인가요?: True
# 변수의 값 변경
score = 85
print(f"초기 점수: {score}") # 출력: 초기 점수: 85
score = 90 # 변수 score의 값을 90으로 변경
print(f"변경된 점수: {score}") # 출력: 변경된 점수: 90
# 여러 변수에 한 번에 값 할당 (튜플 언패킹)
x, y, z = 10, 20, 30
print(f"x: {x}, y: {y}, z: {z}") # 출력: x: 10, y: 20, z: 30
2. 연산자 (Operators): 값을 조작하는 도구 🛠️
연산자는 변수나 값(피연산자)을 가지고 특정 작업을 수행할 때 사용하는 특별한 기호입니다. 우리가 덧셈, 뺄셈을 하거나 두 값이 같은지 비교할 때 연산자를 사용합니다.
파이썬에는 다양한 종류의 연산자가 있습니다.
2.1. 산술 연산자 (Arithmetic Operators)
숫자 계산에 사용됩니다.
연산자 | 설명 | 예제 | 결과 |
+ | 덧셈 | 5 + 3 | 8 |
- | 뺄셈 | 10 - 4 | 6 |
* | 곱셈 | 6 * 7 | 42 |
/ | 나눗셈 | 10 / 3 | 3.333... (실수) |
// | 몫 (정수 나눗셈) | 10 // 3 | 3 |
% | 나머지 | 10 % 3 | 1 |
** | 거듭제곱 | 2 ** 3 | 8 |
a = 15
b = 4
print(f"a + b = {a + b}") # 덧셈: 19
print(f"a - b = {a - b}") # 뺄셈: 11
print(f"a * b = {a * b}") # 곱셈: 60
print(f"a / b = {a / b}") # 나눗셈 (실수): 3.75
print(f"a // b = {a // b}") # 몫: 3
print(f"a % b = {a % b}") # 나머지: 3
print(f"a ** 2 = {a ** 2}") # 거듭제곱: 225
cf) 산술연산자의 문자열 사용
+ 연산자: 문자열 연결 (Concatenation)
문자열에 + 연산자를 사용하면 두 개 이상의 문자열을 연결(concatenation) 하여 하나의 새로운 문자열을 만듭니다. 숫자에서의 덧셈처럼 값이 더해지는 것이 아니라, 문자열들이 서로 이어붙여지는 개념입니다.
- 두 문자열을 결합하여 새로운 문자열을 반환합니다.
- 피연산자는 반드시 문자열 타입이어야 합니다. 문자열과 숫자를 직접 + 연산자로 연결하려고 하면 TypeError가 발생합니다. (이 경우 숫자를 문자열로 변환해야 합니다.)
# 예제 1: 기본적인 문자열 연결
str1 = "Hello"
str2 = "Python"
result1 = str1 + str2
print(f"'{str1}' + '{str2}' = '{result1}'") # 출력: 'Hello' + 'Python' = 'HelloPython'
# 예제 2: 공백을 포함하여 연결
str3 = "안녕"
str4 = "하세요"
result2 = str3 + " " + str4 # 문자열 리터럴과 변수 연결
print(f"'{str3}' + ' ' + '{str4}' = '{result2}'") # 출력: '안녕' + ' ' + '하세요' = '안녕 하세요'
# 예제 3: 숫자와 문자열 연결 시 주의 (TypeError 발생)
# num = 123
# text = "숫자: "
# result_error = text + num # TypeError: can only concatenate str (not "int") to str
# print(result_error)
# 예제 4: 숫자와 문자열을 연결하려면 숫자를 문자열로 변환해야 함
num = 123
text = "숫자: "
result3 = text + str(num) # str() 함수를 사용하여 숫자를 문자열로 변환
print(f"'{text}' + str({num}) = '{result3}'") # 출력: '숫자: ' + str(123) = '숫자: 123'
* 연산자: 문자열 반복 (Repetition)
문자열에 * 연산자를 사용하면 문자열을 지정된 횟수만큼 반복하여 새로운 문자열을 만듭니다.
설명:
- 문자열을 한쪽 피연산자로, 양의 정수(횟수)를 다른쪽 피연산자로 사용합니다.
- 문자열이 해당 정수만큼 반복되어 연결된 새로운 문자열을 반환합니다.
- 정수는 음수일 수 없으며, 0일 경우 빈 문자열을 반환합니다.
# 예제 1: 기본적인 문자열 반복
word = "Python " # 뒤에 공백을 넣어 다음 반복과 구별
repeated_word = word * 3
print(f"'{word}' * 3 = '{repeated_word}'") # 출력: 'Python ' * 3 = 'Python Python Python '
# 예제 2: 구분자를 포함하여 반복
separator = "=" * 20
print(f"경계선: {separator}") # 출력: 경계선: ====================
# 예제 3: 0번 반복
empty_string = "Hello" * 0
print(f"'Hello' * 0 = '{empty_string}', 길이: {len(empty_string)}") # 출력: 'Hello' * 0 = '', 길이: 0
# 예제 4: 음수 반복 시 (ValueError 발생)
# error_repeat = "test" * -1 # ValueError: negative repeat count
# print(error_repeat)
2.2. 비교 연산자 (Comparison Operators)
두 값의 크기나 같음을 비교하여 True (참) 또는 False (거짓)를 반환합니다.
연산자 | 설명 | 예제 | 결과 |
== | 값이 같음 | 5 == 5 | TRUE |
!= | 값이 다름 | 5 != 3 | TRUE |
> | 왼쪽이 큼 | 7 > 4 | TRUE |
< | 왼쪽이 작음 | 2 < 8 | TRUE |
>= | 왼쪽이 크거나 같음 | 10 >= 10 | TRUE |
<= | 왼쪽이 작거나 같음 | 3 <= 5 | TRUE |
x = 10
y = 5
print(f"x == y: {x == y}") # False
print(f"x != y: {x != y}") # True
print(f"x > y: {x > y}") # True
print(f"x < y: {x < y}") # False
print(f"x >= y: {x >= y}") # True
print(f"x <= y: {x <= y}") # False
2.3. 할당 연산자 (Assignment Operators)
변수에 값을 할당할 때 사용합니다. 산술 연산자와 결합하여 더 간결하게 표현할 수 있습니다.
연산자 | 설명 | 예제 | 동일한 표현 |
= | 값 할당 | a = 10 | a = 10 |
+= | 덧셈 후 할당 | a += 5 | a = a + 5 |
-= | 뺄셈 후 할당 | a -= 2 | a = a - 2 |
*= | 곱셈 후 할당 | a *= 3 | a = a * 3 |
/= | 나눗셈 후 할당 | a /= 4 | a = a / 4 |
//= | 몫 할당 | a //= 3 | a = a // 3 |
%= | 나머지 할당 | a %= 2 | a = a % 2 |
**= | 거듭제곱 후 할당 | a **= 2 | a = a ** 2 |
count = 0
print(f"초기 count: {count}") # 0
count += 1 # count = count + 1
print(f"count += 1: {count}") # 1
count -= 0.5 # count = count - 0.5
print(f"count -= 0.5: {count}") # 0.5
value = 10
value *= 2 # value = value * 2
print(f"value *= 2: {value}") # 20
2.4. 논리 연산자 (Logical Operators)
논리적인 조건을 결합하거나 반전시킬 때 사용하며, True 또는 False를 반환합니다.
연산자 | 설명 | 예제 |
and | 양쪽 모두 참일 때 참 | True and False |
or | 둘 중 하나라도 참일 때 참 | True or False |
not | 논리 값을 반전 | not True |
is_sunny = True
is_warm = False
print(f"햇빛이 있고 따뜻한가요?: {is_sunny and is_warm}") # False
print(f"햇빛이 있거나 따뜻한가요?: {is_sunny or is_warm}") # True
print(f"햇빛이 없나요?: {not is_sunny}") # False
오늘의 실습
https://fastcampus.info/4n8ztzq
(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스
초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!
fastcampus.co.kr
'개발공부 > python' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 8일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.08 |
---|---|
패스트캠퍼스 환급챌린지 7일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (1) | 2025.07.07 |
패스트캠퍼스 환급챌린지 4일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.04 |
패스트캠퍼스 환급챌린지 3일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.03 |
패스트캠퍼스 환급챌린지 1일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 패키지 강의 후기 (0) | 2025.07.01 |