출처: https://galid1.tistory.com/306 [배움이 즐거운 개발자]
출처: https://sosoeasy.tistory.com/282
a =5
b = 6
def sum():
a = 10
global b
b = 10
print(f"sum 함수 안 지역변수 a:{a}")
print(f"sum 함수 안 global변수 b:{b}")
sum()
print(f"sum 함수 밖 전역변수 a:{a}")
print(f"sum 함수 밖 global변수 b:{b}")
# 클래스의 static 변수와 객체 변수 생성.
# 객체 2개 생성
class cLaSs2:
var1 = "static var1"
def __init__(self):
self.var2 = "obj var2"
print(f"객체 생성{self}. 객체 변수: {self.var2}. 클래스 변수:{cLaSs2.var1}")
Tclass1 = cLaSs2()
Tclass2 = cLaSs2()
# 클래스와 객체로 static 변수 참조
print("클래스로 static 참조: "+cLaSs2.var1)
print("객체1로 static 참조: "+Tclass1.var1)
# 객체로 참조하여 static 변수 값 변경
Tclass1.var1 = "obj var1"
print("객체1의 static 변경: "+Tclass1.var1)
# 값 확인
print("클래스로 static 참조: "+cLaSs2.var1)
print("객체1로 static 참조: "+Tclass1.var1)
# 클래스 변수 변경 없음. 두번째 객체로 static 변수 참조
print("클래스로 static 참조: "+cLaSs2.var1)
print("객체2로 static 참조: "+Tclass2.var1)
# 값 변경
Tclass2.var1 = "obj var1"
print("객체2의 static 변경: "+Tclass2.var1)
# 동일한 이름으로 클래스 변수, 객체 변수 생성
print("클래스로 static 참조: "+cLaSs2.var1)
print("객체1로 static 참조: "+Tclass1.var1)
print("객체2로 static 참조: "+Tclass2.var1)