함수 - 특정한 인자값을 입력받아 처리를 한 후에, 특정한 출력을 하는 모듈
함수를 이용하면 특정한 소스코드의 '반복을 줄일 수' 있다
양식으로는
이런식으로 def가 오고 그다음 함수명 그다음 괄호안에 인자값이 온 후 콜론 ( : )으로 닫아준다
그 이후에는 들여쓰기를 한 후 함수의 내용이 나온다.
간단한 덧셈함수
인자값과 반환값은 있을수도 없을수도 있다.
또한, 파이썬에서는 가변인자라는 개념이 들어간다
이는 함수의 매개변수가 가변적일 수 있을때 사용하는데
이처럼 인자값 앞에 *를 붙여주면 매개변수의 개수를 가변적으로 설정할 수 있다.
여기서 가변인자 함수를 통해 출력된 값은 튜플형태로 출력되는것을 알 수 있다.
이어서 전역변수와 지역변수에 대해 알아보자
전역변수란 '소스코드 어디에서든지 사용 가능한 변수임과 동시에 프로그램의 시작과 끝을 함께하며'
지역변수는 '특정한 블럭 내에서만 사용 가능한 변수로 가령 특정함수 내에서 선언되었다면 그 함수가 시작될때 메모리 공간에 할당되고 종료될때 사라진다'
가령 위와 같은 예제가 있다고 하면
add함수에 인자로 2가 전달되어 print(a)했을때 7이 나올것같지만
add함수 내의 a는 지역변수이고 따로 return되는 값도 없기때문에 print(a)는 그대로 2가 나오게 된다
이때, global이라는 키워드를 사용하면 전역변수로 선언된 변수를 특정 블럭 내에서 사용할 수 있다.
위의 예시에서 빨간줄로 Error가 나는데 이는 이미 전역변수 a = 2가 선언되어있음에도 불구하고
add함수에서 매개변수로 a라는 이름의 지역변수를 선언했기때문에 이름이 중복된다는 에러이다.
그렇기 때문에 위를 아래와 같이 수정한다
정상적으로 7이 출력되는걸 볼 수 있다.
또 파이썬의 함수는 반환값이 여러개일 수 있다는 특징이 있다.
20. 클래스(Class)와 상속 (0) | 2020.10.06 |
---|---|
19. 모듈에 관하여(패키지, 라이브러리, from, import) ★중요★ (0) | 2020.10.05 |
17. 시퀀스 자료형 (0) | 2020.10.05 |
16. 튜플 (0) | 2020.10.05 |
15. 파이썬의 연산자 (0) | 2020.10.05 |