파이썬 공부_함수_매개변수_점프투파이썬
#매개변수에 초기값 미리 설정하기
def say_myself(name,old,man=True):
print("나의 이름은 %s 입니다" %name)
print("나이는 %d 입니다" %old)
if man:
print("I am a man")
else:
print("I am a woman")
man=True 처럼 매개변수에 미리 값을 넣어 준 것이다. 이것이 바로 함수의 매개변수 초깃값을 설정하는 방법.
함수의 매개변수에 들어갈 값이 항상 변하는 것이 아닐 경우에는 함수 초깃값을 미리 설정해 두면 유용하다.
변수에는 입력값을 주지 않으면, 초기값 True를 갖게된다.
단, 초기값을 설정해 놓은 매개변수 뒤에 초기값을 설정해 놓지 않은 매개변수는 사용 할수 없다.
즉, 초기화 시키고 싶은 매개변수는 항상 '뒤쪽'에 놓는다는 것을 잊지 말자
#함수 안에서 선언한 변수의 효력 범위
함수안에서 새로만든 매개변수는 '함수 안에서만 사용하는' '함수만의 변수' 이기 때문에,
함수 안에서만 사용될 뿐 함수 밖에서는 사용 되지 않는다.
#함수 안에서 함수 밖의 변수를 변경 하는 방법
1. retrun 함수 사용하기
a=1
def vartest(a):
a=a+1
return a
a=vartest(a)
print(a)
여기에서도 물론 vartest 함수 안의 a 매개변수는 함수 밖의 a와는 다른 것.
2. global 명령어 사용하기
a=1
def vartest():
global a
a=a+1
vartest()
print(a)
*global a 문장은 함수 안에서 함수 밖의 a변수를 직접사용하겠다는 뜻
하지만 프로그래밍 할때 global 명령어는 사용하지 않는 것이 좋다. 왜냐하면 함수는 독립적으로 존재하는 것이 좋기 때문이다.
외부변수에 종속적인 함수는 좋은 함수가 아님
첫번재 방법 권고.