[PYTHON] 파이썬 클래스에서 메소드를 정렬하는 좋은 방법은 무엇입니까?
PYTHON파이썬 클래스에서 메소드를 정렬하는 좋은 방법은 무엇입니까?
파이썬 클래스에서 메소드를 주문하려고하지만 올바른 순서가 무엇인지 알지 못합니다.
PyDev를 사용하여 Eclipse에서 메소드를 추출 할 때 Eclipse는 추출 된 메소드를 수정 된 메소드 위에 놓는다. 그러나 이것은 더 낮은 수준의 세부 사항을 높은 수준의 세부 사항 앞에 놓습니다. Bob 삼촌에 따르면 나는 그 코드를 신문의 헤드 라인과 같이 읽을 수 있도록 반대를해야합니다. 내가 자바 프로그래밍을 할 때 나는 그의 조언을 따른다.
파이썬의 모범 사례는 무엇입니까?
해결법
-
==============================
1.다른 사람들이 지적했듯이, 당신의 방법을 주문할 올바른 방법은 없습니다. 어쩌면 PEP 제안이 유용 할 수도 있습니다. 가능한 한 객관적으로 질문에 접근하겠습니다.
다른 사람들이 지적했듯이, 당신의 방법을 주문할 올바른 방법은 없습니다. 어쩌면 PEP 제안이 유용 할 수도 있습니다. 가능한 한 객관적으로 질문에 접근하겠습니다.
희망이 도움이됩니다. 이러한 규칙의 대부분은 파이썬에 한정되지 않습니다. 메소드 순서를 시행하는 언어에 대해서는 잘 모르겠다. 그렇다면 매우 흥미롭고 논평 해주세요.
-
==============================
2.올바른 순서는 없습니다. 시스템을 골라서 붙잡아 라. 내가 사용하는 것은 :
올바른 순서는 없습니다. 시스템을 골라서 붙잡아 라. 내가 사용하는 것은 :
class SomeClass(object): def __magic_methods__(self): "magic methods first, usually in alphabetical order" def _private_method(self): "worker methods next, also in alpha order" def a_method(self): "then normal methods, also in alpha order"
-
==============================
3.나는 Django의 소스에서 보았던 @Ethan과 비슷한 것을한다. 가장 큰 차이점은 "##########"블록 주석으로 영역을 구분한다. 예를 들어,
나는 Django의 소스에서 보았던 @Ethan과 비슷한 것을한다. 가장 큰 차이점은 "##########"블록 주석으로 영역을 구분한다. 예를 들어,
class SomeClass(object): ################# # Magic Methods # ################# def __magic_methods__(self): "magic methods first" ################## # Public Methods # ################## def a_method(self): "then normal methods, in order of importance" ################### # Private Methods # ################### def _private_method(self): "then worker methods, grouped by importance or related function"
분명히 이것은 소규모 클래스에는 유용하지 않습니다.
from https://stackoverflow.com/questions/10289461/what-is-a-good-way-to-order-methods-in-a-python-class by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Matplotlib 축 범례의 글꼴 크기를 설정하는 방법? (0) | 2018.10.19 |
---|---|
[PYTHON] ImproperlyConfigured : 설정에 액세스하기 전에 환경 변수 DJANGO_SETTINGS_MODULE을 정의하거나 settings.configure ()를 호출해야합니다. (0) | 2018.10.19 |
[PYTHON] 파이썬 : "튜플 목록"을 1 개의 평면 목록 또는 1 개의 매트릭스로 변환합니다. (0) | 2018.10.19 |
[PYTHON] 지역 ()을 사용하는 파이썬 사전 이해력은 KeyError를 제공합니다. (0) | 2018.10.19 |
[PYTHON] 파이썬 - 두 문자열 간의 차이점 (0) | 2018.10.19 |