IdoCleanCode
article thumbnail
반응형

 

파이썬 튜토리얼


데이터 타입의 정의

  • 파이썬에서 다루는 데이터의 종류를 나타내는 것을 의미합니다. 변수에 저장되는 데이터의 형태를 결정하며, 이에 따라 변수가 어떤 연산과 작업을 수행할 수 있는지 결정합니다.

데이터 타입의 종류

  • 주요 데이터 타입으로 숫자(Number) 문자열(String), 시퀀스(Sequence), 집합(Set), 불리언(Boolean)이 있습니다.
    파이썬 데이터 타입 종류
    파이썬 데이터 타입 종류

 

데이터 타입 특징

동적 타이핑

  • 파이썬에서는 변수가 아닌 데이터 자체가 데이터 타입을 가지며, 변수의 타입은 할당된 데이터에 따라 동적으로 결정됩니다. 이 특성을 동적 타이핑이라고 합니다.
    # 변수 x에 정수를 할당
    x = 10
    print(x, type(x))  # 출력: 10 <class 'int'>
    
    # 변수 x에 문자열을 할당
    x = "Hello, World!"
    print(x, type(x))  # 출력: Hello, World! <class 'str'>
    
    # 변수 x에 리스트를 할당
    x = [1, 2, 3, 4, 5]
    print(x, type(x))  # 출력: [1, 2, 3, 4, 5] <class 'list'>​
    변수 x의 데이터 타입은 할당된 값에 따라 동적으로 변화합니다.

 

강한타입

  • 파이썬은 강한 타입로, 다른 데이터 타입 간의 연산 시 암시적 변환이 일어나지 않습니다. 이로 인해, 데이터 타입이 다른 값들을 합치거나 연산하려면 사용자가 직접 타입 변환을 해야합니다.
    # 정수와 문자열을 직접 연결하려 하면 오류 발생
    num = 10
    str1 = 'Hello'
    combined = num + str1  # TypeError 발생
    
    # 명시적으로 데이터 타입 변환 후 연결
    num = 10
    str1 = 'Hello'
    combined = str(num) + str1  # '10Hello'
    print(combined)​

 

객체지향

  • 파이썬의 모든 데이터는 객체로 취급되며, 이는 숫자부터 문자열, 리스트, 딕셔너리, 사용자 정의 클래스까지 포함합니다. 각각의 속성과 메소드를 가집니다.
    # 문자열 객체
    str1 = "Hello, World!"
    print(str1.upper())  # upper()는 문자열 객체의 메소드입니다.
    
    # 리스트 객체
    list1 = [1, 2, 3, 4, 5]
    list1.append(6)  # append()는 리스트 객체의 메소드입니다.
    print(list1)
    
    # 사용자 정의 클래스와 그 인스턴스
    class MyClass:
        def __init__(self, name):  # 속성 정의
            self.name = name
    
        def say_hello(self):  # 메소드 정의
            return f"Hello, {self.name}!"
    
    my_instance = MyClass("Python")
    print(my_instance.name)  # 속성 사용
    print(my_instance.say_hello())  # 메소드 사용​

 

가변성과 불가변성

  • 파이썬의 데이터 타입은 가변 타입과 불변 타입으로 분류됩니다. 가변 타입은 리스트, 딕셔너리처럼 생성 이후 값이 변경할수 있지만, 불변타입은 숫자, 문자열, 튜플 등과 같이 한 번 생성된 후에는 그 값을 변경할 수 없는 데이터 타입을 의미합니다.
    # 가변 타입 예제: 리스트
    list1 = [1, 2, 3]
    print(list1)  # 출력: [1, 2, 3]
    list1[0] = 100
    print(list1)  # 출력: [100, 2, 3] - 리스트 내용 변경 가능
    
    # 불변 타입 예제: 문자열
    str1 = "Hello"
    print(str1)  # 출력: Hello
    try:
        str1[0] = "h"
    except TypeError as e:
        print(e)  # 출력: 'str' object does not support item assignment - 문자열 내용 변경 불가
    
    # 불변 타입 예제: 튜플
    tuple1 = (1, 2, 3)
    print(tuple1)  # 출력: (1, 2, 3)
    try:
        tuple1[0] = 100
    except TypeError as e:
        print(e)  # 출력: 'tuple' object does not support item assignment - 튜플 내용 변경 불가​

 

참고 자료

https://www.geeksforgeeks.org/python-programming-language/?ref=shm

https://docs.python.org/ko/3/tutorial/index.html
https://roadmap.sh/python

https://www.w3schools.com/python/default.asp

https://wrtn.ai/

https://chat.openai.com/

 

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!