Python 객체 지향 프로그래밍 입문
George Boorman
Curriculum Manager, DataCamp
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
emp1 = Employee("Teo Mille", 50000)
emp2 = Employee("Marta Popov", 65000)
name과 salary 값은 각 객체에 고유합니다self는 객체에 할당합니다
class 본문에 클래스 속성을 정의합니다
class Employee: # 클래스 속성 정의 # self. 문법 없음 MIN_SALARY = 30000def __init__(self, name, salary): self.name = name # 클래스 이름으로 # 클래스 속성 접근 if salary >= Employee.MIN_SALARY: self.salary = salaryelse: self.salary = Employee.MIN_SALARY
MIN_SALARY는 모든 인스턴스가 공유합니다self를 쓰지 않습니다ClassName.ATTR_NAME 사용class Employee: # 클래스 속성 정의 MIN_SALARY = 30000def __init__(self, name, salary): self.name = name # 클래스 이름으로 # 클래스 속성 접근 if salary >= Employee.MIN_SALARY: self.salary = salary else: self.salary = Employee.MIN_SALARY
emp1 = Employee("John", 40000)
print(emp1.MIN_SALARY)
30000
emp2 = Employee("Jane", 60000)
print(emp2.MIN_SALARY)
30000
emp1 = Employee("John", 40000) emp2 = Employee("Jane", 60000)# emp1의 MIN_SALARY 업데이트 emp1.MIN_SALARY = 50000# 두 직원의 MIN_SALARY 출력 print(emp1.MIN_SALARY) print(emp2.MIN_SALARY)
50000
30000
MIN_SALARY는 클래스 정의에서 생성됩니다
MIN_SALARY를 업데이트해도 클래스 정의의 값은 바뀌지 않습니다
Database 클래스의 host, portPython 객체 지향 프로그래밍 입문