Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
10-11 00:15
Archives
Today
Total
관리 메뉴

Developer_Neo

[python] 함수 정의, main문 , 지역변수와 전역변수(global키워드) 본문

프로그래밍/Python

[python] 함수 정의, main문 , 지역변수와 전역변수(global키워드)

_Neo_ 2022. 1. 16. 21:54
반응형

함수 정의

def 함수명(매개변수):
    print("함수의 정의에 해당")
    print("필요한 것들을 적으면 된다.")
    return 반환값

함수를 정의하기 전에 함수호출에 관한것을 적으면 컴퓨터가 에러를 낸다.

print('before hello')
hello() # ->에러 발생
print('after hello')

def hello():
    print("Hi")
    print("Nice to meet you")

 

main문

#main 또는 if__name__=='__main__': 으로 나타낸다.

mutable인 리스트, 집합, 사전이 인수로 넘어가는 경우, main과 함수가 객체를 공유함

 

함수의 반환값에서의 * 사용

*를 붙이면 나머지 모든 값을 의미하고 리스트 형으로 처리

‘=’ 왼쪽에 * 표현이 두 개 올 수가 없습니다

def calc(x, y): 
	a = x + y 
	b = x - y 
	c = x * y 
	d = x // y 
	e = x % y 
	return a, b, c, d, e
    
v, *w = calc(30, 7) 
# v=37 w=[23, 210, 4, 2]

 

지역변수와 전역변수

규칙 : 지역변수가 전역변수보다 우선 순위가 높음.

 

지역변수

- 함수 안에서 만든 변수로 함수 내에서만 사용가능

def local_var( ): 
	a = 10 # 지역변수
	print(a) 
# main 
print("start line") 
local_var( ) 
print(a) # 에러 발생

 

전역변수

- 어느 함수에도 속하지 않는 변수로 어디에서나 사용 가능

def test( ): 
	a = 10 # a는 지역변수입니다. 
	print(a, x) 
# main 
x = 100 # x는 전역변수로 어디에서나 사용 가능
test( ) 
print(x)

 

규칙의 예

def test( ): 
	a = 10 # 지역변수 a 
	print(a) # 지역변수 a의 값 10이 출력됩니다. 
# main 
a = 20 # 전역변수 a 
test( ) 
print(a)

'''
결과
10
20
'''

 

global키워드

def test( ): 
	global a # 변수 a가 전역변수 a라는 의미입니다.
	a = 10 # 전역변수 a를 10으로 업데이트합니다. 
	print(a) # 10이 출력됩니다.
# main 
a = 20 
test( ) 
print(a)

'''
결과
10
10
'''

전역변수를 10으로 업데이트 함

반응형
Comments