본문 바로가기

프로그래밍 언어/AI & 파이썬_Python

파이썬 Python 코딩_04_타입(Types)

Type(타입, 자료형)

데이터의 종류를 데이터형(data type) 또는 형(Type; 타입)이라고 한다.

파이썬에서는 변수에 저장하는 값(value)에 따라 타입이 자동으로 정해진다.

그러므로 코틀린 처럼 변수를 사용하기 전에 타입을 선언할 필요가 없다.

(코틀린에서도 자동으로 추론하는 기능이 있기는 하다)  

타입의 종류 5가지

  • 숫자
  • 문자열
  • 불리언(Boolean; true참, false거짓)
  • 리스트(list)
  • 튜플(tuple)

여기서는 타입 몇 가지만 간단하게 살펴본다.

1. 숫자

 

숫자는 정수(int), 부동소수점수(float)를 지원한다.

변수에 숫자를 넣고 사칙연산을 해본다.

사칙연산에 사용하는 부호들은 '연산자'라고 한다.

 

제곱을 할 때는 곱하기를 2개 연결한다.

 

위 그림에서 x ** y는 1의 2제곱을 나타내고, y ** y 는 2의 2제곱을 나타낸다.

 

나눈 후 나머지를 구할 때는 % (퍼센트) 연산자를 사용한다.

영어로는 modulo(모듈로)라고 한다.

프로그래밍 언어마다 나머지를 구하는 연산자가 다른 경우가 있다.

다행히 코틀린에서도 %를 사용한다.

 

나머지를 구하는 방법은 예를 들면 어떤 수가 홀수인지 짝수인지 확인할 때 사용할 수 있다.

나머지는 예를들면 아래 그림과 같이 5를 2로 나눌 때 더 이상 나누어지지 않을때 윗부분을 '몫' 이라고 하고 아래 남은 부분을 '나머지'라고 한다.

 

연산자를 사용하는 대신 나머지를 구할 때 사용하는 함수도 있는데 mod() , remainder() 함수가 있다.

파이썬에서는 나머지만 구하는 함수는 없고 divmod() 함수가 있는데 몫과 나머지를 동시에 구해주는 함수이다.

 

파이썬에 나누기를 2개 연결하는 연산자가 있다.

코틀린에서 주석에 붙였던 // 부호이다.

파이썬에서 주석을 나타낼 때는 # 를 사용한다.

 

어쨌든 파이썬에서 나누기를 2개 연결하여 //를 사용하면 나눈 후 소수점 이하의 수를 떼어버리고 나타낸다.

 

 

파이썬에서 타입(type; 자료형)을 확인할 때는 type( ) 함수를 사용한다.

x,y,z 값이 어떤 타입(type)인지 확인해 보면 위와 같이 x,y는 int(정수), z는 'float(부동소수점)' 임을 알 수 있다.

정수(int)는 integer의 준말이고, 부동소수점(floating point)은 소수점이 찍힌 숫자이다.

 

2. 문자열

문자열을 문자들의 조합이며 String(스트링)이라고 한다.

큰따옴표 또는 작은따옴표로 나타낼 수 있다.

여러 줄을 나타낼 때는 큰따옴표 3개로 나타낸다.

 

문자열 Hello 는 어떤 타입으로 나타나는지 위와 같이 확인할 수 있다.

문자열은 'str' 로 나타난다. string(문자열)을 줄여서 나타냈다.

 

x, y, z에 각각 문자열을 넣고 출력해 보면 위와 같이 확인할 수 있다.

 

문자열을 덧셈으로 표현할 수도 있다.

 

 

문자열과 숫자를 더해서 표현하면 어떻게 될까?

타입에러(TypeError)가 나고 '문자열에는 문자열만 연결할 수 있다'라는 메시지가 뜬다.

즉, 다른 타입끼리 연결할 수 없다는 말이다.

 

str() 함수에 숫자를 넣어서 문자열로 바꾸면 에러가 나지 않는다. 

이렇게 숫자를 문자열로 바꿔주는 것은 casting(캐스팅)이라고 부른다.

숫자를 문자열로 나타내는 따옴표로 묶어도 된다.

 

x에는 int 타입 5, y에는 str 타입 5를 넣은 후 더하면 에러가 난다.

x, y를 서로 타입이 맞도록 캐스팅 해주면 문자열5와 문자열5가 연결되거나 숫자5와 숫자5를 더해서 10의 결과를 볼 수 있다.

 

3. 불리언(boolean; True(참), False(거짓))

 

불리언은 True , False를 나타낸다.

변수의 값으로 넣을 수 있다. 이때 대문자로 시작해야 한다.

 

타입은 여기까지 살펴보고 나머지 타입은 언급되면 추가로 다루기로 한다.

 

Wraven...