★def 함수

- 함수를 만들때 사용하는 예약어.

- 함수명은 함수를 만드는 사람이 임의로 만들 수 있다.

 

" 이 함수의 함수명은 sum이고 입력 인수로 2개의 값을 받으며 결과핪은 2개의 입력값을 더한 값이다"

 

return - 결과 값을 돌려주는 명령어.

 

★입력값이 없는 함수

박스안에만 출력하면 아무것도 안나온다 그러므로 아래같이 코딩을 해줘야 출력이 나온다.

 

★결과 값이 없는 함수

마지막 문장 sum(숫자,숫자)를 지정해줘야 출력이 나온다.

 

★입력값도 결과값도 없는 함수

 

★여러 개의 입력값을 받는 함수 만들기

ex)여러 개의 입력받을 모두 더하는 함수를 직접 만들어 보자

sum_num라는 함수는 입력값이 몇개든 상관이 없다. *args처럼 입력 변수명 앞에 *을 붙이면

입력값들을 전부 모아서 튜플로 만들어 주기 때문이다.

*args는 임의 변수지만 관례적으로 자주 사용한다

range 함수 접근 실패

 

def sum_num(*args)처럼 함수의 인수로 *args(*입력 변수)만 사용할수 있는 것은 아니다

 

내가 만들어본 코드다.

 

★return의 또 다른 쓰임새

return문을 만나는 순간 결과 값을 돌려준 다음 함수를 빠져나가게 된다

 

또 다른 예제

입력 인수가 name,old, man=True 3개다.

man=True 는 함수의 인수 초깃값을 설정하는 방법이다.

주의 man=True는 마지막에 써야한다. 

 

★함수 안에서 선언된 변수의 효력 범위

2가 출력되어야 할것 같지만 결과값은 1로 나온다. 그 이유는 함수 안에서 새로 만들어진

변수는 함수 안에서만 사용되는 "함수만의 변수"이기 때문이다. 밖의 변수는 아니다.

 

print(a)에서 에러가 발생한다. 이유는 a라는 변수를 어디에서도 찾을수 없기 때문.

 

★함수 안에서 함수 밖의 변수를 변경하는 방법

1.return 이용

 

2.global 이용

프로그래밍 할때 global명령어는 사용하지 않는게 좋다. 독집적으로 존재하는 것이 좋기 때뭄ㄴ이다.

외부 변수에 종속적인 함수는 좋은 함수가 아니다.

첫번째 return 방법 사용을 권한다.

'Python > Python' 카테고리의 다른 글

Python-Class  (0) 2017.06.08
Python-파일 읽고쓰기  (0) 2017.06.06
Python-조건문(if문),반복문  (0) 2017.06.02
Python-딕셔너리,집합(자료형)  (0) 2017.05.30
Python-리스트,튜플(자료형)  (0) 2017.05.29

+ Recent posts