파이썬

파이썬의 자료형

reasonable 2021. 6. 25. 00:06

(1) 숫자형

기본적인 사칙연산에 대해서는 잘 아실테니 간단하게 넘어가도록 하겠습니다.

첫시작으로 나머지와 거듭제곱에 대해서는 살펴보도록 할건데요 나머지 연산은%로, 거듭제곱 연산은 **로 합니다.

 

ex) print(9%4)를 하게되면 9를 4로 나누어서 남은 나머지의 값이 나오게 됩니다. 1이 출력되죠.

 

ex) print(8**2)는 8^2과 같습니다. 8을 두번곱했다는 뜻이고 64라는 값이 출력되게 됩니다.

 

또한 살펴보려 하는 내용중에 나눗셈 연산이 있는데요. 정수형이든 소수형이든 어떻게 하든간에 나눗셈의 결과는 항상 소수형으로 나옵니다.

 

ex) print(8 / 2)를 계산하는 코드가 있을때 8대신 8.0, 2대신 2.0을 대입하고 8/2 8/2.0 8.0/2 8.0/2.0 모두 4.0 이라는 결과가 출력됩니다.

 

괄호 안에서 먼저 계산되는 규칙도 따르게 되는데요

ex) print(4*(1+1)) 을 하게되면 8이라는 결과가 출력됩니다.

 

나눗셈에 대해서 공부 했으니 더 심화과정인 버림 나눗셈에 대해서 살펴보겠습니다. 나눗셈 을 하고나서 나오는 결과중 소숫점 부분은 버리는 연산이 버림 나눗셈입니다.

 

ex) print(8 // 3) 을 하게되면 2.6666 이런 결과가 나오게되는데 0.666666...을 버리면 2라는 값이 출력됩니다. 나눗셈 과정중 소수형이 포함되면 결과도 소수형으로 출력됩니다.

 

반올림 연산도 있는데요 round 연산이라고 합니다.

ex) print(round(6.7548392)) 을 연산하면 7이라는 결과가 나옵니다. round(floating point, N) 을 하게 되면 N번째 자리까지 소숫점을 나타낸 반올림 결과가 나오는데요. N에 2를 대입하면 6.75가 출력되겠네요 😉

 

(2) 문자열

문자열은 문자 및 문장을 표시하는 자료형입니다. 따옴표가 여러가지 포함된 예제를 살펴보도록 하겠습니다.

ex) print(" I'm a boy")

 

평상시에 print 출력을 할때는 문자열을 ' ' 따옴표 안에 넣어도 괜찮지만 I옆에 붙어있는 '때문에 문법적인 오류가 발생하기 떄문에 ''대신 ""로 표현하였습니다.

 

ex) print("I'm a\ "boy\"")

"boy"로 큰따옴표를 사용하여 강조하고 싶을때는 따옴표 앞에 역슬래쉬를 사용하여 큰따옴표 안에 큰따옴표가 사용될 수 있게끔 만들어줍니다.

 

ex) print("Helloworld" *3) 을 하게되면 Helloworld가 3번 출력이 됩니다. 곱한 수만큼의 문자열을 출력시킨다는 의미의 문법입니다.

 

(3) 형변환

형변환은 자료형을 바꿔주는 것입니다. 정수를 소수로, 문자열을 정수로 바꿀 수 있습니다. 먼저 정수형과 소수형의 차이가 어떠한지를 print를 해서 살펴보겠습니다.

 

ex) print(int(5.2)) 를 하게되면 5가 출력이 됩니다. 정수 자료형으로 출력하려 하는데 int를 사용하면 0.2는 버려지게 됩니다.

 

ex) print(float(7)) 를 하면 7.0이 나옵니다. 7은 정수이지만 소수형으로 표현하려 하니 .0이 추가로 붙는 것입니다.

 

ex) print(int("2")+int("5")) 를 하면 7이 출력이 됩니다. ""은 문자열이지만 int가 문자열을 정수형으로 바꾸어줍니다.

 

ex) print(float("1.6")+float("0.4")) 를 하게되면 2.0이 출력됩니다. ""은 문자열이지만 float가 문자열을 소수형으로 바꾸어줍니다.

 

