Developer_Neo
[python] 함수 정의, main문 , 지역변수와 전역변수(global키워드) 본문
반응형
함수 정의
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으로 업데이트 함
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] 파일 입출력 (0) | 2022.01.16 |
---|---|
[python] 람다함수 및 파이썬 내장함수 (0) | 2022.01.16 |
[python] 사전 만들기, 연산자, 함수, 메소드 (0) | 2022.01.16 |
[python] 얕은 복사 VS 깊은 복사 (0) | 2022.01.16 |
[python] 반복문 (while, for) (0) | 2022.01.16 |
Comments