클래스는 객체가 생성되는 사용자 정의 청사진 또는 프로토타입입니다. 클래스는 데이터와 기능을 함께 묶는 수단을 제공합니다. 새 클래스를 생성하면 새로운 유형의 객체가 생성되어 해당 유형의 새 인스턴스를 만들 수 있습니다. 각 클래스 인스턴스에는 상태를 유지하기 위해 속성이 첨부될 수 있습니다. 클래스 인스턴스에는 상태를 수정하기 위한 메서드(클래스에 의해 정의됨)가 있을 수도 있습니다.
클래스와 객체 생성의 필요성을 이해하려면 파이썬 예를 들어, 품종, 나이 등 다양한 속성을 가질 수 있는 개 수를 추적하고 싶다고 가정해 보겠습니다. 목록을 사용하는 경우 첫 번째 요소는 개의 품종이고 두 번째 요소는 나이를 나타낼 수 있습니다. 100마리의 서로 다른 개가 있다고 가정해 보겠습니다. 그러면 어떤 요소가 어떤 요소인지 어떻게 알 수 있습니까? 이 개들에게 다른 속성을 추가하고 싶다면 어떻게 해야 할까요? 이것은 조직이 부족하고 수업이 꼭 필요한 것입니다.
통사론: 클래스 정의
class ClassName: # Statement>
통사론: 객체 정의
obj = ClassName() print(obj.atrr)>
클래스는 사용자 정의를 생성합니다. Python 수업에 대한 몇 가지 요점:
- 클래스는 키워드 클래스에 의해 생성됩니다.
- 속성은 클래스에 속하는 변수입니다.
- 속성은 항상 공개되며 점(.) 연산자를 사용하여 액세스할 수 있습니다. 예: 내 수업.Myattribute
Python 클래스 만들기
여기서 class 키워드는 클래스 이름(이 경우 Dog)이 뒤에 오는 클래스를 생성한다는 것을 나타냅니다.
Java에서 int를 문자열로 변환하는 방법파이썬3
class Dog: sound = 'bark'>
Python 클래스의 객체
객체는 클래스의 인스턴스입니다. 클래스는 청사진과 같고 인스턴스는 클래스의 복사본입니다. 실제 값 . 더 이상 아이디어가 아니라, 7살 된 퍼그 품종의 개처럼 실제 개입니다. 개를 많이 키워서 다양한 인스턴스를 만들 수 있지만 가이드로서의 수업이 없으면 어떤 정보가 필요한지 알 수 없어 길을 잃을 것입니다.
객체는 다음으로 구성됩니다.
- 상태: 객체의 속성으로 표현됩니다. 또한 개체의 속성을 반영합니다.
- 행동: 객체의 메소드로 표현됩니다. 또한 다른 개체에 대한 개체의 반응을 반영합니다.
- 신원: 개체에 고유한 이름을 부여하고 한 개체가 다른 개체와 상호 작용할 수 있도록 합니다.

클래스 객체 선언(클래스 인스턴스화라고도 함)
클래스의 객체가 생성되면 클래스가 인스턴스화된다고 합니다. 모든 인스턴스는 클래스의 속성과 동작을 공유합니다. 그러나 해당 속성의 값, 즉 상태는 각 객체마다 고유합니다. 단일 클래스에는 인스턴스가 여러 개 있을 수 있습니다.
예:

