logo

파이썬 객체

물체 클래스의 인스턴스입니다. 클래스는 청사진과 비슷하지만 인스턴스는 실제 값이 포함된 클래스의 복사본입니다. Python은 객체를 강조하는 객체 지향 프로그래밍 언어입니다. 즉, 주로 기능을 강조합니다. Python 객체는 기본적으로 데이터 변수와 해당 데이터에 작용하는 메서드를 단일 엔터티로 캡슐화한 것입니다.

메모: 자세한 내용은, Python 클래스 및 객체



Python 객체의 이해

Python의 객체 개념을 더 잘 이해합니다. 많은 분들이 CLASH OF CLANS를 플레이해 보신 적이 있으시다면, 기본 레이아웃을 모든 건물, 방어 시설, 자원 등을 포함하는 클래스로 가정하겠습니다. 이러한 설명을 바탕으로 우리는 마을을 만듭니다. 여기서 마을은 개체입니다. 파이썬.

통사론:

obj = MyClass() print(obj.x)>

사례 정의는 변수의 실제 데이터를 저장하는 데 필요한 메모리 할당을 나타냅니다. 클래스 객체를 생성할 때마다 해당 클래스에 정의된 각 데이터 변수의 복사본이 생성됩니다. 간단히 말해서, 클래스의 각 개체에는 해당 클래스에 정의된 데이터 멤버의 고유한 복사본이 있다고 말할 수 있습니다.



Python 객체 생성

프로그램 작업: 아우디 = 자동차()

  • 메모리 블록이 힙에 할당됩니다. 할당되는 메모리의 크기는 해당 클래스(Cars)에서 사용할 수 있는 속성과 메서드에 따라 결정됩니다.
  • 메모리 블록이 할당된 후 특수 메서드 __더운__ ()는 내부적으로 호출됩니다. 이 방법을 통해 초기 데이터가 변수에 저장됩니다.
  • 인스턴스에 할당된 메모리 주소의 위치가 객체(Cars)로 반환됩니다.
  • 메모리 위치가 다음으로 전달됩니다. 본인 .

파이썬3






크롬 주소 표시줄

class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)>

>

>

산출:

R8 100000>

객체를 사용하여 클래스 멤버에 액세스:

클래스의 변수와 메서드는 Python에서 클래스 개체나 인스턴스를 사용하여 액세스할 수 있습니다.

통사론:

obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>

예시 1:

파이썬3




# Python program to create instance> # variables inside methods> > class> Car:> > ># Class Variable> >vehicle>=> 'car'> > ># The init method or constructor> >def> __init__(>self>, model):> > ># Instance Variable> >self>.model>=> model> > ># Adds an instance variable> >def> setprice(>self>, price):> >self>.price>=> price> > ># Retrieves instance variable> >def> getprice(>self>):> >return> self>.price> > # Driver Code> Audi>=> Car(>'R8'>)> Audi.setprice(>1000000>)> print>(Audi.getprice())>

>

>

산출:

1000000>

예시 2:

파이썬3




class> Car:> > ># Class Variable> >vehicle>=> 'Car'> > ># The init method or constructor> >def> __init__(>self>, model, price):> > ># Instance Variable> >self>.model>=> model> >self>.price>=> price> > # Objects of class> Audi>=> Car(>'R8'>,>100000>)> BMW>=> Car(>'I8'>,>10000000>)> print>(>'Audi details:'>)> print>(>'Audi is a'>, Audi.vehicle)> print>(>'Model: '>, Audi.model)> print>(>'price: '>, Audi.price)> print>(>' BMW details:'>)> print>(>'BMW is a'>, BMW.vehicle)> print>(>'Model: '>, BMW.model)> print>(>'Color: '>, BMW.price)> # Class variables can be> # accessed using class> # name also> print>(>' Accessing class variable using class name'>)> print>(Car.vehicle)> # or> print>(Audi.vehicle)> # or> print>(BMW.vehicle)>

>

>

산출:

Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car>

자체 변수:

SELF는 Python에서 현재 객체의 메모리 주소를 포함하는 기본 변수입니다. 인스턴스 변수와 메소드는 자체 변수로 참조될 수 있습니다. 클래스의 객체가 생성되면 객체의 메모리 위치는 해당 객체 이름에 포함됩니다. SELF는 객체의 메모리 주소를 알고 있으므로 이 메모리 위치는 내부적으로 SELF에 전달되므로 객체의 변수와 메서드에 액세스할 수 있습니다. 모든 객체 메소드의 첫 번째 인수는 SELF입니다. 첫 번째 인수는 항상 객체 참조이기 때문입니다. 이 프로세스는 전화를 걸든 말든 자동으로 진행됩니다.

예:

파이썬3




class> Test:> >def> __init__(Myobject, a, b):> >Myobject.country>=> a> >Myobject.capital>=> b> >def> myfunc(abc):> >print>(>'Capital of '> +> abc.country>+>' is:'>+>abc.capital)> x>=> Test(>'India'>,>'Delhi'>)> x.myfunc()>

>

>

산출:

Capital of India is: Delhi>

메모: 자세한 내용은 다음을 참조하세요. Python 클래스의 self

Python에서 개체 삭제:

Python 객체 속성은 del 키워드를 사용하여 삭제할 수 있습니다:

통사론:

del obj_name.property>

객체는 del 키워드로도 삭제할 수 있습니다:

통사론:

del obj_name>