파이썬 | 변수와 입력 사용하기
1. 변수 만들기
변수 할당을 하는데 파이썬에는 다음과 같은 규칙들이 있다.
- 영문 문자와 숫자를 사용할 수 있다.
- 대소문자를 구분한다.
- 변수 이름은 문자로 시작해야하며 숫자로 시작할 수는 없다.
- _(밑줄문자) 를 사용할 수 있다.
- 특수 문자(+, -, *, /, $, @, &, % 등)은 사용할 수 없다.
- 파이썬 키워드 (if, for, while, and, or 등)는 사용할 수 없다.
또한 파이썬은 C 언어와 다르게 변수를 설정할 때 자료형을 지정해주지 않아도 된다.
>>> x = 10
>>> x
10
>>> y = 'Hello, world!'
>>> y
'Hello, world!
변수의 자료형
>>> type(x)
<class 'int'>
>>> type(y)
<class 'str'>
하지만 그렇다고 변수의 자료형이 중요하지 않다는 것은 아니다. 마찬가지로 type
을 사용하면 변수의 자료형을 알아낼 수 있다. 파이썬에서는 문자열을 str
로 나타낸다.
여러개 변수 지정
>>> x, y, z = 10, 20, 30
>>> x
10
>>> y
20
>>> z
30
앞서 divmod
함수를 사용할 때 잠깐 보았지만 파이썬에서는 위와 같이 한번에 여러개의 변수를 지정해줄 수 있다. 각각의 값을 콤마로 구분해주면 된다. 이때 변수의 개수와 지정되는 값의 개수가 같아야한다. 만약 다르다면 아래와 같이 오류가 발생한다.
>>> x, y, z = 10, 20
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
x, y, z = 10, 20
ValueError: not enough values to unpack (expected 3, got 2)
만약 여러개의 변수에 동일한 값을 지정한다면 다음과 같이도 표현할 수 있다.
>>> x = y = z = 10
>>> x
10
>>> y
10
>>> z
10
>>>
이를 응용하면 변수의 값을 바꿀 때 다음과 같이 간단하게 표현할 수 있다.
>>> x , y = 10 , 20
>>> x , y = y, x
>>> x
20
>>> y
10
변수 삭제 ( del )
변수를 삭제하고자 한다면 del
를 사용하면 된다.
>>> x = 10
>>> del x
>>> x
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
x
NameError: name 'x' is not defined
>>>
빈 변수 만들기 ( None)
>>> x = None
>>> x
>>> print(x)
None
변수를 만들고 None
을 할당한다면 빈 변수를 만들 수 있다.
보통 다른 언어에서는 NULL
이라고 표현하는데 파이썬에서는 None
이라고 한다.
2. 입력 값 변수 지정
input 함수 사용하기
>>> input()
Hello, world! (입력)
'Hello, world!'
>>> input()
Hello, world! (입력)
'Hello, world!'
input
함수는 사용자가 입력한 값을 가져오는 함수이다.
>>> x = input()
Hello, world! (입력)
>>> x
'Hello, world!'
이를 이용하면 위와 같이 입력된 변수에 넣을 수 있다.
한 가지 불편한 점은 input
함수를 그냥 사용하면 아무런 내용 없이 내용을 입력받을 때 까지 기다리기 때문에 입력받은 상태인지 출력이 없는 상태인지 알 수 없다. 따라서 input
함수 괄호 안에 문자열을 지정해주면 된다.
>>> x = input('문자열을 입력하세요: ')
문자열을 입력하세요: Hello, world! (입력)
>>> x
'Hello, world!'
입력값을 정수로 변환
그렇다면 input
함수를 통해 숫자를 입력받고 연산을 해보자 그런데 아래와 같이 하면 오류가 발생한다.
>>>x = input('숫자를 입력하세요 : ')
4
>>>print(x + 1)
Traceback (most recent call last):
File "/Users/choewonjun/start.py", line 2, in <module>
print(x + 1)
TypeError: can only concatenate str (not "int") to str
왜냐하면 input
함수를 통해서 입력받은 값은 항상 문자열이기 때문이다 따라서 아래와 같이 정수형으로 변환을 해줘야 연산이 가능하다.
x = int(input('숫자를 입력하세요 : '))
print(x + 1)
입력 값을 여러 변수에 지정
지금까지는 입력을 한 번에 하나씩 입력 받았다. 그렇다면 이번에는 입력을 여러개 받는 방법을 알아보자.
a, b = input('문자열 두 개를 입력하세요: ').split() # 입력받은 값을 공백을 기준으로 분리
print(a)
print(b)
문자열 두 개를 입력하세요: Hello Python (입력)
Hello
Python
바로 split
이라는 것을 사용하면 된다, 기본적으로 괄호안에 아무것도 넣지 않으면 빈칸으로 구분되고 특정 문자를 기준으로 구분하고 싶으면 split('문자')
이와 같이 괄호 안에 문자를 입력하면 그 문자를 기준으로 나눠진다.
a, b = input('숫자 두 개를 입력하세요: ').split(',') # 입력받은 값을 공백을 기준으로 분리
a = int(a) # 변수를 정수로 변환한 뒤 다시 저장
b = int(b) # 변수를 정수로 변환한 뒤 다시 저장
print(a + b)
숫자 두 개를 입력하세요: 10,20 (입력)
30
map 사용하여 정수로 변환하기
split
결과를 매번 int
로 바꿔주는 작업이 상당히 번거롭다. 이때 map
을 함께 사용하면 된다.
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
print(a + b)
숫자 두 개를 입력하세요: 10 20 (입력)
30
이렇게 map
을 사용하면 코드를 한 줄로 간단하게 줄일 수 있다.
map
에 관한 자세한 내용은 나중에 확인하자 ( 링크 )
Author And Source
이 문제에 관하여(파이썬 | 변수와 입력 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jhon3242/파이썬-변수와-입력-사용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)