[코딩도장] day2. 변수
■ 들어가기
- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그
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' >>> |