Lecture 강의

Undergrads 학부 Graduates 대학원 역학(Mech)/설계(Design)/FEM 인공지능(AI)/기계학습(ML)/IoT SAP/ETABS OpenSees/FeView/STKO 아바쿠스(Abaqus) 파이썬(Python)/매트랩(Matlab) 엑셀(Excel-VBA)/HTML 마이다스(MIDAS)

[02. 문법] 2.2 데이터 타입 - int, str, list, set, bool, bytes

작성자 : kim2kie

(2023-02-19)

조회수 : 2009

[참조]

 
파이썬 코딩에 사용되는 데이터 타입은 다음과 같다.

(1) Numeric(숫자) 타입: int(정수), float(실수), complex(복소수)

(2) Sequence(나열) 타입: str(문자열), list(리스트=목록), tuple(튜플)

(3) Mapping(매핑) 타입: dict(딕셔너리)

(4) Set(집합) 타입: set(집합)

(5) Boolean(불리언~참/거짓) 타입: bool(불리언)

(6) Binary(바이너리~이진수) 타입: bytes, bytearray, memoryview

 

[Q] 변수의 데이터 타입 확인할 수 있을까?
[A] type(), isinstance() 함수로 확인할 수 있다.
1. type() : 인자(argument)로 전달된 객체의 타입을 리턴
2. isinstance() : 타입과 일치하는지 확인

 


 

(1) Numeric(숫자) 타입: int(정수), float(소수), complex(복소수) 

  • Numeric 타입으로는 int, float, complex가 있다. 
  • int와 float는 지정시 소수점의 유무에 따라 결정된다. 
  • 사칙연산에서는 가장 큰 데이터 타입으로 결정된다. 예외로 int와 int의 연산 결과는 항상 float이다.
  • and, as, assert, break, class, continue, def, del, elif, else, except, FALSE
     
  • Ex)
    a = 5 # int
    a = 2.0 # float
    a = 1 + 2j # complex

     
  • Q) float를 interger로 만드는 방법은?
    A) 예) 12/4 -> 3.0 실수이므로, int(12/4) -> 3 정수
  • Q) complex인 j와 1j는 다른가?
    A) j는 변수로 인식되지만, 1j는 복소수의 허수로 인식된다. 
    따라서 복소수로 사용할 경우에는 1j를 사용한다.

     
  • int()  함수: 문자 타입을 정수 타입으로 변환
    >>> print(int('1'))
    1
    >>> height = int(input("Enter your height in cm: "))

     
  • float() 함수
    >>> float(input('x = ? '))

     
  • complex() 함수     
    >>> complex(1+2j)

     

 

(2) Sequence(나열) 타입: str(문자열), list(리스트=목록), tuple(튜플) 

  • 문자 1개을 2바이트로 표현하는 유니코드 문자열은 str에, 문자 1개를 1바이트로 표현하는 ANSI 문자열은 bytes라는 클래스를 사용한다.
  • list는 다른 언어의 배열처럼 사용하는 자료형이다. list라고 명명한 이유는 구성요소의 타입이 같을 필요가 없기 때문이다. 생성은 [] 기호로 둘러싸면 된다.
  • tuple는 읽기 전용 리스트이다. 생성은 () 기호로 둘러싸면 되며, 한번 생성하면 바꿀 수 없다.
     
  • Ex)
    my_string = "Hello" # str
    a = [5,10,15,20,25,30,35,40] # list; a[0:7]
    t = (5,'program', 1+3j) # tuple; t[0:3]

     
  • str()  함수: 숫자 타입을 문자열 타입으로 변환
    >>> print(str(3))
    3

     
  • list() 함수: range(1,11) 객체를 list 타입으로 변환
    >>> print(list(range(1, 11)))
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> list('python')
    ['p', 'y', 't', 'h', 'o', 'n']  # 문자열 -> 리스트

     
  • tuple() 함수
    tuple([1,2,3])  # 리스트 -> 튜플

 

(3) Mapping(매핑) 타입: dict(딕셔너리) 

  • dict 타입은 단어(Key; immutable)와 뜻(value; mutable)으로 매핑된(즉, 함께 있는) 순서가 없는 집합(사전)이다.
     
  • Ex)
    d = {1:'value','key':2} # dict; d[1],d['key']

     
  • dict() 함수

 

(4) Set(집합) 타입: set(집합) 

  • set은 여러 개의 자료를 하나의 변수로 관리할 때 사용한다.
  • set 타입은 중복된 데이터를 가질 수 없고, 순서가 없다. 
  • 따라서 순서와 관련된 인덱스기호([ ])를 사용할 수 없다. 
  • 중복 데이터를 만드는 +, *를 사용할 수 없다. 
  • in, not in, len()은 사용할 수 있다.
     
  • Ex)
    s = {"1", 3, 5, (1,3)} # set

     
  • set() 함수
    >>> set([1,2,3])  
    {1, 2, 3}  #리스트 -> 집합

 

(5) Boolean(불리언~참/거짓) 타입: bool(불리언) 

  • Boolean 타입이란 논리값인 참(True)과 거짓(False) 중 한 가지만을 가질 수 있다.
     
  • Ex)
    a = True # bool

 

(6) Binary(바이너리~이진수) 타입: bytes, bytearray, memoryview

  • 컴퓨터가 처리하는 데이터 형식인 바이너리(2진수) 데이터를 처리할 때는 bytes와 bytearray를 사용한다.
     
  • Ex)
    bytes(10) # bytes