updated_at: 2024-12-15 02:52

클래스

클래스 정의

class BusinessCard:
  pass

메소드 추가

class BusinessCard:
  def set_info(self, name, email, addr):
    self.name = name
    self.email = email
    self.addr = addr

생성자

class MyClass:
  def __init__(self):
    print("객체가 생성되었습니다.")

self

class Foo:
  def func1():
    print("function 1")
  def func2(self):
    print("function 2")

Foo 클래스의 func2 메서드는 메서드의 인자가 self뿐이므로 실제 메서드를 호출할 때는 인자를 전달할 필요가 없습니다.

f = Foo()
f.func2()

파이썬 메서드의 첫 번째 인자로 항상 인스턴스가 전달되기 때문에 발생하는 문제입니다

f.func1() // TypeError: func1() takes 0 positional arguments but 1 was given"

소멸자

class Account:
  num_accounts = 0
  def __init__(self, name):
    self.name = name
    Account.num_accounts += 1
  
  def __del__(self):
    Account.num_accounts -= 1

클라스 상속

class Parent:
  def can_sing(self):
    print("Sing a song")"

class LuckyChild(Parent):
  pass
평점을 남겨주세요
평점 : 2.5
총 투표수 : 1

질문 및 답글