Python의 정적 클래스
-
@staticmethod
데코레이터를 사용하여 Python에서 정적 클래스 생성 -
@classmethod
데코레이터를 사용하여 Python에서 정적 클래스 생성 - 모듈 파일을 사용하여 Python에서 정적 클래스 만들기
정적 클래스는 프로그래밍에서 편리한 기능입니다. 정적 클래스는 상속될 수 없으며 인스턴스화할 수 없습니다. 클래스를 정적으로 만드는 직접적인 방법은 없습니다. 파이썬에서는 메서드와 변수를 정적으로 만들어 정적 클래스를 구현할 수 있습니다.
이 기사에서는 그러한 방법을 구현할 것입니다.
@staticmethod
데코레이터를 사용하여 Python에서 정적 클래스 생성
정적 클래스를 구현하기 위해 메서드와 변수를 정적으로 만들 수 있습니다. 이를 위해 @staticmethod
데코레이터를 사용하여 static 클래스에서 메서드를 생성할 수 있습니다. 데코레이터는 함수 앞에 지정된 특수 함수이며 전체 함수를 매개변수로 사용합니다.
예를 들어,
class abc(object):
@staticmethod
def static_method():
print("Hi,this tutorial is about static class in python")
abc.static_method()
출력:
Hi,this tutorial is about static class in python
이 방법은 Python 2.6보다 높은 버전에서만 작동합니다.
@classmethod
데코레이터를 사용하여 Python에서 정적 클래스 생성
@classmethod
는 메서드를 해당 개체가 아닌 클래스에 대해 정적으로 만들 수 있습니다. @staticmethod
데코레이터에 비해 몇 가지 장점이 있습니다. 또한 하위 클래스와 함께 작동하며 클래스 상태를 수정할 수 있습니다.
그러나 cls
라는 메서드에 포함되어야 하는 필수 인수가 필요합니다.
다음 코드를 참조하십시오.
class abc(object):
@classmethod
def static_method(cls):
print("Hi,this tutorial is about static class in python")
abc.static_method()
출력:
Hi,this tutorial is about static class in python
모듈 파일을 사용하여 Python에서 정적 클래스 만들기
Python에서 정적 클래스를 구현하는 가장 좋은 방법은 모듈을 만드는 것입니다. 모듈을 가져올 수 있으며 해당 기능은 모듈 이름을 사용하여 액세스할 수 있습니다. 인스턴스화할 개체가 필요하지 않으며 상속될 수 없습니다.
다음 예를 참조하십시오.
def static_method():
print("Hi this is the content of the module file")
위의 코드는 모듈로 가져올 수 있는 Python 스크립트의 간단한 함수일 수 있습니다.
예를 들어 위의 Python 스크립트 이름이 abc.py
인 경우 아래와 같이 할 수 있습니다.
import abc
abc.static_method()
출력:
Hi,this tutorial is about static class in python