Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 인스턴스 객체 생성

<시간/>

클래스의 인스턴스를 생성하려면 클래스 이름을 사용하여 클래스를 호출하고 __init__ 메서드가 허용하는 모든 인수를 전달합니다.

"This would create first object of Employee class"
emp1 = Employee("Zara", 2000)
"This would create second object of Employee class"
emp2 = Employee("Manni", 5000)

객체와 함께 점 연산자를 사용하여 객체의 속성에 액세스합니다. 클래스 변수는 다음과 같이 클래스 이름을 사용하여 액세스됩니다. -

emp1.displayEmployee()
emp2.displayEmployee()
print "Total Employee %d" % Employee.empCount

이제 모든 개념을 통합하여 -

#!/usr/bin/python
class Employee:
   'Common base class for all employees'
   empCount = 0
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   def displayCount(self):
   print "Total Employee %d" % Employee.empCount
   def displayEmployee(self):
      print "Name : ", self.name, ", Salary: ", self.salary
"This would create first object of Employee class"
emp1 = Employee("Zara", 2000)
"This would create second object of Employee class"
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print "Total Employee %d" % Employee.empCount

출력

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다 -

Name : Zara ,Salary: 2000
Name : Manni ,Salary: 5000
Total Employee 2

언제든지 클래스 및 개체의 속성을 추가, 제거 또는 수정할 수 있습니다. −

emp1.age = 7 # Add an 'age' attribute.
emp1.age = 8 # Modify 'age' attribute.
del emp1.age # Delete 'age' attribute.

속성에 액세스하기 위해 일반 명령문을 사용하는 대신 다음 기능을 사용할 수 있습니다. -

  • getattr(obj, name[, default]) - 개체의 속성에 액세스합니다.
  • hasattr(obj,name) - 속성이 존재하는지 여부를 확인하기 위해.
  • setattr(obj,name,value) - 속성을 설정합니다. 속성이 없으면 생성됩니다.
  • delattr(obj, 이름) - 속성을 삭제합니다.
hasattr(emp1, 'age') # Returns true if 'age' attribute exists
getattr(emp1, 'age') # Returns value of 'age' attribute
setattr(emp1, 'age', 8) # Set attribute 'age' at 8
delattr(empl, 'age') # Delete attribute 'age'