산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 type()과 isinstance() 이해하기: 실전 예제

파이썬 type()과 isinstance() 이해하기: 실전 예제

파이썬 type()이란?

파이썬에는 입력으로 주어진 변수의 클래스 타입을 찾아주는 내장 함수 type()이 있습니다. 예를 들어 입력이 문자열이면 <class 'str'>, 리스트면 <class 'list'> 등으로 출력됩니다.

type() 명령으로 단일 인자를 전달하면, 반환값은 인자의 클래스 타입입니다(예: type(object)).

세 개의 인자를 전달하는 것도 가능합니다: type(name, bases, dict). 이 경우 새로운 타입 객체를 반환합니다.

이 튜토리얼에서 배울 내용:

type() 문법

type()은 아래 두 가지 방식으로 사용:

type(object)
type(name, bases, dict)

매개변수: type(object)

매개변수: type(name, bases, dict)

반환값

object만 매개변수로 전달되면 객체의 타입 반환. type(name, bases, dict) 형태면 새로운 타입 객체 반환.

type() 예제

문자열, 숫자, 실수, 복소수, 리스트, 튜플, 딕셔너리, 집합 변수를 type으로 확인:

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("타입:", type(str_list))
print("타입:", type(age))
print("타입:", type(pi))
print("타입:", type(c_num))
print("타입:", type(my_list))
print("타입:", type(my_tuple))
print("타입:", type(my_dict))
print("타입:", type(my_set))

출력:

타입: <class 'str'>
타입: <class 'int'>
타입: <class 'float'>
타입: <class 'complex'>
타입: <class 'list'>
타입: <class 'tuple'>
타입: <class 'dict'>
타입: <class 'set'>

예제: 클래스 객체에 type() 사용

클래스에서 생성된 객체를 type()으로 확인하면 클래스 타입과 이름이 함께 반환:

class test:
    s = 'testing'

t = test()
print(type(t))

출력: <class '__main__.test'>

예제: type()에 name, bases, dict 사용

type(name, bases, dict) 문법으로도 호출 가능. 세 매개변수는 클래스 정의를 구성하는 요소: name=클래스명, bases=기반 클래스, dict=기반 클래스 속성 딕셔너리.

class MyClass:
    x = 'Hello World'
    y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

출력: <class 'type'> / {'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

세 인자를 모두 전달하면 기반 클래스 속성으로 새 클래스 초기화 가능.

파이썬 isinstance()란?

파이썬 isinstance는 내장 함수 중 하나입니다. 두 인자를 받아 첫 번째 인자가 두 번째 인자로 주어진 classinfo의 인스턴스면 True, 아니면 False 반환.

isinstance() 문법

isinstance(object, classtype)

매개변수

반환값

객체가 classtype의 인스턴스면 True, 아니면 False.

isinstance() 예제들

예제: isinstance() 정수 확인

age = isinstance(51, int)
print("age는 정수:", age)

출력: age는 정수: True

예제: isinstance() 실수 확인

pi = isinstance(3.14, float)
print("pi는 실수:", pi)

출력: pi는 실수: True

예제: isinstance() 문자열 확인

message = isinstance("Hello World", str)
print("message는 문자열:", message)

출력: message는 문자열: True

예제: isinstance() 튜플 확인

my_tuple = isinstance((1,2,3,4,5), tuple)
print("my_tuple은 튜플:", my_tuple)

출력: my_tuple은 튜플: True

예제: isinstance() 집합 확인

my_set = isinstance({1,2,3,4,5}, set)
print("my_set은 집합:", my_set)

출력: my_set은 집합: True

예제: isinstance() 리스트 확인

my_list = isinstance([1,2,3,4,5], list)
print("my_list는 리스트:", my_list)

출력: my_list는 리스트: True

예제: isinstance() 딕셔너리 확인

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"}, dict)
print("my_dict는 딕셔너리:", my_dict)

출력: my_dict는 딕셔너리: True

예제: isinstance() 클래스 테스트

class MyClass:
    _message = "Hello World"

_class = MyClass()
print("_class는 MyClass 인스턴스:", isinstance(_class, MyClass))

출력: _class는 MyClass 인스턴스: True

파이썬에서 type()과 isinstance() 차이점

type()isinstance()
입력 변수의 클래스 타입을 찾아주는 내장 함수. 값을 주어진 타입과 비교. 일치하면 True, 아니면 False.
반환값: 타입 객체 반환값: 불리언(True/False)
class A:
    my_listA = [1,2,3]
class B(A):
    my_listB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

출력: True / False

type()으로 서브클래스 검사 시 False.

class A:
    my_listA = [1,2,3]
class B(A):
    my_listB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

출력: True / True

isinstance()는 서브클래스 검사 시 True.

요약

python

  1. C# 식, 문, 블록: 개념과 실전 예제로 완벽 이해
  2. 파이썬 타입 변환 & 캐스팅 마스터하기: 종합 가이드
  3. Python 숫자, 형 변환, 수학 마스터하기
  4. 라즈베리 파이와 파이썬으로 로봇 만들기: 완전 가이드
  5. Python str.count() 마스터하기: 문자 및 부분문자열 개수 세기 예제
  6. Python format() 문자열 마스터하기: 명확한 예제로 완전 정복
  7. Python String.find() 메서드 마스터하기: 문법, 예제, 대안 비교
  8. 파이썬 람다 함수 마스터하기: 실용 예제 & 모범 사례
  9. 파이썬 round() 함수 완전 정복: 실용 예제로 이해하기
  10. 파이썬 map() 함수 마스터하기: 문법, 예제, 모범 사례