ex) print(str(6)+str(3)) 은 63이 출력됩니다.

6과 3은 정수입니다. 그런데 str이 정수형을 문자형으로 바꾸었습니다.

 

형변환 과 문자열의 덧셈을 서로 조합한 예시를 보여드리겠습니다.

 

ex) tall = 176

print("저는 키가" + str(tall) + "cm 입니다.")

를 하면 저는 키가 176cm 입니다. 가 출력이 됩니다. str을 사용하지 않고 tall만 넣으면 문자형 + 정수형 + 문자형인 끔찍한 혼종이 되기때문에 출력이 되지 않고 str을 이용하여 정수형을 문자형으로 바꾸어 줍니다.

 

(4) format

ex) year = 1997

month = 8

day = 30

print("제 생일은 {}년 {}월 {}일 입니다." .format(year, month, day)) 을 실행하면

제 생일은 1997냔 8월 30일 입니다. 가 출력이 됩니다.

{} 중괄호로 칸을 비워두고 format 안에 매개변수들을 하나씩 입력을 시키면 차례차례 저기 있는 year, month, day가 출력이 됩니다.

 

my_birthday = "제 생일은 {}년 {}월 {}일 입니다." 라고 선언한 뒤에 format 바로앞에 대입시켜도 똑같이 작용합니다. 문자열을 변수로 선언한 것이죠.

 

(5) format 응용

 

ex) print("아침에는 {}, 점심에는{}, 저녁에는{}을 먹었습니다.".format("토스트","떡볶이","스테이크"))

이를 실행해보면

아침에는 토스트, 점심에는 떡볶이, 저녁에는 스테이크을 먹었습니다. 가 출력됩니다. 이 순서를 임의로 바꿀 수 있습니다.

 

굳이 파라미터를 바꾸지 않아도 중괄호 안에 0에서 부터 2까지의 숫자를 하나씩 넣으면 0은 토스트 1은 떡볶이 2는 스테이크가 중괄호 안에 들어가게 됩니다. 2, 1, 0 을 대입하면 아침에는 스테이크를 점심에는 떡볶이를, 저녁에는 토스트를 먹겠네요.

 

(6)format의 다양한 방식

추가적인 문자열 포맷팅 방식을 살펴보도록 하겠습니다.

 

ex)

name = "강성민"

age = 25

print("제 이름은 %s, %d살이죠." % (name, age))

 

를 하게되면 제 이름은 강성민, 25살이죠. 가 출력됩니다.

 

옛날방식인 %s, %d와 같은 '포맷 스트링'을 사용하는 방법이고 c언어 공부하시면 되게 자주 볼 수 있는 형태입니다.

 

ex)

name = "강성민"

age = 25

print(f"제 이름은 {name}, {age}살이죠.")

 

를 하게되면 제 이름은 강성민, 25살이죠. 가 출력됩니다.

파이선 3.6부터 새롭게 나온 방식이고 매우 간편합니다. 익숙해지도록 더 많이 애용해야겠어요.

 

(7) type

어떤 자료형인지 확인하게 해줍니다.

 

ex) print(type(3)) <class 'int'>

print(type(3.0)) <class 'float'>

print(type("3"))

 

을하게되면 <class 'str'>

이 출력이 됩니다.

 

ex) print(type("False")) <class 'str'>

print(type(False)) 을 하게되면 <class 'bool'>

 

ex)

def Hi():

     print("Hi there!")

     print(type(Hi))

     print(type(print))

 

을 하면

<class 'function'> 과 <class 'builtin_function_or_method'> 가 출력이 됩니다.

Hi는 임의로 만들어준 함수여서 function이 출력되고 print는 파이썬 내에 기본적으로 있는 함수 코드이기에 내장함수라는 의미로 builtin function 이라 나옵니다.

'파이썬' 카테고리의 다른 글

제어문  (0) 2021.07.04
추상화(2)  (0) 2021.07.02
추상화  (0) 2021.06.30
함수와 파라미터  (0) 2021.06.28
파이썬의 기본개념(print,코멘트,자료형,추상화)  (0) 2021.06.24