파이썬 글로벌 변수 (Python Global Variable)
파이썬변수란?
프로그래밍에서 변수는 메모리이다. 어떤 값을 저장하는 공간이다.
글로벌 변수란?
프로그램에서 변수는 지역변수(local variable)와 전역변수(global variable)가 있다.
지역변수는 함수안에서 사용되는 변수다,
전역변수는 프로그램 전체에서 사용되는 변수다.
전역변수는 프로그램에서 최대한 적게 사용해야 한다. 왜냐하면 프로그램이 커지면 디버깅할 때 추적하는 것이 힘들어 질수 있기 때문이다.
아래에 예제 코딩이 있다.
파이썬은 전역변수를 함수 안에서 사용하기 위해서는 "global" 선언을 해주어야 한다.
예제
import matplotlib.pyplot as plt
from matplotlib.widgets import Button
class Show:
def __init__(self, line, x):
self.line = line
self.x = x
self.cid = line.figure.canvas.mpl_connect('button_press_event', self)
def __call__(self, event):
print self.x
class Click:
def __init__(self, line):
self.line = line
self.cid = line.figure.canvas.mpl_connect('button_press_event', self)
def __call__(self, event):
global x #글로벌 변수
x = 1
class Index(object):
def __init__(self):
pass
def click(self, event):
Click(line)
def show(self, event):
Show(line, x)
if __name__ == '__main__':
x = [] #글로벌 변수
fig = plt.figure()
ax = fig.add_subplot(2,1,1)
plt.subplots_adjust(bottom=0.2)
line, = ax.plot([0], [0])
callback = Index()
axclick = plt.axes([0.7, 0.05, 0.1, 0.075])
bclick = Button(axclick, 'click')
bclick.on_clicked(callback.click)
axshow = plt.axes([0.81, 0.05, 0.1, 0.075])
bshow = Button(axshow, 'show')
bshow.on_clicked(callback.show)
plt.show()
'파이썬' 카테고리의 다른 글
파이썬 matplotlib 마우스 선 그리기 (0) | 2017.08.18 |
---|---|
파이썬 16진수를 십진수 실수로 변환하기 python hex to double (0) | 2017.08.18 |
파이썬 클래스 init 변수 입력 주의 사항 (0) | 2017.08.18 |
파이썬 matplotlib를 사용하여 그래프(plot)를 회전 시킨다.(Rotate plot through python) (0) | 2017.08.18 |
목차 (0) | 2017.08.18 |