Unit 06
변수 이름을 만들 때 지켜야 할 것들
- 영문 문자와 숫자를 사용할 수 있다.
- 대소문자를 구분한다.
- 처음은 문자부터 시작해야 한다.
- _(밑줄 문자)로 시작할 수 있다.
- 특수 문자(+, -, *, /, $, @, %, & 등)는 사용할 수 없다.
- 파이썬의 키워드(if, for, while, and, or 등)는 사용할 수 없다.
※ 수학에서의 =(등호)는 양 변이 같다는 뜻이지만 프로그래밍 언어에서 =는 변수에 값을 할당(assignment)한다는 의미이고, 수학에서의 등호와 같은 역할을 하는 연산자는 ==이다.
변수 여러 개를 한 번에 만들기
- 변수명1, 변수명2, ... = 값1, 값2, ... 형식으로 변수를 ,(콤마)로 구분한 뒤 각 변수에 할당될 값을 지정해주면 된다.
- 변수명과 값의 개수가 동일해야 한다.(동일하지 않으면 에러 발생)
a, b, c, d = 1, 2, 3, 4 print(a) # 1 print(b) # 2 print(c) # 3 print(d) # 4
- 값이 같은 여러 개의 변수를 만드는 것은 아래와 같은 방식을 사용한다.
a = b = c = 5 print(a) # 5 print(b) # 5 print(c) # 5
- 변수1, 변수2 = 변수2, 병수1의 형식으로 두 변수의 값을 바꿀 수 있다.
a, b = 10, 20 a, b = b, a print(a) # 20 print(b) # 10
변수 삭제하기 : del
- 생성한 변수는 del을 이용하여 삭제한다.
- 변수 삭제 기능은 리스트 사용 시에 유용하다.
a = 10 del a print(a) # 에러 발생
빈 변수 만들기 : None
- 값이 들어있지 않은 빈 변수는 None을 할당하여 생성할 수 있다.
- None은 아무것도 없는 상태를 나타내는 자료형이며, 다른 언어에서는 널(null)이라고 표현한다.
a = None print(a) # None
산술 연산 후 할당 연산자 사용하기
- 파이썬 셸에서 계산
>>> a = 10
>>> a + 10
30
>>> a
10
- a + 10은 a에 10만 더하고 계산 결과를 유지하지 않기 때문에 변수 한 개에서 값의 변화를 계속 유지하려면 계산 결과를 다시 변수에 저장(할당)해야 한다.
>>> a = 10
>>> a = a + 10
>>> a
30
※ 연산 후 값을 할당 하려면 값이 들어있는 변수를 사용해야 한다.
부호 붙이기
- 계산 시에 부호를 붙여야 하는 경우가 생기면, 값이나 변수 앞에 양수, 음수의 부호를 붙이면 된다
>>> a = -10 >>> +a -10 >>> -a 10
input 함수
- input 함수는 사용자가 입력한 값을 가져오는 함수로, 매번 다른 값을 변수에 할당할 때 사용한다.
- input()을 입력하고 엔터 키를 누르면 다음 줄로 넘어가는데, 이 상태에서 값을 입력하면 입력한 값이 그대로 출력된다.
>>> input() Hello, world! 'Hello, world!' # 출력
input 함수의 결과를 변수에 할당하기
- 변수 = input() 의 형식으로 함수의 결과를 변수에 할당한다.
- 여기서 한 가지 불편한 점은 input 함수가 실행된 다음에는 아무 내용이 없어서 입력을 받는 상태인지 출력이 없는 상태인지 알 수 가 없다는 점이다. 이 때는 변수 = input('문자열')의 형식으로 input의 괄호 안에 문자열 을 지정 해주면 된다.>>> x = input() Hello, world >>> x 'Hello, world'
- 이 문자열 입력 방법은 사용자게에 입력받는 값의 용도를 미리 알려줄 때 사용한다. 다른 말로는 프롬프트(prompt)라고도 한다.(파이썬 프롬프트 >>> 와 같은 의미)
>>> x = input('문자열을 입력하세요: ') 문자열을 입력하세요: Hello, world! # (입력) >>> x 'Hello, world!'
입력받은 숫자의 합 구하기
>>> a = input('첫 번째 숫자를 입력하세요 : ')
첫 번째 숫자를 입력하세요 : 1 # (입력)
>>> b = input('두 번째 숫자를 입력하세요 : ')
두 번째 숫자를 입력하세요 : 2 # (입력)
>>> a+b
'12'
※ 1 + 2의 값이 3이 아니라 12가 나온 이유 : input에서 입력받은 값은 항상 문자열 형태이기 때문이다.
- 입력받은 값들을 정수로 변환하는 방법 : input 앞에 int()를 붙여준다.(실수는 float())
>>> a = int(input('첫 번째 숫자를 입력하세요 : ')) 첫 번째 숫자를 입력하세요 : 1 # (입력) >>> b = int(input('두 번째 숫자를 입력하세요 : ')) 두 번째 숫자를 입력하세요 : 2 # (입력) >>> a+b 30
입력 값을 변수 두 개에 저장하기(입력 값이 2개 이상일 때)
- 변수1, 변수2 = input().split()
- 변수1, 변수2 = input().split('기준문자열')
- 변수1, 변수2 = input('문자열').split()
- 변수1, 변수2 = input('문자열').split('기준문자열')
>>> x, y = input('문자열 두 개를 입력하세요: ').split()
# 입력받은 값을 공백을 기준으로 분리
>>> 문자열 두 개를 입력하세요: Hi chan # (입력)
>>> x
Hi
>>> y
chan
-> input에 split을 사용하면 입력받은 값을 공백을 기준으로 분리하여 변수에 차례대로 저장한다.
- 입력 받은 숫자를 정수로 변환하여 더하기
>>> a, b = input('숫자 두 개를 입력하세요 : ').split() 숫자 두 개를 입력하세요 : 10 20 # 입력 >>> a = int(a) >>> b = int(b) >>> a+b 30
-> 변수를 정수로 변환하려면 a = int(a) 처럼 int에 변수를 넣은 뒤 다시 변수에 저장해줘야 한다.
혹은 아래의 방법도 괜찮다.
>>> a, b = input('숫자 두 개를 입력하세요 : ').split()
숫자 두 개를 입력하세요 : 10 20 # 입력
>>> int(a)+int(b)
30
map을 사용하여 정수로 변환하기
- split의 결과를 매번 int로 변환하는 것이 번거롭기 때문에 map을 함께 사용하는 것이 좋다.
- map에 int와 input().split()을 넣으면 split의 결과를 모두 int로 변환해준다.
- 변수1, 변수2 = map(int, input().split())
- 변수1, 변수2 = map(int, input().split('기준문자열'))
- 변수1, 변수2 = map(int, input('문자열').split())
- 변수1, 변수2 = map(int, input('문자열').split('기준문자열'))
>>> a, b = map(int, input('숫자 두 개를 입력하세요: ').split()) 숫자 두 개를 입력하세요: 2 3 # 입력 >>> a+b 5
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 08 정리 : Bool과 비교/논리 연산자 (0) | 2022.01.11 |
---|---|
파이썬 코딩도장 Unit 07 정리 : 다양한 출력 방법 (0) | 2022.01.10 |
파이썬 코딩도장 Unit 03~Unit 12 심사문제 풀이 (0) | 2022.01.08 |
파이썬 코딩도장 Unit 05 정리 : 숫자 계산 (0) | 2022.01.06 |
파이썬 코딩도장 Unit 03 ~ Unit 04 정리 : 기본 문법 (0) | 2022.01.05 |