본 강의 시리즈는 파이썬 입문 및 복습을 위한 강좌입니다. 모든 포스팅은 아래의 링크에서 확인가능합니다!
1강 - 변수와 자료형
2강 - 제어구조 ( if else 문)
3강 - 제어구조 ( for 문)
4강 - 제어구조 ( while 문)
5강 - 함수
6강 - 재귀함수
7강 - 람다 (lambda)
8강 - 문자열, 리스트
9강 - 튜플, 딕셔너리, 세트
10강 - 유용한 라이브러리
11강 - 클래스
12강 - 예외처리
자, 드디어 함수입니다! 파이썬에는 기본적으로 내장되어있는 함수들이 있다고 말씀드렸었는데요, 지금까지 언급된 print, input, map 등등의 함수는 이미 구현되어 특정 기능을 담당하고 있어요. 그래서 해당 기능을 사용할때 처음부터 다시 구현해서 작성하는 것이 아니라 그냥 함수명만 가져다 쓰면 되는거죠. 아주 편하쥬?
그래서 오늘은 함수를 한번 만들어 볼건데요, 덧셈을 해주는 함수를 한번 만들어보죠.
함수를 만들때는 두가지만 생각하시면 됩니다. 어떤 값을 입력값으로 넣을건지, 어떤 값을 output으로 뽑고 싶은지. 그래서 다음과 같이 구성되요.
def my_fun(매개변수):
.....
return 반환할 값
여기서 매개변수는 함수에 입력으로 넣어줄 값, 반환값은 출력값이라고 생각하시면 됩니다. 우리가 "덧셈" 함수를 만들려면, 매개변수로는 2개의 숫자가 들어와야되고, 반환값으로는 하나의 숫자를 내보내면 되겠죠?
def add(x,y):
return x+y
짜잔,.,.! 끝났습니다 ㅎㅎ 정말 쉬워요.
요렇게 사용할 수 있답니다. 지금은 함수의 길이가 짧아서 왜쓰는지 잘 모르실수도 있겠지만!! 저 함수를 구현하는데에 1억줄이 든다면! 아주 유용하겠죠??
지역변수와 전역변수
함수를 배우면 또 같이 배워야 되는게 있습니다. 바로 지역변수, 전역변수인데요, 일단 이름만 들어도 조금 어지러워요. 쉽게 한줄로 말하면 이겁니다.
함수 안에서 생성된 변수는 함수가 종료되면 같이 없어진다, 즉 함수 밖에서 못쓴다
예시를 보시죠.
test 함수 내에 선언된 변수 a는 지역변수로써 함수밖에서 print를 하려해보니 정의되지 않았다는 오류가 뜹니다. 반면 전역변수의 경우를 보시죠.
test_num 변수가 함수 안에서도 정상적으로 작동하는 것을 보실 수 있습니다!
오늘은 함수에 대해 배워봤는데요, 사실 함수는 프로그래머가 쓰기 나름이라 모든 문제에서 사용이 가능합니다.
연습문제
https://www.acmicpc.net/problem/11057
'컴퓨터공학 > 파이썬 입문' 카테고리의 다른 글
[노베이스, 취준생을 위한 파이썬] - 7강 lambda (0) | 2022.07.12 |
---|---|
[노베이스, 취준생을 위한 파이썬] - 6강 재귀함수 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 4강 while 문 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 3강 for문 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 2강 if 문 (0) | 2022.07.12 |