반응형
파일 린트 메시지 처리 방법 : 경고 : 메서드가 함수일 수 있음
나는 파이썬 클래스를 가지고 있고 그것에 대해 pylint를 실행했습니다. 한 가지 메시지는 다음과 같습니다.
Warning: Method could be a function
이것은 인스턴스 변수를 사용하지 않기 때문에이 메서드를 클래스 밖으로 옮기는 것이 더 낫다는 의미입니까?
C #에서는 이것을 정적 메서드로 만들 것입니다. 여기서 할 가장 비단뱀적인 일은 무엇입니까?
클래스를 전혀 건드리지 않으면 함수로 옮기는 것이 일반적입니다.
클래스 속성을 조작하는 경우 classmethod
데코레이터를 사용하십시오 .
@classmethod
def spam(cls, ...):
# cls is the class, you can use it to get class attributes
classmethod
그리고 staticmethod
아주 최근에 도입되었다 (이전과 동일하다, 상기 방법은 첫 번째 파라미터와 클래스에 대한 참조를하지 않는 것을 제외). 이는 일부 Python 프로그래머가 정적 및 클래스 메서드를 피하는 데 사용된다는 것을 의미합니다.
일부 하드 코어 파이썬 프로그래머는 이러한 데코레이터가 일을 복잡하게한다고 말할 것입니다. 다른 사람들 (보통 이전 C # 또는 Java 프로그래머)은 함수를 사용하는 것이 객체 지향적이지 않다고 말할 것입니다. 나는 그것은 단지 선호의 문제라고 생각합니다.
반응형
'Programing' 카테고리의 다른 글
std 네임 스페이스를 전문화 할 수있는 것과 할 수없는 것은 무엇입니까? (0) | 2020.12.31 |
---|---|
URI 매개 변수 값을 어떻게 인코딩합니까? (0) | 2020.12.31 |
Javascript에 소수점 두 개를 추가하면 잘못된 결과가 생성되는 이유는 무엇입니까? (0) | 2020.12.31 |
다중 처리의 공유 메모리 (0) | 2020.12.31 |
템플릿 인수 대체 순서가 중요한 이유는 무엇입니까? (0) | 2020.12.31 |