Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 클래스 또는 정적 변수?

<시간/>

클래스 내부에 있지만 메서드 외부에 있는 변수를 선언하면 python.Class에서 클래스 또는 정적 변수로 호출됩니다. 또는 정적 변수는 클래스를 통해 참조할 수 있지만 인스턴스를 통해 직접 참조할 수는 없습니다.

클래스 또는 정적 변수는 동일한 이름을 가진 다른 멤버 변수와 매우 다르며 충돌하지 않습니다. 다음은 클래스 또는 정적 변수의 사용을 보여주는 프로그램입니다. -

예시

class Fruits(object):
count = 0
def __init__(self, name, count):
self.name = name
self.count = count
Fruits.count = Fruits.count + count

def main():
apples = Fruits("apples", 3);
pears = Fruits("pears", 4);
print (apples.count)
print (pears.count)
print (Fruits.count)
print (apples.__class__.count) # This is Fruit.count
print (type(pears).count) # So is this

if __name__ == '__main__':
main()
도 마찬가지입니다.

결과

3
4
7
7
7

클래스 수준에서 정의된 변수의 사용을 보여주는 또 다른 예 -

예시

class example:
staticVariable = 9 # Access through class

print (example.staticVariable) # Gives 9

#Access through an instance
instance = example()
print(instance.staticVariable) #Again gives 9

#Change within an instance
instance.staticVariable = 12
print(instance.staticVariable) # Gives 12
print(example.staticVariable) #Gives 9

출력

9
9
12
9