Python의 클래스는 객체를 만드는 청사진입니다. 해당 데이터를 조작하기위한 객체와 방법에 대한 데이터를 캡슐화합니다. 클래스는 데이터와 기능을 함께 묶는 수단을 제공하여 복잡한 프로그램을보다 쉽게 만들고 관리 할 수 있습니다.
Python에서 클래스를 정의하려면 class
키워드와 클래스 이름, 일반적으로 Camelcase의 이름을 사용합니다. 클래스 정의 내에서 방법과 속성을 정의 할 수 있습니다. 수업 정의의 간단한 예는 다음과 같습니다.
<code class="python">class Dog: def __init__(self, name, age): self.name = name self.age = age def bark(self): return "Woof!"</code>
수업을 인스턴스화하기 위해 클래스를 함수 인 것처럼 호출하여 클래스의 인스턴스를 만듭니다. 이 프로세스는 인스턴스화라고하며 클래스의 __init__
메소드를 호출하여 새 인스턴스를 설정합니다. Dog
수업의 인스턴스를 만드는 방법은 다음과 같습니다.
<code class="python">my_dog = Dog("Buddy", 5) print(my_dog.name) # Output: Buddy print(my_dog.age) # Output: 5 print(my_dog.bark()) # Output: Woof!</code>
파이썬 클래스의 주요 구성 요소는 다음과 같습니다.
Dog
클래스에서 name
과 age
속성입니다.bark
Dog
클래스의 메소드입니다.__init__
메서드) :이 특수 메소드는 클래스의 새 인스턴스가 생성 될 때 호출됩니다. 인스턴스의 속성을 초기화합니다. Dog
클래스에서 __init__
name
과 age
매개 변수로 취하여 속성으로 설정합니다.다음은 이러한 모든 구성 요소를 통합 한 예입니다.
<code class="python">class Dog: # Class variable species = "Canis familiaris" def __init__(self, name, age): # Instance attributes self.name = name self.age = age # Instance method def bark(self): return "Woof!" # Another instance method def description(self): return f"{self.name} is {self.age} years old."</code>
상속은 객체 지향 프로그래밍의 강력한 기능으로 클래스가 다른 클래스에서 속성과 메소드를 상속 할 수 있습니다. 이는 동일한 코드를 다시 작성하지 않고도 기존 클래스를 기반으로하는 새로운 클래스를 만들 수 있도록 코드 재사용을 촉진합니다.
파이썬에서 상속을 사용하려면 아동 클래스 이름 후에 부모 클래스를 괄호 안에 지정합니다. 예는 다음과 같습니다.
<code class="python">class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def __init__(self, name, breed): # Call the parent class's __init__ method super().__init__(name) self.breed = breed def speak(self): return "Woof!" class Cat(Animal): def __init__(self, name, color): super().__init__(name) self.color = color def speak(self): return "Meow!"</code>
이 예에서, Dog
Cat
Animal
로부터 물려받습니다. Dog
Cat
모두 name
속성과 speak
방법을 가지고 있지만 고유 한 특성과 행동도 가지고 있습니다. Child Classes ' __init__
방법에서 super().__init__(name)
호출은 부모 클래스의 초기화가 수행되도록합니다.
Python의 클래스 변수와 인스턴스 변수의 주요 차이점은 범위와 액세스 및 사용 방법입니다.
클래스 변수 : 클래스 변수는 클래스의 모든 인스턴스 중에서 공유됩니다. 클래스 내에서 정의되지만 모든 방법 외부. 클래스 변수는 클래스의 모든 인스턴스에 대해 동일한 데이터를 저장하는 데 유용합니다.
예:
<code class="python">class Dog: # Class variable species = "Canis familiaris" def __init__(self, name): self.name = name dog1 = Dog("Buddy") dog2 = Dog("Bella") print(dog1.species) # Output: Canis familiaris print(dog2.species) # Output: Canis familiaris # Changing the class variable affects all instances Dog.species = "Canis lupus familiaris" print(dog1.species) # Output: Canis lupus familiaris print(dog2.species) # Output: Canis lupus familiaris</code>
인스턴스 변수 : 인스턴스 변수는 클래스의 각 인스턴스마다 고유합니다. 클래스의 방법 내에서 일반적으로 __init__
방법 내에 정의되며 self
와 접두어가 있습니다. 인스턴스 변수는 인스턴스마다 다를 수있는 데이터를 저장합니다.
예:
<code class="python">class Dog: def __init__(self, name): # Instance variable self.name = name dog1 = Dog("Buddy") dog2 = Dog("Bella") print(dog1.name) # Output: Buddy print(dog2.name) # Output: Bella # Changing an instance variable only affects that instance dog1.name = "Max" print(dog1.name) # Output: Max print(dog2.name) # Output: Bella</code>
요약하면, 클래스 변수는 클래스의 모든 인스턴스 중에서 공유되는 반면 인스턴스 변수는 각 인스턴스에 따라 다릅니다.
위 내용은 파이썬의 클래스는 무엇입니까? 수업을 어떻게 정의하고 인스턴스화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!