ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 파이썬 기초2(함수, 조건문)
    기초/파이썬 2017. 4. 15. 17:01

    함수정의

    def를 사용

    함수안의 포함된 내용들을 [ tab ] or [ space 4번 ]을 이용하여 구분 >> 꼭 지켜야하는 규약

    함수이름으로 호출

    '''

    요구조건

    요구조건을 적는다


    제약조건

    제약조건을 적는다.


    배열로 처리하는 함수


    파라매터 : 각각의 변수로 선언해도 되지만 배열로 받을수있다.

    return : 튜플로 여러개의 인수를 전달할 수 있다.



    함수리턴값을 변수에 넣으면 튜플변수가 되며

    인덱스로 꺼내올 수 있다.



    #실습


    지역변수 & 전역변수

    지역변수: 함수안에서 정의된 함수. 함수가 끝나면 변수의 정의자체도 사라진다.

    전역변수: 함수밖에서 선언되어서 다른 함수내에서도 사용이 가능하다.


    #실습

                    


    num은 전역변수로 사용되어 정상 출력이되었다.

    num2는 지역변수로 사용되어 정의되지 않은 변수라는 에러가 발생했다. 


    함수 인자 전달 ( Message )

    함수이름 옆 괄호에 받은 인자에 대한 이름을 정의하여 함수에서 처리 후

    함수를 호출할 때 인자를 넣어서 전달한다.

    파이썬의 특징 : 함수를 인자로 받을수 있다. ( 기본 oop의 상식에서 벗어남 )


    #실습


    조건문

    값에 대한 참과 거짓 또는 여러개의 상황에 대한 각각의 결과물을 만든다.


    if : 조건이 참일경우 실행한다 (참일 경우 뒤에 elif, else는 무시한채 if문이 종료된다)

    elif : if문에서 거짓으로 판단된 후 넘어온다.

     여러개의 elif문이 올 수 있다.( 참일 경우 아래의 elif문과 else문을 무시한채 if문이 종료된다.)

     생략이 가능하다.

    else: if문과 elif문들이 모두 거짓일떄 나머지라는 의미로 사용된다.

     elif문없이 if문과 2개로 사용이 가능하다.

    생략이 가능하다.


    #실습


    함수가 첫번째로 호출 되었을 떄 음수이므로 if문에서 걸러져 그대로 if문이 종료되었으며

    두번쨰로 호출되었을 때 홀수이므로 else에서 나머지로 걸러졌다.

    마지막 세번째로 호출되었을 때 짝수이므로 elif문에서 걸려져 else문이 생략되었다.


    이값들은 result에 저장되어 아래에 있는 print출력을 통해 출력되었다.


    #실습2

    다른 언어에서는 함수의 리턴값이 0개 또는 1개라고 배웠을 것이였다.

    하지만 파이썬에서는 튜플형태로 넘겨주는 방법으로 리턴값을 여러개를 보낼 수 있다.

    이 여러개의 리턴은 튜플로 처리되서 넘어오는데 리스트와 비슷해서 배열형태로 받을 수 있다.

    튜플 = 하나의 행을 가르킨다.

    파이썬의 튜플 형태는 수정이 불가능한 리스트 ( 읽기전용 리스트 ) 라고 생각하시고 사용하시는게 편하다


    문제

    함수에 인자를 넘겨서 100의 값에 홀수면 덧셈 짝수면 뺄셈을 수행한다.


    *코드

    def check(num):

    msg=""

    res=100

    if(num%2==1):

    res=res+num

    msg="홀수"

    else:

    res=res-num

    msg="짝수"

    return msg,res

    print(check(14))

    print(check(13))

    c=check(20)

    print("연산된 값 : "+str(c[1])+"("+c[0]+")")


    코드설명 : return을 통해서 값을 반환시키는데 msg와 res를 보내서 출력했다


    *결과


    반복문 

    설명이 길어질 것 같으므로 다음포스터에서 진행합니다.



    댓글

Designed by Tistory.