728x90
반응형

static 3

파이썬에서 정적 클래스 변수를 사용하는 방법

질문 : 파이썬에서 정적 클래스 변수가 가능합니까? 파이썬에서 정적 클래스 변수 나 메서드를 가질 수 있습니까? 이를 수행하려면 어떤 구문이 필요합니까? 답변 클래스 정의 내부에서 선언되었지만 메서드 내부가 아닌 변수는 클래스 또는 정적 변수입니다. >>> class MyClass: ... i = 3 ... >>> MyClass.i 3 @ millerdev가 지적했듯이 이것은 클래스 수준 i 변수를 생성하지만 인스턴스 수준 i 변수와 구별되므로 다음을 가질 수 있습니다. >>> m = MyClass() >>> m.i = 4 >>> MyClass.i, m.i >>> (3, 4) 이는 C ++ 및 Java와 다르지만 인스턴스에 대한 참조를 사용하여 정적 멤버에 액세스 할 수없는 C #과 크게 다르지 않습니다..

함수 내부의 정적 변수에 해당하는 Python

질문 : 함수 내부의 정적 변수에 해당하는 Python은 무엇입니까? 이 C / C ++ 코드와 동등한 관용적 Python은 무엇입니까? void foo() { static int counter = 0; counter++; printf("counter is %d\n", counter); } 특히, 클래스 수준이 아닌 함수 수준에서 정적 멤버를 어떻게 구현합니까? 함수를 클래스에 배치하면 어떤 변화가 있습니까? 답변 약간 반전되었지만 작동합니다. def foo(): foo.counter += 1 print "Counter is %d" % foo.counter foo.counter = 0 카운터 초기화 코드를 하단 대신 상단에 배치하려면 데코레이터를 만들 수 있습니다. def static_vars(**kwa..

[JAVA] 자바의 Static

static 정적(static) 멤버 변수 = 클래스 멤버 변수 클래스가 메모리(메서드 영역)에 로딩될 때 함께 로딩되는 멤버변수 인스턴스 생성과 상관없음 인스턴스 생성 없이 클래스명만으로 접근 가능 클래스명.정적멤버변수명 또는 클래스명.정적메서드명() 정적 멤버변수의 경우 모든 인스턴스에서 하나의 값을 공유함 공유 메모리 공간을 사용하므로 모든 인스턴스가 주소값 공유 로컬변수는 메서드 호출 및 종료와 관계있고 인스턴스변수는 인스턴스 생성 및 소멸과 관계있고, 클래스변수는 클래스 로딩(프로그램 시작) 및 클래스 제거(프로그램 종료)와 관계있다. class StaticEx { static int a = 10; // 클래스(static = 정적) 멤버변수 선언 int b = 20; // 인스턴스 멤버변수 선..

728x90
반응형