기타 강좌

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 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 3249
기타 온라인 게임 서버의 구조도 4 file Saber 2010.09.06 2509
C언어 네트워크 강좌[1]- 기본적인 버클리 소켓을 이용한 프로그래밍 Saber 2010.09.06 4013
시네마4D Cinema4D 맵핑, 매터리얼 기초 메뉴얼 아방스 2010.08.18 3515
C언어 C# - 시스템 정보 받기 2 file 코르뉴 2010.07.11 2831
에프터 이펙트 에픽 플러그인 키젠에 대한 간단한 팁 ^^ 아방스 2010.06.09 3980
에프터 이펙트 총 쏘는 듯한 효과를 만들어 볼까요? 7 아방스 2010.06.01 5784
기타 컴퓨터에 설치된 코덱 확인방법 아방스 2010.05.31 2232
기타 JHL's STUDY_캐릭터의 중심 "콘티" file J H L 2010.04.02 2197
플러그인 에펙.프리미어 플러그인 RedGiant.KnollLightFactoryPro v2.5.2 1 file 아방스 2010.03.23 5899
플러그인 에펙 플러그인 Zaxwerks 5가지 최신버젼 아방스 2010.03.23 5899
플러그인 [AE Plug-in]RedGiant.Holomatrix.v1.0 file 아방스 2010.03.23 3654
플러그인 [AE Plug-in] RedGiant.Magic Bullet Suite 2009! 3 file 아방스 2010.03.20 4437
C언어 코르뉴의 자료구조 기초 - 자기 참조 구조체(1/3) 코르뉴 2009.12.11 2924
기타 [파이썬] 함수 (플밍을 편하게))10( 4 - 하늘 - 2009.10.26 2440
기타 [파이썬] for문 (여러 번 반복하기))9( 6 - 하늘 - 2009.09.11 3877
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19