함수

정해진 명령어를 넣으면 호출

클래스

객체를 만드는데 상속자 있음

처리 상 필요한 것만 보여주고 수정하면 동작에 지장이 가는 것은 숨길 수 있다(캡슐화)

→ 오류가 나올 경우가 극히 줄어듦

지역변수

특정한 함수나 클래스에서만 사용할 수 있는 변수

전역변수

소스 코드 전체에 걸쳐 사용할 수 있는 변수

x = 10

def add1() :
	x = 20
	print(f"x = {x}") # 지역변수

add1()
print(f"x = {x}")   # 전역변수

x = 10

def add1() :
	global x          # 전역변수 선언 -> 좋지 않음 
	x = x + 20
	print(f"x = {x}") # 지역변수

add1()
print(f"x = {x}")   # 전역변수

def add1() :
	x = 10
	x = x + 20
	print(f"x = {x}") # 지역변수

add1()
print(f"x = {x}")   # 전역변수

오류나야 하는데 주피터 노트북 특성 상 오류가 나지 않음 → 껏다 다시 켜서 동작 시켜봐야 한다