본문 바로가기

Langauge/Python

[Python] 4. 내장 자료형

728x90
반응형

자료형

파이썬에서 자료형은 class라고 생각하면 된다.

모든 자료형은 class로 구현되어 있다.

__class__ 속성을 통해 자료형을 알 수 있다.

a :int = 1
print(a.__class__)
# <class 'int'>

 

변수나 값의 자료형을 알아보려면 type() 함수를 사용하면 된다.

type(None)
type(True)

 

 

숫자형

int : 정수

10 # 양의 정수
-10 # 음의 정수
0b11 # 2진수
0O12 # 8진수
0x1a # 16진수
  • Python3부터 arbitrary precision을 지원하여 오버플로우 발생하지 않게 되었다.(long 타입 삭제)
  • Arbitrary precision은 사용할 수 있는 메모리양이 정해져 있는 fixed-precision과 달리, 현재 남아있는 만큼의 가용 메모리를 수 표현에 가져다 쓸 수 있는 형태
 

Arbitrary-precision arithmetic - Wikipedia

From Wikipedia, the free encyclopedia Calculations where numbers' precision is only limited by computer memory In computer science, arbitrary-precision arithmetic, also called bignum arithmetic, multiple-precision arithmetic, or sometimes infinite-precisio

en.wikipedia.org

 

int() 함수로 값을 10진 정수로 변환 가능

int(10.1)
# 10

 

 

float : 소수점이 포함된 숫자

0.1 # 양의 소수
-0.12 # 음의 소수
32.3e100 # 지수 표기법 - 지수 값이 계산된 값이 나옴 
32.3E100 # 지수 표기법 - 소수e + ~ 형태로 값이 나옴

 

float() 함수로 값을 소수로 변환 가능

float(10)
# 10.0

 

 

complex : 복소수

3.14j # 복소수 표현
45.j # 복소수 표현
3+10j # 실수부, 허수부 표현

 

 

시퀀스 자료형

문자열(str)

 

파이썬 문자열의 특징

  • ' '와 " "를 구분하지 않고 둘 다 문자열 표현으로 사용한다.
  • 따로 문자 타입이 없고 한 글자도 문자열로 표현
  • " 또는 '를 3개씩 써서 주석으로 표현하거나 이 것을 변수에 할당하면 문자열이 된다.(이 경우 개행 문자도 포함)
  • +(연결), *(반복)로 문자열 연산이 가능하다.
  • 여러 개의 문자가 메모리 상에 한 줄로 늘어져있는 형태로 저장되기 때문에 슬라이싱이라는 기법을 통해 원하는 문자만 잘라서 사용할 수 있다.([] or [:])
st1: str = "안녕하세요"

st2: str = '안녕하세요'

st3: str = """ 
안녕하세요 
"""

st4: str = ''' 
안녕하세요 
'''

""" """ # 여러줄 주석으로 사용 가능
''' ''' # 여러줄 주석으로 사용 가능
# 문자열 슬라이싱
st: str = "안녕하세요"
print(st[:2]) # 안녕
# [start:end:step]
# start : 생략 시 0부터 시작, start부터 end-1까지 step 간격으로 문자열을 자른다.
# end : 생략 시 끝까지, end-1 까지 문자열을 자른다.
# step : 생략 시 1, 문자열을 자르는 간격이다.

 

str() 함수를 통해 시퀀스 자료형을 문자열로 변경할 수 있다.

str(["h","e","l","l","o"])

 

 

리스트(List)

 

값들이 쉼표(,)로 구분되고 대괄호([])로 묶인 자료형이다.

 

특징

  • 배열과의 차이점은 리스트에 속한 모든 항목이 다른 데이터 유형(모든 자료형)이 될 수 있다.
  • 슬라이싱을 지원한다.
  • 다양한 제어 메서드들을 지원한다.
 

Python - List Methods

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

l: list = [1,"1",'하이',0.1,0x12,[1,2]]

 

list() 함수를 통해 시퀀스 자료형을 list 자료형으로 변경할 수 있다.

list(range(5))
# [0,1,2,3,4]

 

"리스트컴프리헨션(List Comprehension)"은 for문을 사용해 리스트를 생성하는 방법이다.

  • 중첩 for문이 사용가능하다.
  • if 문을 사용해 조건에 맞는 값만 리스트에 넣을 수 있다.
  • 파이썬 인터프리터에 최적화되어 있어서 우수한 성능을 가진다.
l1 = [x for x in range(5)]
# l1 = [0,1,2,3,4]

l2 = [x for x in range(5) if x%2==0]
# l2 = [0,2,4]

l3 = [x if x%2==0 else x+1 for x in range(5)]
# l3 = [0,2,2,4,4]

 

 

튜플(Tuple)

 

값들이 쉼표(,)로 구분되고 소괄호(())로 묶인 자료형이다.

 

특징

  • 배열과의 차이점은 리스트에 속한 모든 항목이 다른 데이터 유형(모든 자료형)이 될 수 있다.
  • 슬라이싱을 지원한다.
  • 값을 수정할 수 없다.
  • 원소가 1개일 경우 다음 처럼 선언할 수 있다.
t: tuple = 1,
  • 다양한 제어 메서드들을 지원한다.
 

Python Tuple Methods

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

t: tuple = (1,"2",(1,2),[1,2])

 

tuple() 함수를 통해 시퀀스 자료형을 tuple 자료형으로 변경할 수 있다.

tuple([1,2,3,4])
# (1,2,3,4)

 

 

딕셔너리(Dictionary)

 

"키:값" 쌍으로 이루어진 값들이 쉼표(,)로 구분되고 소괄호({})로 묶인 자료형이다.

 

특징

  • 키, 값의 쌍들의 집합으로 저장된다.
  • 키는 숫자, 문자열이 가능하다.
  • 값은 어떤 자료형이든 가능하다.
  • 다양한 제어 메서드들을 지원한다.
 

Python Dictionary Methods

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

dic: dict = {'a':[1,2,3,4],'b':1,'c':(1,2,3),'d':{'1':12}}

 

dict() 함수를 통해 시퀀스 자료형(사전 형태)을 dict 자료형으로 변경할 수 있다.

dict([[1,2],[2,4],[3,3]])

 

 

집합(set)

 

값들이 쉼표(,)로 구분되고 소괄호({})로 묶인 자료형이다.

  • 값들은 순서가 없다.
  • 다양한 제어 메서드들을 지원한다.
 

Python Set Methods

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

set() 함수를 통해 시퀀스 자료형을 set 자료형으로 변경할 수 있다.

set([1,2,3,4,5])

 

 

기타 자료형

NoneType

 

변수가 비어있음을 나타내는 표시이다.

print(None)

 

 

bool

 

True와 False로 참, 거짓을 나타내는 자료형이다.

print(True)
print(False)

 

bool() 함수를 통해 자료형을 bool 자료형으로 변경할 수 있다.

bool(1)
bool(0)

 

 

 

function

 

함수 자체도 자료형이 될 수 있다.

def f():
    return 1

type(f)
728x90
반응형

'Langauge > Python' 카테고리의 다른 글

[Python] 6. 클래스와 모듈  (0) 2023.02.11
[Python] 5. 함수  (0) 2023.02.10
[Python] 3. 제어문  (0) 2023.02.10
[Python] 2. 변수, 연산자, 기본 입출력  (0) 2023.02.10
[Python] 1. 파이썬 시작  (0) 2022.10.01