본문 바로가기
IT 이것저것/파이썬python

파이썬python 함수란 무엇인가 ~ 반복 코드 짜기

by KaNonx카논 2017. 5. 17.
반응형

파이썬python 함수란 무엇인가 ~ 반복 코드 짜기

 

 

2017/05/14 - 파이썬python 함수란 무엇인가?

 

지난 시간 함수란 무엇인가에 대해서 간.단.히 언급해 보았습니다.

 

다시 한 번 정리한다면,

 

 

함수란 기능이다! Function

함수에는 세 가지 종류가 있는데,

 

파이썬이 원래 가지고 있던 기능을 built_in

 

해당 패키지를 import 한 후에 쓸 수 있는 라이브러리 함수

 

사용자가 직접 만들어서 쓸 수 있는 사용자 정의 함수가 있다!

 

는 것을 알아 두시면 될 것 같습니다.

 

 

ex) matplotlib는 패키지 함수로 데이터 시각화 프로그래밍 !

 

 

그렇다면, 왜! 파이썬에서 함수를 써야 할까요?

 

 

함수는 특정기능을 수행하는 코드를 하나의 묶음으로 사용하고 효과적으로 활용하기 위헤서 입니다!

 

예를 한 번 들어 볼까요?

 

    print("hi")
    print("hi")
    print("hi")
    print("hi my name is bimo")

 

 

위의 문장을 총 세 번 출력되게 만드세요 라는 리퀘스트를 받으면 사실 제일 간단한 방법은

 

    print("hi")
    print("hi")
    print("hi")
    print("hi my name is bimo")

 

    print("hi my name is bimo")
    print("hi")
    print("hi")
    print("hi my name is bimo")

 

    print("hi")
    print("hi")
    print("hi")
    print("hi my name is bimo")

 

 

이렇게 세 번 같은 코드를 반복하는 것입니다.

 

하지만, 이런 것은

 

자가 복제코드라해서 프로그래밍에 있어서 지양해야 할 자세이지요!

 

프로그래밍에서 가장 중요한 것은

 

심플하고 깔끔하게 프로그램을 짜는 것입니다.

 

교수님께서는 일종의 아트라고 하시더군요

 

 

그렇다면 이제 사용자 정의 함수를 이용해서 좀 더 심플하게 위의 결과를 도출해 보겠습니다.

 

ex) def hello():
    print("hi")
    print("hi")
    print("hi")
    print("hi my name is bimo")

 

 

여기서 def란 definition 으로 '정의'라는 뜻을 가지고 있습니다.

 

바로 이것이 사용자 정의 함수의 형태이지요

 

이렇게 하면 hello()

 

print("hi")
print("hi")
print("hi")
    print("hi my name is bimo")

 

의 값을 내포하기 때문에

 

hello()를 세 번 반복하는 것 만으로도 위의 리퀘스트에 충분히 대응할 수 있는 것입니다!

 

 

함수의 인자(파라미터) 란?

 


함수 호출과 함께 넘겨지는 값이 인자입니다.

 

수학에서는 인자가 없을 수 없지만,

 

파이썬에는 인자가 없을 수도 있습니다.

 

ex) def 함수명 ('인자1', '인자2') 의 형태

 

로 위의 hello() 에도 인자가 없었지요

 

def hello(count):
    for x in range(count):
        print("hi")
    print("hi my name is bimo")

 

 

물론 인자와 for 반복문을 통해서 위와 같이 결과값을 도출해 낼 수도 있습니다.

 

hello(인자값)을 작성함으로써 원하는 만큼의 결과를 도출해 내는거지요

 

 

2017/04/24 - 파이썬Python 반복문, for문에 대해서 알아보자!

 

 

그렇다면 여기서 응용을 해보도록 하지요!

 

이 함수로 극악의 난이도를 자랑하는 pt체조 8번을 10번


수행시켜 보았습니다.

def pt_8(count):
    print("눕는다")
    print("다리를 올린다")
   
    for x in range(count):
        print("오른쪽 왼쪽으로 움직인다", x+1,"!")
    print("다리를 내린다")
    print("일어난다")

pt_8(10)

 

어때요? pt 체초 8번, 하는 건 어렵지만 시키는건 참 쉽죠?

 

여기에서 포인트는 눕는다, 다리를 올린다

 

그리고 다리를 내린다, 일어난다는 반복시키지 않고

 

프로그램의 맨 앞과 끝에만 출력되어야 한다는 점입니다~!

 

 

pt 11번을 짜오기 (쪼그려 뛰기)

def pt_11(count):
    print("쪼그려 앉는다.")
   
    for x in range(count):
        print("동","서","남","북", x+1,"!")
    print("일어난다")

 

마지막 구호는 생략

 

여기서 더욱 응용해서, 다음시간에는 11번, 쪼그려 뛰기르 시켜 봅니다.

 

단! 마지막 구호는 생략시키고요~

 

if문을 활용하라는 말씀이 있으신데... 한 번 연구가 필요하겠군요..

 

2017/04/23 - 파이썬Python if문 반복학습 / 줄여서 elif?!

 

-

 

 

반응형

댓글