반응형
저는 객체 지향 프로그래밍에 대한 파이썬 클래스를 가르치고 있으며 클래스를 설명하는 방법을 닦으면서 빈 클래스 정의를 보았습니다.
class Employee:
pass
그런 다음이 클래스의 객체에 대한 이름과 기타 속성을 정의합니다.
john = Employee()
john.full_name = "john doe"
흥미 롭군요!
이와 같은 클래스의 인스턴스에 대한 함수를 동적으로 정의하는 방법이 있는지 궁금합니다. 같은 것 :
john.greet() = print 'Hello, World!'
이것은 내 Python 인터프리터에서 작동하지 않지만 다른 방법이 있습니까?
해결 방법
클래스는 객체에 대한 속성의 dict
를위한 다소 멋진 래퍼입니다. 클래스를 인스턴스화 할 때 속성에 할당 할 수 있으며 이러한 속성은 foo .__ dict __
에 저장됩니다. 마찬가지로 foo .__ dict __
에서 이미 작성한 모든 속성을 볼 수 있습니다.
즉, 다음과 같은 깔끔한 동적 작업을 수행 할 수 있습니다.
class Employee: pass
def foo(self): pass
Employee.foo = foo
특정 인스턴스에 할당합니다. (편집 : self
매개 변수 추가)
참조 페이지 https://stackoverflow.com/questions/6203995
반응형
'파이썬' 카테고리의 다른 글
파이썬 config.py에서 전역 구성 변수를 제공하는 대부분의 Pythonic 방법은 무엇입니까? (0) | 2020.10.01 |
---|---|
파이썬 거대한 텍스트 파일에서 특정 줄로 이동하는 방법은 무엇입니까? (0) | 2020.10.01 |
파이썬 현재 시간 10 분 후 datetime을 찾는 방법은 무엇입니까? (0) | 2020.10.01 |
파이썬에서 os.system ()의 반환 값은 무엇입니까? (0) | 2020.09.30 |
파이썬 장고 버전 확인 방법 (0) | 2020.09.30 |
댓글