IT/파이썬

[코딩도장] day2. 변수

_하늘여우_ 2020. 8. 1. 01:47

■ 들어가기

- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그


1. 변수 생성

1) 변수 = 값

>>> x = 10
>>> x
10

2) 변수1, 변수2, 변수3 = 값1, 값2, 값3

>>> x, y, z = 10, 20, 30
>>> x
10
>>> y
20
>>> z
30

3) 변수1 = 변수2 = 변수3 = 값

>>> x = y = z = 10
>>> x
10
>>> y
10
>>> z
10

 

2. 변수 삭제 : del

>>> x = 10
>>> x
10
>>> del x
>>> x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

 

3. 빈 변수 만들기 : None

- 변수 = None

- c++, java에서 변수에 null 할당하는 것과 동일

>>> x = None
>>> print(x)
None

 

4. 입력 : input()

- 사용자가 입력한 값을 가져오는 함수

- 입력받은 값은 항상 문자열 타입으로 처리됨

=> input(), split()의 결과는 항상 문자열 타입

>>> input()
Hello, World!
'Hello, World!'

 

5. input() 결과 할당

1) 변수 = input()

- input() 으로 사용자가 입력한 값을 변수에 저장

- 입력받은 값은 항상 문자열 타입으로 처리됨

>>> x = input()
Hello, World!
>>> x
'Hello, World!'
>>> type(x)
<class 'str'>

2) 변수 = input('문자열')

- 입력 전 문자 출력 ( a.k.a '안내문자열')

>>> x = input("문자열을 입력하세요: ")
문자열을 입력하세요: Hello, World!
>>> x
'Hello, World!'

 

6. 다중 입력 : input().split()

- input() 한 번에 값을 여러 개 입력 받기 위한 방법

- 콤마(,)로 구분한 여러 개의 변수에 split()을 사용하여 값을 입력 받음

- split()으로 문자열을 분리해도 결과는 "문자열"

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

- 변수1, 변수2 = input().split("기준문자열")

- 변수1, 변수2 = input("문자열").split()

- 변수1, 변수2 = input("문자열").split("기준문자열")

>>> a, b = input('문자열 두 개를 입력하세요: ').split()   # 입력받은 값을 공백을 기준으로 분리
문자열 두 개를 입력하세요: Hello, World!
>>> a
'Hello,'
>>> b
'World!'
>>> print(a)
Hello,
>>> print(b)
World!
>>>
>>> a, b = input('문자열 두 개를 입력하세요: ').split(',')
문자열 두 개를 입력하세요: Hello, World!
>>> a
'Hello'
>>> b
' World!'

 

7. map을 사용하여 정수로 변환

- split()의 결과를 int, float 타입으로 변환하기 보다 한 번에 split()의 결과를 원하는 타입으로 변경

=> split()의 결과를 int, float 으로 변환할 때는 map을 사용하자!

- 변수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())
숫자 두 개를 입력하세요: 10 20
>>> print(a+b)
30
>>>
>>> a, b = map(int, input('숫자 두 개를 입력하세요: ').split(','))      # 입력받은 값을 콤마를 기준으로 분리
숫자 두 개를 입력하세요: 10, 20
>>> print(a+b)
30
>>> # 만일 '기준문자열'로 값이 입력되지 않는 경우 에러 발생!
>>> a, b = map(int, input('숫자 두 개를 입력하세요: ').split(','))
숫자 두 개를 입력하세요: 10 20
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '10 20'
>>>