Python 클래스 및 객체의 예
Python에서 객체를 생성하려면 클래스를 인스턴스화하여 해당 클래스의 새 인스턴스를 생성해야 합니다. 이 프로세스를 개체 인스턴스화라고도 합니다.
파이썬3 # Python3 program to # demonstrate instantiating # a class class Dog: # A simple class # attribute attr1 = 'mammal' attr2 = 'dog' # A sample method def fun(self): print('I'm a', self.attr1) print('I'm a', self.attr2) # Driver code # Object instantiation Rodger = Dog() # Accessing class attributes # and method through objects print(Rodger.attr1) Rodger.fun()> 산출:
mammal I'm a mammal I'm a dog>
위의 예에서는 기본적으로 Rodger라는 개라는 개체가 생성됩니다. 이 클래스에는 Rodger가 개이자 포유류임을 알려주는 두 가지 클래스 속성만 있습니다.
설명 :
이 예에서는 Dog 클래스를 생성하고 두 개의 클래스 변수를 생성했습니다. attr1 및 attr2 . 우리는 다음과 같은 메소드를 만들었습니다. 재미있는() 이는 I'm a, {attr1} 및 I'm a, {attr2}라는 문자열을 반환합니다. Dog 클래스의 객체를 생성했으며 다음 위치에서 인쇄하고 있습니다. attr1 개체의. 마지막으로 우리는 재미있는() 기능 .
자체 매개변수
이 객체의 메소드를 myobject.method(arg1, arg2)로 호출하면 Python에 의해 자동으로 MyClass.method(myobject, arg1, arg2)로 변환됩니다. 본인 에 관한 것입니다.
파이썬3 class GFG: def __init__(self, name, company): self.name = name self.company = company def show(self): print('Hello my name is ' + self.name+' and I' + ' work in '+self.company+'.') obj = GFG('John', 'GeeksForGeeks') obj.show()> 그만큼 본인 매개변수는 이를 Self라고 부르지 않으며, 대신 다른 이름을 사용할 수 있습니다. 여기서 self를 someone이라는 단어로 바꾸면 출력은 동일합니다.
파이썬3 class GFG: def __init__(somename, name, company): somename.name = name somename.company = company def show(somename): print('Hello my name is ' + somename.name + ' and I work in '+somename.company+'.') obj = GFG('John', 'GeeksForGeeks') obj.show()> 산출: 두 코드의 출력은 동일합니다.
Hello my name is John and I work in GeeksForGeeks.>
설명:
이 예에서는 GFG 클래스를 생성하고 다음을 생성했습니다. 이름, 회사 생성자의 인스턴스 변수. 우리는 다음과 같은 메소드를 만들었습니다. 인사하다() Hello 내 이름은 + {name} +이고 +{company}+에서 일합니다..라는 문자열을 반환합니다. 우리는 사람 클래스 객체를 생성했고 이름을 전달했습니다. 존 앤 컴퍼니 GeeksForGeeks를 인스턴스 변수에 추가합니다. 마지막으로 우리는 보여주다() 수업의.
합격 명세서
프로그램의 실행은 다음의 영향을 받지 않습니다. 통과하다 성명서의 무활동. 이는 프로그램이 아무 작업도 수행하지 않고 코드의 해당 섹션을 건너뛰도록 허용할 뿐입니다. Python의 구문 제약 조건이 유효한 명령문을 요구하지만 유용한 코드를 실행해야 할 때 자주 사용됩니다.
파이썬3 class MyClass: pass>
__init__() 메서드
그만큼 __더운__ 메서드는 생성자와 비슷합니다. C++ 그리고 자바 . 생성자는 객체의 상태를 초기화하는 데 사용됩니다. 메소드와 마찬가지로 생성자에도 객체 생성 시 실행되는 명령문(예: 명령어) 모음이 포함되어 있습니다. 클래스의 객체가 인스턴스화되자마자 실행됩니다. 이 메서드는 개체로 수행하려는 초기화를 수행하는 데 유용합니다.
파이썬3 # Sample class with init method class Person: # init method or constructor def __init__(self, name): self.name = name # Sample Method def say_hi(self): print('Hello, my name is', self.name) p = Person('Nikhil') p.say_hi()> 산출:
Hello, my name is Nikhil>
설명:
이 예에서는 Person 클래스를 생성하고 있습니다. 이름 생성자의 인스턴스 변수. Hello, my name is {name}라는 문자열을 반환하는 say_hi()라는 메서드를 만들었습니다. person 클래스 개체를 만들고 Nikhil이라는 이름을 인스턴스 변수에 전달합니다. 마지막으로 클래스의 say_hi()를 호출합니다.
__str__() 메서드
Python에는 다음과 같은 특정 메서드가 있습니다. __str__() . 이는 방법을 정의하는 데 사용됩니다. 수업 객체는 문자열로 표현되어야 합니다. 이는 개체에 사람이 읽을 수 있는 텍스트 표현을 제공하는 데 자주 사용되며, 이는 사용자 개체 정보를 로깅, 디버깅 또는 표시하는 데 도움이 됩니다. 내장 함수 print() 및 str()을 사용하여 문자열을 생성하기 위해 클래스 객체가 사용되면, __str__() 기능이 자동으로 사용됩니다. 개체의 방법을 변경할 수 있습니다. 수업 정의하여 문자열로 표현됩니다. __str__() 방법.
파이썬3 class GFG: def __init__(self, name, company): self.name = name self.company = company def __str__(self): return f'My name is {self.name} and I work in {self.company}.' my_obj = GFG('John', 'GeeksForGeeks') print(my_obj)> 산출:
My name is John and I work in GeeksForGeeks.>
설명:
이 예에서는 GFG라는 클래스를 생성합니다. 클래스에서 두 개의 인스턴스 변수를 생성합니다. 이름과 회사 . __str__() 메소드에서 우리는 이름 인스턴스 변수 및 회사 인스턴스 변수. 마지막으로 GFG 클래스의 객체를 생성하고 __str__() 메서드를 호출합니다.
클래스 및 인스턴스 변수
인스턴스 변수 각 인스턴스에 고유한 데이터용이고 클래스 변수는 클래스의 모든 인스턴스에서 공유하는 속성 및 메서드용입니다. 인스턴스 변수는 생성자나 메소드 내에서 값이 할당되는 변수인 반면, 클래스 변수는 클래스에서 값이 할당되는 변수입니다.
생성자를 사용하여 인스턴스 변수 정의
파이썬3 # Python3 program to show that the variables with a value # assigned in the class declaration, are class variables and # variables inside methods and constructors are instance # variables. # Class for Dog class Dog: # Class Variable animal = 'dog' # The init method or constructor def __init__(self, breed, color): # Instance Variable self.breed = breed self.color = color # Objects of Dog class Rodger = Dog('Pug', 'brown') Buzo = Dog('Bulldog', 'black') print('Rodger details:') print('Rodger is a', Rodger.animal) print('Breed: ', Rodger.breed) print('Color: ', Rodger.color) print('
Buzo details:') print('Buzo is a', Buzo.animal) print('Breed: ', Buzo.breed) print('Color: ', Buzo.color) # Class variables can be accessed using class # name also print('
Accessing class variable using class name') print(Dog.animal)> 산출 :
Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dog>
설명:
Dog라는 클래스는 다음과 같이 정의됩니다. 클래스 변수 문자열 개에 설정된 동물. 클래스 변수는 클래스의 모든 객체에서 공유되며 클래스 이름을 사용하여 액세스할 수 있습니다. Dog 클래스에는 두 개의 인스턴스 변수가 있습니다. 품종과 색깔. 나중에 우리는 개 class 그리고 우리는 Animal이라는 클래스 변수를 사용하여 두 개체의 값을 인쇄합니다.
일반 방법을 사용하여 인스턴스 변수 정의:
파이썬3 # Python3 program to show that we can create # instance variables inside methods # Class for Dog class Dog: # Class Variable animal = 'dog' # The init method or constructor def __init__(self, breed): # Instance Variable self.breed = breed # Adds an instance variable def setColor(self, color): self.color = color # Retrieves instance variable def getColor(self): return self.color # Driver Code Rodger = Dog('pug') Rodger.setColor('brown') print(Rodger.getColor())> 산출:
brown>
설명:
이 예에서는 다음과 같은 클래스를 정의했습니다. 개 그리고 우리는 클래스 변수 동물. 우리는 인스턴스 변수 품종을 다음과 같이 생성했습니다. 건설자 . Dog 클래스는 두 가지 메소드로 구성됩니다. 색상 설정 그리고 getColo r, 인스턴스 변수를 생성 및 초기화하고 인스턴스 변수의 값을 검색하는 데 사용됩니다. 우리는 대상을 만들었습니다. 개 클래스를 사용하고 인스턴스 변수 값을 brown으로 설정했으며 터미널에 값을 인쇄합니다.