02 파이썬 변수
1. 변수의 명명규칙
참고
- 영문,숫자만 가능
- 대소문자 구분
- 문자나 _로 시작해야함
- 특수문자와 키워드 사용 불가
2. 변수의 사용
2.1. 한개선언
- Code
- Result
x=10 x=10 print(x) y="Y" print(y)
print(type(y)) # 변수 자료형 확인 print(type(x)) # 변수 자료형 확인2.2. 여러개 선언
- Code
- Result
x,y,z=10,20,30
변수의 선언 갯수와 값의 갯수가 같아야 한다.
x,y,z=10,20,30print(x)print(y)print(z)변수의 선언 갯수와 값의 갯수가 같아야 한다.
- Code
- Result
x=y=z=10
값이 동일한 여러개의 변수는 위와 같이 선언한다.
x=y=z=10
print(x)print(y)print(z)값이 동일한 여러개의 변수는 위와 같이 선언한다.
- Code
- Result
x,y=10,20 # x=10, y=20x,y=10,20 # x=10, y=20x,y=y,x # x=20,y=10print(x)print(y)3. 빈 변수 선언
x=None4. 변수의 삭제
- Code
- Result
x=10x=10print(x)del xprint(x)5. 변수로 계산하기
a=10b=20c=a+bprint(c) #305.1. 복합 대입연산자
값의 수정이 아닌 누산을 하는 복합대입연산자를 사용해보자
5.1.1. Step1
- Code
- Result
a=10a+20은 계산만 하고 결과를 어디에도 저장하지 않기 때문에 결과는 10이 출력된다.
a=10a+20print(a)a+20은 계산만 하고 결과를 어디에도 저장하지 않기 때문에 결과는 10이 출력된다.
5.1.2. Step2
- Code
- Result
a=1030
a=10a=a+20print(a)30
5.1.3. Step3
- Code
- Result
a=1030
Step2의 문법을 줄인것이다.
a=10a+=20print(a)30 Step2의 문법을 줄인것이다.
5.2. 변수의 값을 동적으로 할당하기
5.2.1. input()
참고
input 함수를 사용하여 값을 동적으로 할당해보자
- Code
- Result
a = int(input('첫 번째 숫자를 입력하세요: ')) #int를 사용하여 값을 정수로 변환요약
a = int(input('첫 번째 숫자를 입력하세요: ')) #int를 사용하여 값을 정수로 변환b = int(input('두 번째 숫자를 입력하세요: ')) #int를 사용하여 값을 정수로 변환
print(a + b)
요약
a = input('첫 번째 숫자를 입력하세요: ')b = input('두 번째 숫자를 입력하세요: ')
int 함수를 사용해서 정수로 변환하지 않을 경우 문자열이 연결되어 출력됨
- Code
a = float(input('첫 번째 숫자를 입력하세요: '))
a = float(input('첫 번째 숫자를 입력하세요: '))b = float(input('두 번째 숫자를 입력하세요: '))
print(a + b)
5.2.2. input().split() - 문자열 분할
참고
input으로 입력받은 문자열을 나눠서 여러 변수에 저장하는 방법
방법 설명 코드 예시 split()공백 기준으로 분할 a, b = input().split()split('구분자')지정한 구분자로 분할 a, b = input().split(',')input('문자열').split()안내 메시지와 함께 공백으로 분할 a, b = input('두 값 입력: ').split()input('문자열').split('기준문자열')안내 메시지와 함께 특정 문자로 분할 a, b = input('쉼표로 입력: ').split(',')
- Code
- Result
# 1. split() - 공백으로 분할요약
# 1. split() - 공백으로 분할a, b = input('문자열 두 개를 입력하세요: ').split()print(a)print(b)
# 2. split('구분자') - 쉼표로 분할x, y = input().split(',')print(f"x: {x}, y: {y}")
# 3. input('문자열').split() - 안내 메시지와 함께 공백 분할name, age = input('이름과 나이 입력: ').split()print(f"이름: {name}, 나이: {age}")
# 4. input('문자열').split('기준문자열') - 안내 메시지와 특정 문자로 분할fruit1, fruit2 = input('과일 두 개를 쉼표로 입력: ').split(',')print(f"첫번째: {fruit1}, 두번째: {fruit2}")
요약
f""는 f-string (포맷 문자열)
Python 3.6부터 추가된 문자열 포맷팅 방법
문자열 안에 변수 값을 쉽게 넣을 수 있는 방법
5.2.3. map
참고
여러 값에 같은 함수를 한 번에 적용하는 함수를 사용하여 반복작업을 줄여보자
- Code
- 3번설명
#1 입력받은 값을 한번에 정수로 변환1. input()
# 사용자가 입력: 10 20 30
#1 입력받은 값을 한번에 정수로 변환a, b = map(int, input('숫자 두 개를 입력하세요: ').split())print(a + b)
#2 입력받은 값을 콤마를 기준으로 분리a, b = map(int, input('숫자 두 개를 입력하세요: ').split(','))print(a + b)
#3a, b, c = map(int, input().split())print(a + b + c)
1. input()
# 사용자가 입력: 10 20 30input() # → '10 20 30' (문자열)
2. .split()
'10 20 30'.split() # → ['10', '20', '30'] (문자열 리스트)
공백 기준으로 문자열을 나눔
3. map(int, ...)
map(int, ['10', '20', '30']) # → [10, 20, 30] (정수 리스트)
각 문자열을 정수로 변환
4. 변수에 저장
a, b, c = [10, 20, 30]# a = 10# b = 20# c = 30
5. 계산 및 출력
print(a + b + c) # 10 + 20 + 30 = 60
요약
int에 왜 괄호가 없을까?
map(int, ...) 에서 int 뒤에 괄호 ()가 없는 이유:
# ❌ 잘못된 방법map(int(), input().split()) # 오류 발생!
# ✅ 올바른 방법map(int, input().split())
이유:
int() → 함수를 실행함 (결과: 0)
int → 함수 자체를 전달함
map은 함수를 받아서 나중에 실행하기 때문에 괄호 없이 함수 이름만 써야 합니다.