▣ 자료형(Data Types)
1. 문자열(String)
문자열은 여러 개의 문자들이 연결되어 이루어진 자료형이므로 각 문자(Character)는 위치를 표시하는 값(Index)을 가지고 있으며 인덱스 값은 0부터 시작됩니다. 변수에 문자열을 담고, 변수명을 이용해서 문자열에 접근할 수 있듯이 인덱스를 통해 각 문자에도 접근할 수 있습니다. 이때 사용하는 기호는 [ ]입니다. 문자 하나 또한 문자열의 일부이므로 + 기호를 이용하여 연결할 수도 있습니다.
print('hello'[0])
a = 'hello'
print(a[4])
print(a[0] + a[4])
2. 정수(Integer)
정수는 산술 연산이 가능한 숫자 자료형입니다. 자릿수 구분을 위해 _ 기호를 사용할 수 있으며 화면에 출력되지는 않습니다.
print(123 + 45)
print(1_000_000)
3. 실수(Float)
실수는 소수점 이하의 값을 표현할 수 있는 숫자 자료형입니다.
print(3.14 + 3.14159)
4. 불(Bool)
불은 참(True)과 거짓(False)을 표현하는 자료형입니다.
▣ 자료형 확인 및 변환
1. 자료형 확인
자료형을 확인할 때 사용하는 파이썬에 내장된 함수는 type() 입니다.
print(type('hello'))
print(type(12345))
print(type(3.14))
print(type(True))
2. 자료형 변환
경우에 따라서 문자열이 아닌 자료형을 문자열로 바꾸거나, 숫자가 아닌 자료형을 숫자로 바꾸어 연산을 할 수 있도록 원래의 자료형을 변환할 필요가 있습니다. 이때 사용되는 내장 함수는 str(), int(), float(), bool() 입니다.
print('123' + str(45))
print(123 + int('45'))
print(123 + float('4.5'))
3. 실습
이름을 문자열 자료형으로 입력받아서 그 길이를 정수 자료형으로 얻고, 이를 다시 문자열 자료형으로 변환하여 이름이 몇 개의 문자인지 출력해 봅시다.
What is your name? <이름>
Your name has <이름의 문자갯수> characters.
코딩은 눈으로 보는 것보다 손으로 직접 작성해보는 것이 중요합니니다.
⌨️ 파이썬 온라인 컴파일러
▣ 산술 연산자
1. 사칙 연산자
수학의 사칙 연산과 동일하며 덧셈(Addition)과 뺄셈(Subtraction)은 기호가 동일하고 곱셈(Multiplication)과 나눗셈(Division)의 기호가 다릅니다. 특히 정수들의 나눗셈 결과에 대하여 자료형을 확인하고 주의하시기 바랍니다.
print(2 + 3)
print(5 - 3)
print(3 * 2)
print(6 / 3)
# Check type
print(type(6 / 3))
2. 그 외의 연산자
파이썬에는 사칙 연산 이외에도 거듭제곱의 값(Exponentiation), 나눗셈 결과의 몫(Floor Division) 그리고 나눗셈 결과의 나머지(Modulus)를 구할 수 있는 편리한 연산 기능들이 포함되어 있습니다.
print(3 ** 2)
print(6 // 4)
print(6 % 4)
이뿐만 아니라 연산과 코딩을 간략화할 수 있는 기호들도 있습니다. 아래의 코드들은 하나의 변수와 숫자 사이의 연산 결과를 동일한 변수에 재할당하는 것을 간략화하여 나타낸 코드입니다.
score = 0
print(score)
# score = score + 3
score += 3
print(score)
# score = score - 1
score -= 1
print(score)
# score = score * 2
score *= 2
print(score)
# score = score / 2
score /= 2
print(score)
3. 실습
두 자리 숫자를 문자열의 형태로 입력받아서 각 자릿수를 숫자 자료형으로 변환한 다음, 덧셈 연산을 하여 그 결과를 출력해 봅시다.
Type a two digit number : <두자리 숫자>
Addition : <첫번째 자리의 숫자> + <두번째 자리의 숫자>
⌨️ 파이썬 온라인 컴파일러
▣ 숫자, 문자 자료 처리
1. round 함수
숫자 자료형을 처리하는 내장 함수 중 대표적인 round()는 기본적으로 소수점(Decimal point) 아래 첫자리의 숫자를 반올림하여 얻은 정수 값을 반환합니다. 함수의 첫 번째 인자가 반올림의 대상이 되는 값이고, 두 번째 인자는 작성되는 소수 자릿수를 의미합니다.
print(int(8 / 3))
print(round(8 / 3))
print(round(8 / 3, 2))
print(round(2.66666, 2))
2. f-문자열(f-string)
문자열 가운데 부분에 다른 자료형을 끼워 넣어서 새로운 문자열을 작성하고자 할 경우에 일일이 자료형을 변환하고, 문자열을 부분적으로 끊어 + 기호를 사용하여 다시 연결해야 하는 등의 번거로움이 있습니다. 이럴 때 좀 더 편리하게 문자열을 다룰 수 있는 방법이 f-string 입니다. 문자열(String) 내에 { }를 사용하여 그 안에서 함수 또는 변수 등을 직접 사용할 수 있습니다.
weight = 75.5
height = 1.72
print(f'Your weight is {round(weight)}kg and height is {height}m.')
※ f-string 이외에 문자열 자료형을 처리하는 방법 중 하나로 문자열의 메서드 string.format() 또한 유용하게 사용할 수 있으니 자세한 내용은 링크를 참고하시기 바랍니다.
3. 실습
체질량지수(BMI; Body Mass Index)는 인간의 비만도를 나타내는 지수로 몸무게에 비례하고, 키의 제곱에 반비례하는 관계입니다. 이때 몸무게의 단위는 kg 이고 키의 단위는 m 이며, 체질량지수는 소수 첫자리에서 반올림하여 얻는 정수입니다. 이 자료들을 바탕으로 BMI 계산 결과를 출력해 봅시다.
Enter weight in kilogram : <몸무게>
Enter height in meter : <키>
Boby Mass Index is <bmi 지수>.
⌨️ 파이썬 온라인 컴파일러
▣ 에러
아래는 실습을 하는 과정 중에 만날 수 있는 에러와 예시입니다.
1. 자료형 에러
# TypeError: can only concatenate str (not "int") to str
print('123' + 45)
# TypeError: object of type 'int' has no len()
print(len(12345))
'파이썬 > 파이썬 완성' 카테고리의 다른 글
[파이썬] TIL5 : For 반복문의 구조 / 리스트의 자료 구조와 내장 함수 레인지를 통한 반복문의 활용 (0) | 2021.04.19 |
---|---|
[파이썬] TIL4 : 리스트의 자료구조와 랜덤 모듈의 활용 / 중첩된 리스트와 2차원 자료 구조의 활용 (0) | 2021.04.17 |
[파이썬] TIL3 : If 조건문의 구조 / 비교 및 논리 연산자를 이용한 조건식 작성과 흐름 제어 (0) | 2021.04.16 |
[파이썬] TIL1 : 문자열의 화면 출력 / 사용자 입력 문자열과 변수 할당 (0) | 2021.03.28 |
[파이썬] 코딩 준비 / 온라인 코드 편집기 이용 / 로컬 환경 설치 (0) | 2021.03.28 |
댓글