기타 강좌

10. 함수

 

 

지금까지는 코드를 한 줄, 한 줄 입력해서 결과를 보긴 했지만, 컴퓨터에게 일을 시키는 건지,

 

우리가 일을 하는 건지 헷갈릴 정도로 귀찮으셨을 거예요.

 

오늘 배우실 함수를 아시고 나면 프로그래밍이 좀 더 즐거워지지 않을까 싶네요.

 

그럼 시작해볼까요?

 

[1, 2, 3, 4, 5]라는 리스트가 있다고 해볼까요.

 

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

 

네!, 5개입니다.

 

이번엔 [3, 4, 62, 27, 83, 956, 26, 58, 3, 78, 168, 64, 78, 8, 4, 6, 75, 81, 69]이라는 리스트가 있다고 칩시다.

 

에구구… 원소가 넘 많으니까 a_list라는 변수에 넣어두도록 하죠.

 

>>> a_list = [3, 4, 62, 27, 83, 956, 26, 58, 3, 78, 168, 64, 78, 8, 4, 6, 75, 81, 69]

 

이 리스트엔 원소가 몇 개 있을까요? 짜증나신다구요? 죄송합니다. -ㅋㅋ-ㅅ-;;

 

여기서 공부를 열심히 하셨던 분은 뭔가 생각이 나실 법도 한데…[전 강좌를 읽으신 분이라면...]

 

그게 뭘까요?

 

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

 

아하~.

 

len()은 리스트에 들어있는 원소 개수, 그러니까 리스트의 크기를 알려주죠.

len()이 바로 함수였던 것이랍니다.

 

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

 

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

5

>>> len(a_list)

19

 

만약 len() 함수가 없었다면, 우리는 리스트의 크기를 알고 싶을 때마다 복잡한 프로그램을 작성해야했을지도 모릅니다.

 

함수가 있기 때문에 우리는 프로그래밍을 좀 더 쉽게 할 수가 있는 것이져.

 

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

 

또는 다른 누군가가 만든 함수를 얻어서 쓸 수도 있겠지요.

 

저는 처음에 함수라는 것을 배울 때 매우 어렵게 생각해서 애를 먹었는데,

 

사실은 이렇게 프로그래밍을 도와주는 고마운 존재라는 것을 나중에야 알게 되었답니다.

 

그렇다면 이번엔 함수를 직접 만들어 봐야겠죠?

 

지난 강좌에서 리스트에 들어있는 원소를 차례대로 출력했던 것 기억나시죠?

 

그것과 같은 기능을 하는 함수를 한번 만들어보도록 하지요.

 

같이 따라해보세요~~

 

>>> def print_list(a):           # 지금부터 print_list 함수를 만들겠다는 뜻입니다.[스크립트 하시는 분이라면..]

...     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)와 같은 형식으로 해주면 되겠죠? 답 다 가르쳐 드렸네용..ㅎㅎ

TAG •
Comment '4'
  • ?
    배울래 2009.11.19 21:30

    뭐야

    다른데서 Ctrl + C, V 한 거잖아?

    실력이 없으시면 글을 올리시지 말든가

    글을 올리실꺼면 자기가 직접 써서 올리시든가 하세요

  • ?
    배울래 2009.11.19 21:31

    ㅎㅎ초딩이신가?

     

  • ?
    Sky구름 2009.11.20 21:32

    깝 ㄴㄴㄴ

  • ?
    - 하늘 - 2009.11.21 16:13

    워워워 진정해


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
기타 아이디어를 얻고싶다면 ! 나열하고 선택해라 3 file 꼴뚜기무침 2010.11.13 2435
기타 동영상에서 원하는 부분만 잘리서 편집하기 아방스 2010.11.05 1986
기타 포토스케이프 - 사진 색감 보정하기 아방스 2010.11.04 2782
기타 동영상 용량 100메가 이하로 줄이기 아방스 2010.11.04 2294
기타 유튜브 동영상 다운로드 하기 6 아방스 2010.11.03 2499
기타 프로그래밍 scheme 빨간 공을 움직이다가 특정 좌표에 가면 파랗게 만들어 보자. file 정체불명 2010.10.06 2648
기타 프로그래밍 스킴 7줄로 윈도우창에 그림을 출력하고 움직여보자. file 정체불명 2010.10.04 2477
기타 프로그래밍 스킴 Scheme 4 "3두개 7두개로 24를 만들려면?" 프로그래밍으로 풀기 2 정체불명 2010.10.03 2479
기타 프로그래밍 스킴 Scheme 3 "3두개 7두개로 24를 만들려면?" 프로그래밍으로 풀기 1 정체불명 2010.10.03 2606
기타 게임제작에 실패하는이유는? 3 rlawnsahXP 2010.10.03 2313
기타 프로그래밍 스킴 Scheme 2 프로그래밍한 걸 exe파일 만들어 배포하기! 2 file 정체불명 2010.10.02 3156
기타 프로그래밍 스킴 Scheme 1 다운로드부터 문법 대부분을 314초만에 알려줄게요 9 file 정체불명 2010.10.02 4828
기타 시나리오 작법 서론 종합 4 wigen 2010.09.26 2178
기타 게임 기획에 관한 기법들 3 아방스 2010.09.15 3251
기타 온라인 게임 서버의 구조도 4 file Saber 2010.09.06 2509
기타 컴퓨터에 설치된 코덱 확인방법 아방스 2010.05.31 2232
기타 JHL's STUDY_캐릭터의 중심 "콘티" file J H L 2010.04.02 2197
기타 [파이썬] 함수 (플밍을 편하게))10( 4 - 하늘 - 2009.10.26 2440
기타 [파이썬] for문 (여러 번 반복하기))9( 6 - 하늘 - 2009.09.11 3877
기타 파이썬 총 강좌파일 올립니다... 3 file - 하늘 - 2009.09.10 7007
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6