Python의 클래스도 객체...LOGIN

Python의 클래스도 객체입니다.

메타클래스를 이해하기 전에 먼저 Python의 클래스를 더 자세히 이해해 보겠습니다. 대부분의 프로그래밍 언어에서 클래스는 객체를 생성하는 방법을 설명하는 데 사용되는 코드 세그먼트 집합입니다. 이는 Python에서도 마찬가지입니다.

class ObjectCreator(object):
    pass
mObject = ObjectCreator()
print(mObject)

출력 결과:

<__main__.ObjectCreator object at 0x00000000023EE048>

그러나 Python의 클래스는 대부분의 프로그래밍 언어와 다릅니다. Python에서는 클래스를 객체로 이해할 수 있습니다. 예, 여기에는 실수가 없습니다. 대상입니다.

왜?

class 키워드를 사용하는 한 Python 인터프리터는 실행 중에 객체를 생성합니다.

예:

class ObjectCreator(object):
    pass

프로그램이 이 코드를 실행하면 메모리에 객체가 생성되며 이름은 ObjectCreator입니다. 이 객체(클래스) 자체가 객체(클래스 인스턴스)를 생성하는 능력을 갖고 있고, 그것이 바로 클래스인 이유입니다. 그러나 그 본질은 여전히 ​​객체이므로 이에 대해 다음 작업을 수행할 수 있습니다.

class ObjectCreator(object):
    pass
def echo(ob):
    print(ob)
mObject = ObjectCreator()
print(mObject)
# 可以直接打印一个类,因为它其实也是一个对象
print(ObjectCreator)
# 可以直接把一个类作为参数传给函数(注意这里是类,是没有实例化的)
echo(ObjectCreator)
# 也可以直接把类赋值给一个变量
objectCreator = ObjectCreator
print(objectCreator)

출력 결과는 다음과 같습니다.

<__main__.ObjectCreator object at 0x000000000240E358>
<class '__main__.ObjectCreator'>
<class '__main__.ObjectCreator'>
<class '__main__.ObjectCreator'>
다음 섹션
코스웨어