Login

Search

Learn 🇰🇷
2022.09.01 19:12

3.1 함수

Views 71 Votes 0 Comment 0

지금까지는 코드를 한 줄, 한 줄 입력해서 결과를 보긴 했지만, 컴퓨터에게 일을 시키는 건지, 우리가 일을 하는 건지 헷갈릴 정도로 귀찮으셨을 거예요. 오늘 배우실 함수를 아시고 나면 프로그래밍이 좀 더 즐거워지지 않을까 싶네요. 그럼 시작해 볼까요?

 

[1, 2, 3, 4, 5]라는 리스트가 있다고 해볼게요. 이 리스트에는 원소가 몇 개 있을까요?

예, 5개입니다.

이번엔 [3, 4, 62, 27, 83, 956, 26, 58, 3, 78, 168, 64, 78]이라는 리스트가 있다고 칩시다. 원소가 넘 많으니까 a_list라는 이름을 붙여놓도록 하죠.

>>> a_list = [3, 4, 62, 27, 83, 956, 26, 58, 3, 78, 168, 64, 78]


 

 

이 리스트엔 원소가 몇 개 있을까요? 

len()이라는 것, 기억나시나요?

len()은 리스트에 들어있는 원소 개수, 그러니까 리스트의 크기를 알려주죠. 이 len()이 바로 '함수'였던 것이랍니다.

아래의 예처럼 len() 함수를 쓰면 아무 리스트나 쉽게 크기를 알아볼 수 있죠.

>>> len([1, 2, 3, 4, 5])
5
>>> len(a_list)
13

    

 

만약 len() 함수가 없었다면, 우리는 리스트의 크기를 알고 싶을 때마다 복잡한 프로그램을 작성해야했을지도 몰라요. 함수가 있기 때문에 우리는 프로그래밍을 좀 더 쉽게 할 수가 있는 것이지요.

함수는 len()처럼 처음부터 파이썬에서 제공해주는 것도 있고, 우리가 필요로 하는 것을 직접 만들어 쓸 수도 있답니다. 또는 다른 누군가가 만든 함수를 얻어서 쓸 수도 있겠지요.

저는 처음에 함수라는 것을 배울 때 매우 어렵게 생각해서 애를 먹었는데, 사실은 이렇게 프로그래밍을 도와주는 고마운 존재라는 것을 나중에야 알게 되었답니다.

그렇다면 이번엔 함수를 직접 만들어 보면 어떨까요?

지난 강좌에서 리스트에 들어있는 원소를 차례대로 출력했던 것 기억나시죠? 그것과 같은 기능을 하는 함수를 한번 만들어보도록 하지요. 같이 따라해보세요.

>>> def print_list(a): 
...     for i in a:
...             print(i)
...

     

 

 

방금 우리는 print_list()라는 함수를 만들었습니다. 간단하지요?

첫째 줄은 함수의 이름을 지어주는 부분이구요, 괄호 안의 a는 매개변수라고 합니다. 함수를 사용할 때는 print_list([1, 2])와 같은 형태로 쓰면 된다는 것을 나타내지요. 이 때 [1, 2]라는 리스트를 함수에 넣어주면 함수 내부에서는 a = [1, 2]라고 생각하고 일을 하게 되구요.

둘째 줄부터는 어제 해본 것과 똑같죠. a라는 리스트의 원소를 차례대로 출력하는 명령입니다.

우리가 만든 함수가 제대로 동작을 하는지 테스트를 해봅시다. 아까 만들어 둔 a_list에 들어있는 원소들을 찍어볼까요?

>>> print_list(a_list)

 



    

 

함수를 제대로 만드셨다면 리스트에 들어있는 원소들이 주루룩 나열됩니다. 어떻습니까? 제법 쓸만하죠?

방금 만들어 본 함수에서는 매개변수를 받아서 일을 했었죠? 하지만 아래처럼 매개변수가 없는 함수도 만들 수 있답니다.

>>> def boy():
...   print('I am a boy.')
...   print('You are a girl.')
...

    

 

자, 이번엔 여러분이 직접 만들어볼 차례입니다. a와 b 가운데 a가 크면 'a > b'라고 표시하고, b가 크면 'a < b', 두 숫자가 같으면 'a == b'라고 표시하는 함수를 만들어 보세요. 이 함수는 매개변수 두 개를 필요로 합니다. 함수를 만들 때 괄호 안에 (x, y)와 같은 형식으로 해주면 되겠죠? 


List of Articles
No. Subject Author Date Views
Notice Learn What is Python? admin 2024.10.19 81
24 Learn 1.2 Variable admin 2022.11.03 82
23 Learn 1.1 Getting into Python admin 2022.11.01 105
22 Learn 🇰🇷 8.1 예외처리(try, except) admin 2022.10.27 41
21 Learn 🇰🇷 7.1. 클래스(class)와 인스턴스 admin 2022.10.27 69
20 Learn 🇰🇷 6.1 텍스트 파일 admin 2022.10.21 58
19 Learn 🇰🇷 5.3 여러 가지 모듈 admin 2022.10.15 56
18 Learn 🇰🇷 5.2 모듈 가져오기(import) admin 2022.10.07 55
17 Learn 🇰🇷 5.1 모듈이란 admin 2022.10.03 58
16 Learn 🇰🇷 4.5 세트(set) admin 2022.10.02 58
15 Learn 🇰🇷 4.4 딕셔너리(dict) admin 2022.09.30 61
14 Learn 🇰🇷 4.3 튜플(tuple) admin 2022.09.21 61
13 Learn 🇰🇷 4.2 문자열과 리스트 admin 2022.09.16 58
12 Learn 🇰🇷 4.1 자료형 admin 2022.09.16 60
11 Learn 🇰🇷 3.4 람다(lambda) admin 2022.09.16 60
10 Learn 🇰🇷 3.3 지역변수, 전역변수 admin 2022.09.15 63
9 Learn 🇰🇷 3.2 반환(return)문 admin 2022.09.10 61
» Learn 🇰🇷 3.1 함수 admin 2022.09.01 71
7 Learn 🇰🇷 2.3 for를 사용하는 반복문 admin 2022.08.24 55
6 Learn 🇰🇷 2.2 조건문 (if-elif-else) admin 2022.08.23 63
5 Learn 🇰🇷 2.1 while을 사용하는 반복문 admin 2022.08.23 57
Board Pagination Prev 1 2 3 Next
/ 3