Python의 정적 클래스

Hemank Mehtani 2023년1월30일
  1. @staticmethod 데코레이터를 사용하여 Python에서 정적 클래스 생성
  2. @classmethod 데코레이터를 사용하여 Python에서 정적 클래스 생성
  3. 모듈 파일을 사용하여 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

관련 문장 - Python Class