변수는 데이터를 보관하는 기능이 있다.
a = 3.14
위 코드는 변수 a에 숫자 데이터 3.14를 할당하라는 의미이다. 다시 말해서 변수 a 라는 녀석에게 숫자 데이터 3.14를 기억하고 있으라고 명령하는 것이다.
여기서 변수라고 부르고 있는 녀석을, 파이썬에서 이 녀석은 데이터를 기억하는 능력만 있는것이 아니다. 향후 이 녀석에 대한 설명을 조금 더 자세히 하겠지만 지금은 데이터를 보관한는 장소라고 생각하면 된다.
변수 만들기/사용하기
- 어떤 원의 반지름의 길이가 10이라고 가정하고 반지름 값을 저장하기 위해 변수 r을 생성하고 r에 10을 할당하는 코드를 작성하겠다. 그리고 원의 둘레와 원의 면적(넓이)를 계산해 보겠다.
- 원의 둘레는 2pir 이고 원의 면적은 pir제곱 이다.
r = 10
#변수 참조 - 변수가 있는 값을 사용
print('원주율 = ', pi)
print('반지름 = ', r)
print('원의 둘레 = ', 2*pi*r)
print('원의 면적 = ', pi*r*r)
==>
원주율 = 3.14
반지름 = 10
원의 둘레 =62.800000000000004
원의 면적 = 314.0
복합 대입 연산자
- a += 10
- 위 코드의 의미는 a = a + 10 의 의미이다. 그렇다면 아래 코드가 실행되었을 때 출력되는 값은 얼마인가?
a = 10
a += 10 # a = a + 10
print(a)
==>
20
- 위와 같은 복합연산자(+=)외에도 여러가지 복합 연산자가 있다.
- += : 숫자 덧셈 후 대입
- = : 숫자 뺄셈 후 대입
- = : 숫자 곱셈 후 대입
- /= : 숫자 나눗셈 후 대이
- %= : 숫자의 나머지를 구한 후 대입
- *= : 숫자 제곱 후 대입
문자열에 대해서도 적용할 수 있는 복합 대입 연산자가 있다.
- += : 문자열 연결 후 대입
- = : 문자열 반복 후 대입
string = '아자 아자'
string += '!'
string += '!'
print(string)
==>
아자 아자!!
사용자 입력 : input()
- 실무에서는 프로그램을 만들 때 사용자로부터 명령 프롬프트에서 어떤 값을 입력받는 일이 거의 없지만 프로그램 작성을 학습하는 과정에서 사용자로부터 데이터를 입력 받는 경우가 종종 있다. 이 때 편리하게 사용할 수 있는 함수가 input()이다.
input('1 이상 10 이하의 정수를 입력하세요 : ')
==>
1이상 10 이하의 정수를 입력하세요 : 12
'12'
• print() 함수에 이어 두 번째로 만난 함수는 input()이다. 함수는 기능이다. 함수 이름(input)만 봐도 input()함수 의 기능이 짐작된다. 사용자로부터 입력 데이터를 받는 기능을 가지고 있는 것을 쉽게 짐작할 수 있다.
value = input('1이상 10 이하의 정수를 입력하세요:')
print(value)
==>
1이상 10 이하의 정수를 입력하세요 : 1
1
value = input('1이상 10 이하의 정수를 입력하세요 :')
value = value + 5
print(value)
==>
1이상 10 이하의 정수를 입력하세요 :1
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-bdb4f9a04202> in <cell line: 2>()
1 value = input('1이상 10 이하의 정수를 입력하세요 :')
----> 2 value = value + 5
3 print(value)
TypeError: can only concatenate str (not "int") to str
- 위 코드는 input받은 숫자는 문자로 입력 받는다. 문자와 숫자는 연산할 수 없다.
문자열을 숫자로 바꾸기
- input()함수의 입력 자료형은 항상 문자열 이기 때문에 입력 받은 문자열을 숫자로 변환해야 연산에 활용할 수 있다. 이와 같이 형 변환을 하는 것을 캐스트cast라고 한다.
- int() : 문자열(형)데이터를 int(형)데이터로 변환
- float() : 문자열(형)데이터를 float(형)데이터로 변환
#int()함수 사용하기
string_a = input('입력>')
int_a = int(string_a)
string_b = input('입력>')
int_b = int(string_b)
print(string_a + string_b)
print(int_a + int_b)
==>
입력>1
입력>2
12
3
# int() 함수와 float()함수 사용하기
output_a = int('52')
output_b = float('3.1415')
print(type(output_a), output_a)
print(type(output_b), output_b)
==>
<class 'int'> 52
<class 'float'> 3.1415
ValueError 예외
- 데이터의 자료형을 변환하려고 할 때 변환 불가능한 변환을 시도할 때 ValueError 예외가 발생한다.
- 첫째,숫자가 아닌 것을 숫자로 변환하려고 할때
- int('Good job')
- float('내 사랑 내 곁에 ')
- 둘째, 소수점이 있는 숫자 형태의 문자열을 int()함수로 정수로 변환하려고 할때
- int('3.14')
- 변수 X에 정수가 들어 있는지 소수점을 포함한 수가 들어 있는지 알 수 없을때는 어떻게 하는가
- float('3.14')
- 실수형으로 변환하면 정수형이 오던 실수형이 오던 상관없이 사용할 수 있다.
숫자를 문자열로 바꾸기
- 숫자를 문자열 형(타입)데이터로 바꾸는 방법에 대해 살펴 보겠다.
print('온도는'+str(25)+'입니다.')
==>
온도는25입니다.
output = str(32)
print(type(output))
print(output)
==>
<class 'str'>
32
inch 단위를 cm단위로 변경하기
- 1inch는 2.54cm이다.
inch = input('inch단위의 숫자를 입력하세요. cm 단위로 변경하겠습니다 : ')
n_inch = float(inch)
n_cm = n_inch*2.54
print(n_cm, '[cm]입니다.')
==>
inch단위의 숫자를 입력하세요. cm 단위로 변경하겠습니다 : 32
81.28 [cm]입니다.
'빅데이터 분석가 양성과정 > Python' 카테고리의 다른 글
Ch 03-1 조건문 / 불 자료형과 if 조건문 (0) | 2024.07.04 |
---|---|
Ch02-4 자료형 / 숫자와 문자열의 다양한 기능 (0) | 2024.07.04 |
Ch02-2 자료형 / 연산자 (0) | 2024.07.04 |
Ch02-1 자료형 / 자료형과 문자열 (0) | 2024.07.04 |
Ch01 시작하기 (0) | 2024.07.04 |