본문 바로가기
파이썬/파이썬 완성

[파이썬] TIL2 : 자료형의 종류와 확인 및 변환 / 산술 연산자 및 내장 함수 이용 숫자 처리 / 포맷 및 문자열 메서드 이용 문자열 처리

by charlie-lyc 2021. 3. 31.
728x90
반응형

 자료형(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))

 


728x90
반응형

댓글