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

파이썬 익명 클래스와 객체 탐구하기

파이썬 내장 `type()` 함수는 객체가 속한 클래스를 반환합니다. 파이썬에서 내장 클래스든 사용자 정의 클래스든 모든 클래스는 `type` 클래스의 객체입니다.

예제

class myclass:
    def __init__(self):
        self.myvar = 10

obj = myclass()
print('class of int', type(int))
print('class of list', type(list))
print('class of dict', type(dict))
print('class of myclass', type(myclass))
print('class of obj', type(obj))

출력:

class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>

`type()`에는 3인자 버전이 있습니다:

문법

newclass = type(name, bases, dict)

위 문법으로 클래스를 동적 생성할 수 있습니다. `type` 함수의 세 인자:

익명 클래스 생성하기

위 `type()` 버전으로 익명 클래스 생성 가능. name 인자는 빈 문자열, 두 번째 인자는 객체 클래스 `object`를 포함한 튜플(파이썬 모든 클래스는 `object` 상속). 세 번째 인자 딕셔너리에 인스턴스 변수 추가. 지금은 비워둠.

anon = type('', (object,), {})

익명 객체 생성하기

이 익명 클래스의 객체 생성:

obj = anon()
print("type of obj:", type(obj))

결과: 객체가 익명 클래스 타입임 표시

type of obj: <class '__main__.'>

익명 클래스와 객체 예제

인스턴스 변수와 메서드도 동적 추가 가능. 다음 예제 참조:

def getA(self):
    return self.a

obj = type('', (object,), {'a':5, 'b':6, 'c':7, 'getA':getA, 'getB':lambda self: self.b})()
print(obj.getA(), obj.getB())

출력:

5 6

python

  1. 파이썬(Python) 개요: 고수준, 가독성, 인터랙티브, 객체지향
  2. 파이썬 C 확장 프로그래밍 마스터: 빠르고 네이티브한 모듈 만들기
  3. 파이썬 range() 함수 마스터하기: 기초부터 고급 활용까지
  4. 파이썬 리스트에서 항목 제거하기: remove(), pop(), clear(), del 완벽 가이드
  5. Python 상속 마스터하기: 개념, 문법, 실전 예제
  6. 파이썬 객체지향 프로그래밍 마스터하기: 종합 가이드
  7. 파이썬 PyUnit 단위 테스트 마스터하기: 실전 가이드 & 예제
  8. Python 예외 처리 마스터하기: try, except, else, finally 완전 정복
  9. Python 에러와 내장 예외 마스터하기
  10. Python format() 문자열 마스터하기: 명확한 예제로 완전 정복