Programming/Python

[Python 3.7] 파이썬 변수란? (할당 및 활용 map, input)

Nirsa 2020. 1. 11. 14:38
반응형

1. 변수 할당 및 삭제

파이썬에서 변수는 아래 그림와 같은 코드로 변수를 만듭니다.

변수의 이름을 쓰고 이퀄(=) 그 다음 값을 쓰면 변수가 만들어 집니다.

x=10 으로 입력하면 x라는 변수안에 값 10이 저장 되어있는 형태, a=50 으로 입력하면 a라는 변수안에 값 50이 저장 되어있는 형태 입니다.
변수의 이름은 마음대로 지어도 되지만 아래와 같은 규칙을 지켜야 합니다.

  • 영문 문자와 숫자를 사용할 수 있습니다.
  • 대소문자를 구분 합니다.
  • 문자부터 시작해야 하며 숫자부터 시작하면 안됩니다.
  • _(밑줄)로 시작할 수 있습니다.
  • 특수 문자(+, -, \, *, & 등)는 사용할 수 없습니다.
  • 파이썬의 키워드(if, while, for, or 등)는 사용할 수 없습니다.

그렇다면 변수를 한번에 여러개를 만드려면 어떻게 해야 할 까요?

a, b, c = 10, 20, 30 이런식으로 입력하면 a = 10, b = 20, c = 30 으로 할당 되는데, 변수와 값의 개수를 동일하게 맞춰주는것만 주의하여 주시면 됩니다.

변수를 삭제하고 싶을땐 del 변수명 을 입력해주시면 되고, 비어있는 변수를 선언하고 싶다면 변수명 = None을 입력하시면 됩니다.

 

1. 변수 삭제

>>> x = 10

>>> print(x)

>>> del x

>>> print(x)

2. 비어있는 변수 선언

>>> x = None

>>> print(x)

 

 

 

2. 변수를 이용하여 연산 하기

변수에는 값을 넣는다고 하였는데, 연산도 가능 합니다.

아래와 같은 코드를 입력하고 실제로 변수끼리 연산이 되는지 확인을 해보세요.

 

변수 연산

>>> a = 100

>>> b = 200

>>> c = a + b    ## 변수 a와 b를 더한 뒤 변수 c에 저장
>>> print(c)

      - 300 출력

>>> c = a - 50    ##  변수 a와 50을 뺀 뒤 변수 c에 저장

>>> print(c)

      - 50 출력

>>> c += 20       ## 변수 c와 20을 더한 뒤 변수 c에 저장, c = a - 50 때문에 변수 c의 값은 50이므로 50+20 = 70이 나옴

>>> print(c)

      - 70 출력

 

 

3. 입력 값을 받아 변수에 저장 하기

 1) input()

사용자로부터 입력된 값을 가져올 땐 input() 이라는 함수를 사용 하고, 변수로 저장할 수 있습니다.

x = input() 과 같이 사용하면 사용자로부터 입력받은 값을 변수 x에 저장하게 됩니다.

 2) int(input()), float(input())

그리고 입력값을 받을땐 주의해야할 점이 있는데, 바로 문자열 형태라는 것 입니다.

x = input() 입력 후 아무 숫자를 입력하고 type(x)로 변수 x에 들어있는 타입을 확인해 보세요. str(문자열) 형태로 나옵니다. 두 값을 더할때도 문자열로 인식하기 때문에 300이 아닌, 100+200으로 출력이 됩니다.

그래서 사용자로부터 입력받고 변수에 저장할때는 입력받는 값이 문자열인지, 정수인지, 실수인지 확실하게 선언을 해주어야 합니다.

 

* 아래 코드 말고도 필요한 경우 int(a) 와 같이 변경해줄 수 있습니다

 

정수

>>> a = int(input('이곳은 정수만 입력 하여야 합니다: '))

실수

>>> a = float(input('이곳은 실수만 입력 하여야 합니다: '))

 

 3) split()

위에는 입력값 하나에 변수 하나씩을 만들었는데, 여러개를 만들어주는게 split() 함수 입니다.

  • 변수1, 변수2 = input().split()

위의 코드와 같이 변수 두개를 선언 했습니다. split() 함수는 값을 한번에 여러개 입력 받을 때 사용되고, 입력받은 값을 무엇을 기준으로 분리할지를 정해 줍니다. (split() 처럼 아무것도 안쓰면 공백을 기준으로 분리되고 , 을 기준으로 분리하고 싶다면 split(',') 와 같이 사용)

 

단, 사용 시 변수와 입력받는 값을 개수는 동일해야 합니다.

 

하지만 이렇게만 사용하면 문제가 또 발생하는데, 바로 2번에서 설명했던것처럼 문자열 형태로 저장된다는 것 인데, 아래의 map 함수를 통해 해결할 수 있습니다.

 

4) map()

변수 여러개를 입력받으면서 문자열인지, 정수인지, 실수인지 선언해줄 수 있는 함수가 map() 입니다.

왼쪽은 map 함수를 사용, 오른쪽은 map 함수를 사용하지 않았을때 이미지 입니다.

map 함수를 사용하여 정수형으로 선언해준 뒤 변수의 type을 보면 int형으로 출력되고, map 함수를 사용하지 않았을땐 str으로 출력됩니다.

 

map() 함수는 아래와 같이 사용 합니다.

  • 변수1, 변수2 = map(int, input().split())
반응형