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
44 Learn 🇰🇷 1.1 파이썬 맛보기 admin 2022.08.10 79
43 Learn 🇰🇷 1.2 변수 admin 2022.08.13 77
42 Learn 🇰🇷 1.3 리스트 admin 2022.08.13 63
41 Learn 🇰🇷 1.4 인터프리터와 컴파일러 admin 2022.08.19 71
40 Learn 🇰🇷 2.1 while을 사용하는 반복문 admin 2022.08.23 57
39 Learn 🇰🇷 2.2 조건문 (if-elif-else) admin 2022.08.23 63
38 Learn 🇰🇷 2.3 for를 사용하는 반복문 admin 2022.08.24 55
» Learn 🇰🇷 3.1 함수 admin 2022.09.01 71
36 Learn 🇰🇷 3.2 반환(return)문 admin 2022.09.10 61
35 Learn 🇰🇷 3.3 지역변수, 전역변수 admin 2022.09.15 63
34 Learn 🇰🇷 3.4 람다(lambda) admin 2022.09.16 60
33 Learn 🇰🇷 4.1 자료형 admin 2022.09.16 60
32 Learn 🇰🇷 4.2 문자열과 리스트 admin 2022.09.16 58
31 Learn 🇰🇷 4.3 튜플(tuple) admin 2022.09.21 61
30 Learn 🇰🇷 4.4 딕셔너리(dict) admin 2022.09.30 61
29 Learn 🇰🇷 4.5 세트(set) admin 2022.10.02 58
28 Learn 🇰🇷 5.1 모듈이란 admin 2022.10.03 58
27 Learn 🇰🇷 5.2 모듈 가져오기(import) admin 2022.10.07 55
26 Learn 🇰🇷 5.3 여러 가지 모듈 admin 2022.10.15 56
25 Learn 🇰🇷 6.1 텍스트 파일 admin 2022.10.21 58
Board Pagination Prev 1 2 3 Next
/ 3