Python 클래스와 객체

Python 클래스/객체

Python은面向对象的编程语言입니다.

Python에서 거의 모든 것이 객체이며, 속성과 메서드를 가집니다.

클래스(Class)는 객체 생성자와 유사하거나, 객체를 생성하는 "플랜"입니다.

클래스 생성

클래스를 생성하려면 다음을 사용합니다: class 키워드:

예제

x 이름의 속성을 사용하여 MyClass 이름의 클래스를 생성합니다:

class MyClass:
  x = 5

실행 예제

객체 생성

지금으로서는 myClass 이름의 클래스를 사용하여 객체를 생성할 수 있습니다:

예제

p1 이름의 객체를 생성하고 x의 값을 출력합니다:

p1 = MyClass()
print(p1.x)

실행 예제

__init__() 함수

위의 예제는 가장 간단한 형태의 클래스와 객체이며, 실제 애플리케이션에서는 실제로 유용하지 않습니다.

클래스의 의미를 이해하려면, 먼저 내장된 것을 이해해야 합니다. __init__() 함수.

모든 클래스는 __init__() 이름의 함수를 가지고 있으며, 클래스를 시작할 때 항상 실행됩니다.

__init__() 함수를 사용하여 객체 속성에 값을 할당하거나, 객체를 생성할 때 필요한 다른 작업을 수행합니다:

예제

Person 이름의 클래스를 생성하고 __init__() 함수를 사용하여 name과 age에 값을 할당합니다:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Person("Bill", 63)
print(p1.name)
print(p1.age)

실행 예제

주의:또한, 클래스를 사용하여 새로운 객체를 생성할 때마다자동 호출됨 __init__() 함수.

객체 메서드

객체는 메서드를 포함할 수 있습니다. 객체의 메서드는 해당 객체에 belongs하는 함수입니다.

让我们在 Person 클래스에서 메서드를 생성합니다:

예제

가볍게 인사말을 출력하는 함수를 추가하고 p1 객체에서 이를 실행합니다:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def myfunc(self):
    print("Hello my name is " + self.name)
p1 = Person("Bill", 63)
p1.myfunc()

실행 예제

알림:self 参数는 현재 인스턴스에 대한 클래스의 참조이며, 해당 클래스의 변수에 접근하는 데 사용됩니다.

self 매개변수

self 매개변수는 클래스의 현재 인스턴스에 대한 참조이며, 클래스에 속하는 변수에 접근하는 데 사용됩니다.

그 이름이命名为 필요하지 않습니다 self، 그것을 자유롭게 호출할 수 있습니다. 하지만 그것은 클래스 내의 어떤 함수의 매개변수로도 사용되어야 합니다.첫 번째 매개변수

예제

mysillyobject과 abc 대신 단어 self를 사용합니다:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age
  def myfunc(abc):
    print("Hello my name is " + abc.name)
p1 = Person("Bill", 63)
p1.myfunc()

실행 예제

객체 속성 수정

객체 속성을 수정할 수 있는 방법으로는 이렇게 할 수 있습니다:

예제

p1의 나이를 40으로 설정합니다:

p1.age = 40

실행 예제

객체 속성 제거

사용할 수 있습니다 del 키워드로 객체 속성 제거:

예제

p1 객체의 age 속성을 제거합니다:

del p1.age

실행 예제

객체 제거

사용 del 키워드로 객체 제거:

예제

p1 객체를 제거합니다:

del p1

실행 예제

pass 문

클래스 정의는 비어 있을 수 없습니다. 하지만 무엇인가의 이유로 비내용의 클래스 정의 문장을 작성하면, 오류를 방지하기 위해 pass 문을 사용할 수 있습니다.

예제

class Person:
  pass

실행 예제