Python의 정적 클래스 변수

Lakshay Kapoor 2023년1월30일
  1. staticmethod()를 사용하여 Python에서 정적 변수 정의
  2. @staticmethod를 사용하여 Python에서 정적 변수 정의
Python의 정적 클래스 변수

Python의 정적 변수는 메서드가 아닌 정의 된 클래스 내부에서 선언 된 변수입니다. 이 변수는 정의 된 클래스를 통해 호출 할 수 있지만 직접 호출 할 수는 없습니다. 정적 변수는 클래스 변수라고도합니다. 이러한 변수는 클래스에 한정되어 있으므로 개체의 상태를 변경할 수 없습니다.

이 튜토리얼은 파이썬에서 정적 변수를 정의하는 다양한 방법을 보여줍니다.

staticmethod()를 사용하여 Python에서 정적 변수 정의

Python의staticmethod()는 주어진 함수에 대한 정적 변수를 반환하는 데 사용되는 내장 함수입니다.

이 방법은 이제 파이썬에서 정적 변수를 정의하는 오래된 방법으로 간주됩니다.

예:

class StaticVar:
    def random(text):

        print(text)
        print("This class will print random text.")


StaticVar.random = staticmethod(StaticVar.random)

StaticVar.random("This is a random class.")

출력:

This is a random class.
This class will print random text.

여기에서 먼저StaticVar라는 클래스를 만듭니다. 프로그램에서staticmethod()함수를 사용하여random이라는 변수를 클래스 외부의 정적 변수로 선언합니다. 이에 따라StaticVar클래스를 사용하여random()을 직접 호출 할 수 있습니다.

@staticmethod를 사용하여 Python에서 정적 변수 정의

@staticmethod는 정적 변수를 정의하는 현대적이고 가장 많이 사용되는 방법입니다. @staticmethod는 Python에 내장 된 데코레이터입니다. 데코레이터는 초기 구조를 변경하지 않고 이미 존재하는 객체에 새로운 기능을 만드는 데 사용되는 Python에서 설계된 패턴입니다. 따라서@staticmethod 데코레이터는 파이썬에서 클래스 내부에 정적 변수를 정의하는 데 사용됩니다.

예:

class StaticVar:
    @staticmethod
    def random(text):
        # show custom message
        print(text)
        print("This class will print random text.")


StaticVar.random("This is a random class.")

출력:

This is a random class.
This class will print random text.

@staticmethod데코레이터는 정적 변수random을 정의하기 전에 정의됩니다. 이로 인해StaticVar클래스를 통해 끝에random변수를 쉽게 호출 할 수 있습니다.

또한 두 메서드 모두에서random변수를 정의하는 동안 함수 속성 및 메서드에 액세스하는 데 사용되는self인수를 사용하지 않습니다. 정적 변수는 객체를 통해 작동하지 않기 때문입니다.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

관련 문장 - Python Class