[파이썬 Python] 기본 자료형

2025. 2. 17. 12:33Language (언어 문법)/Python

이번 글에서는 파이썬에서 지원하고 있는 기본 자료형 5가지에 대해 소개드리고자 합니다.

  • 정수형 (int)
  • 실수형 (float)
  • 복소수형 (complex)
  • 문자열 (str)
  • 불리언 (bool)

 

 


 

 

1. 정수형 (int)

파이썬에서 정수형 정보를 표현하는 데에 있어 지원하고 있는 자료형은 int형입니다.

이때 정수란, 소수점이 없는 음수, 양수, 0을 의미하니 이 점까지 함께 참고하시면 되겠습니다.

정수 자료형마다 표현 범위가 다르게 정해져 있는 타 언어에 비하여, 파이썬에서는 거의 무한히 크거나 작은 정수도 int형을 통해 간단히 표현할 수 있습니다.

(일반적으로 C/C++/Java에서의 int형은 2,147,483,647까지의 양수만 표현할 수 있는 반면, 파이썬의 int는 그보다 더 큰 숫자도 저장할 수 있습니다.)

n1 = -100
n2 = 9999999999
n3 = 0

print(type(n1), type(n2), type(n3), sep="\n")
print(n1, n2, n3)
# 실행 결과
# <class 'int'>
# <class 'int'>
# <class 'int'>
# -100 9999999999 0

 

 

2. 실수형 (float)

실수형 정보를 표현하는 데에 사용되는 자료형으로는 부동소수점을 다루는 float형이 있습니다.

int형과는 달리, float형은 소수점이 있는 숫자인 실수를 저장할 수 있는 자료형으로 보시면 되겠습니다.

 

여담으로, 아주 큰 숫자나 작은 숫자, 또는 매우 정밀한 숫자 같은 경우에는 e 표기법(지수 표현)을 통하여 값을 저장할 수 있다고 합니다.

(대충 e를 통하여, 123000000000이란 값을 float형으로는 1.23e11으로 간단하게 표현할 수 있다고 합니다.)

다만, 필자가 태생 수포자이기도 하고 복잡한 연산을 하는 것이 아니라면 잘 쓰이지 않기 때문에, 이에 대한 자세한 설명은 생략하도록 하겠습니다.

n1 = -100.001
n2 = 987.123
n3 = 0.0000001

print(type(n1), type(n2), type(n3), sep="\n")
print(n1, n2, n3)
# 실행 결과
# <class 'float'>
# <class 'float'>
# <class 'float'>
# -100.001 987.123 1e-07

(세 번째 값의 경우엔, 소수점 7번째 자릿수까지 값을 표현하기 위해 1e-07로 값이 출력되는 것을 확인할 수 있겠습니다.)

 

 

3. 복소수형 (complex)

파이썬에서는, 허수의 개념을 포함하는 복소수를 표현할 수 있는 자료형인 complex형에 대해서도 지원하고 있습니다.

이때, 보통의 수학에서는 허수를 i로 표현하나, 공학론에서는 허수를 j로 표현한다고 하니 함께 참고하시면 되겠습니다.

이 또한 복잡한 연산을 하는 것이 아닌 이상 잘 쓰이지 않기 때문에 자세한 설명은 생략하려 합니다.

n1 = 2 + 3j
n2 = -1j
n3 = 5.5 + 2.2j 

print(type(n1), type(n2), type(n3), sep="\n")
print(n1, n2, n3)
# 실행 결과
# <class 'complex'>
# <class 'complex'>
# <class 'complex'>
# (2+3j) (-0-1j) (5.5+2.2j)

(복소수는 정수/실수와 허수의 조합이기 때문에, 하나의 복소수 값을 표현하는 데에 있어 ()를 활용하는 모습을 확인할 수 있겠습니다.)

반응형

 

 

4. 문자열형 (str)

하나 또는 여러 개의 문자를 표현하는 데에 있어서는, 문자열 자료형인 str형을 사용합니다.

str형 같은 경우엔, ''(작은따옴표) 또는 ""(큰따옴표)를 통하여 문자열을 표현할 수 있습니다.

또한, 여러 줄의 문자열을 표현할 시에는 ''' (내용) ''' 또는 """ (내용) """을 통하여 표현할 수 있겠습니다.

s1 = "Hello" 
s2 = 'Python' 
s3 = """여러 줄
문자열"""    

print(type(s1))
print(type(s2))
print(type(s3))
print(s1, s2, s3)
# 실행 결과
# <class 'str'>
# <class 'str'>
# <class 'str'>
# Hello Python 여러 줄
# 문자열

 

str형을 표현할 때에 ''(작은따옴표) 또는 ""(큰따옴표)를 사용하다 보니, 따옴표 특수기호를 값으로 저장할 때에는 주의를 해줄 필요가 있습니다.

  • '(작은따옴표)를 값으로 저장할 시, 이스케이프 문자(\')를 활용하거나 ""(큰따옴표)로 문자열을 감싸야합니다.
  • "(큰따옴표)를 값으로 저장할 시, 이스케이프 문자(\")를 활용하거나 ''(작은따옴표)로 문자열을 감싸야합니다.

위에 대하여 예시 코드를 아래에 작성해 놓으니, 함께 참고해 보면 좋겠습니다.

s1 = "I'm Happy"  
s2 = 'I\'m sad'
s3 = 'Alice says, "Hello"'
s4 = "Tom says, \"Hi\""

print(s1, s2, s3, s4, sep="\n")
# 실행 결과
# I'm Happy
# I'm sad
# Alice says, "Hello"
# Tom says, "Hi"

 

이때, 다른 언어를 학습해 본 적이 있다면 문자열을 표현하는 str형에 대하여 차이점이 있음을 알았을 겁니다.

문자 하나를 표현하는 자료형 char형이 따로 있는 C/C++/Java와는 달리, 파이썬은 문자와 문자열에 구분을 따로 두지 않는다는 차이점이 있습니다.

이러한 특성으로 인하여, 파이썬에서는 문자열을 이루는 의 특정 문자에 대하여 임의로 값 변경을 할 수 없습니다.

아래처럼 하나의 문자에 대해 임의로 값을 변경하려 하자, TypeError가 발생하는 모습을 확인할 수 있겠습니다.

s = "Hallo"
s[1] = 'e'
# 실행 결과 
# Traceback (most recent call last):
#   File "/home/main.py", line 2, in <module>
#     s[1] = 'e'
#     ~^^^
# TypeError: 'str' object does not support item assignment

 

 

5. 진위형 (bool)

마지막으로 참과 거짓의 값만 가질 수 있는 진위형인 bool형이 있습니다.

위 설명대로, bool형은 True(참)과 False(거짓) 값만 가질 수 있으며, 주로 논리 연산의 판별값을 표현하는 데에 활용할 수 있습니다.

참고로 bool형은 정수형인 int형의 하위 개념이기 때문에 True는 1로, False는 0으로 처리될 수 있으니, 이 점까지 함께 감안하면 좋겠습니다.

b1 = True
b2 = False
b3 = 1==4
b4 = (2==2.0) & (4<5)

print(type(b1), type(b2), type(b3), type(b4))
print(b1, b2, b3, b4)
# 실행 결과 
# <class 'bool'> <class 'bool'> <class 'bool'> <class 'bool'>
# True False False True
반응형

'Language (언어 문법) > Python' 카테고리의 다른 글

[파이썬 Python] 출력함수 print()  (0) 2025.02.13