티스토리 뷰

목차

    반응형

    이 포스트에선 파이썬 입문에 필요한 구문(제어문) 중에서 6가지 사용 방법을 알아봅니다.


    with 구문 (with)

    1
    2
    with expression [as target] [, expression [as target]]... :
        suite...
    cs


    with를 이용하면 with 블록이 종료되었을 때 자동으로 오브젝트 종료 처리 기능이 호출됩니다.


    예를 들어 file 클래스의 open()이 수행되면 with 종료 시 close()가 자동으로 호출됩니다. 아래 예제에서 with를 이용하면 블록이 종료될 때 f.close()가 자동으로 호출됩니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # with를 사용하지 않는 예제
    = open ( "test.txt")
    print f.read ()
    f.close ()
     
    # with를 이용한 예제 1
    with open ( "test.txt") as f :
        print f.read ()
     
    # with를 이용한 예제 2
    = open ( "test.txt")
    with f :
        print f.read ()
    cs

    가정 설정문(assert)

    assert는 테스트할 때 값이 예상대로 설정되는지 확인하기 위한 장치입니다. _debug__가 True일때는 넘어가지만, 거짓이면 AssertionError 예외를 발생시킵니다. python -O 옵션을 주어 실행할 때 $debug__의 기본값은 False입니다.


    1
    2
    = func ()
        assert f == 5   # f 값이 예상대로 5인지 확인
    cs


    assert expression은 아래와 같습니다.


    1
    2
    if __debug__:
        if not expression: raise AssertionError
    cs


    assert expression1, expression2는 아래와 같습니다.


    1
    2
    if __debug__:
        if not expression1: raise AssertionError(expression2)
    cs


    패스 (pass)

    pass는 아무것도 하지 않는 부분입니다. 내용이 없는 함수나 클래스를 만들 때 사용합니다.


    1
    2
    3
    4
    5
    def myfunc():
        pass
     
    class MyClass:
        pass
    cs



    삭제 (del)

    del은 객체를 삭제합니다.


    1
    2
    3
    4
    = 5
    = [123]
    = MyClass()
    del x, y, z
    cs


    print문 (print)

    print는 변수, 객체를 출력하는 표준 문법입니다. Python3에서는 구현 변화가 많았으며, 아래는 파이썬2 예시입니다.


    1
    2
    3
    4
    print 3                    #=> 3
    print [123]            #=> [1, 2, 3]
    print (123)            #=> (1, 2, 3)
    print {'k1':10'k2':20}   #=> {'k2': 20, 'k1': 10}
    cs


    인수를 콤마(,)로 여러개 사용할 수 있으며, 콤마를 이용해 여러 값을 출력할 수 있습니다.


    1
    print "AAA""BBB"      #=> AAA BBB
    cs


    보통은 마지막에 개행(\n)을 적습니다. 마지막 인수 뒤에 콤마(,)를 붙이면 개행하지 않습니다.


    1
    2
    print "AAA",    # 개행하지 않음
    print "BBB"     # 개행함
    cs


    아래와 같이 포맷을 지정할 수도 있습니다.


    1
    2
    3
    print "My name is %s." % "RyuHJ"
    print "%s is %d years old." % ("RyuHJ"28)
    print "%(name)s is %(age)d years old." % {'name'"RyuHJ"'age'28}
    cs


    (표준 출력 이외) 파일에 입력할 때는 >>를 이용합니다.


    1
    2
    3
    = open("test.txt""w")
    print >> f, "Hello world!"
    f.close()
    cs

    exec문 (exec)

    exec는 인수 문자열을 Python 스크립트로 실행합니다.


    1
    exec statements [as global [, local]]
    cs


    아래는 샘플입니다.


    1
    exec "print 'Hello'"
    cs


    global과 local에는 전역 변수, 지역 변수를 dictionary(딕셔너리, 사전) 형식으로 전달합니다. 지역 변수 키워드를 생략한 경우 global이 적용됩니다.


    1
    exec "print global_x, local_y" in {'global_x'100}, {'local_y'200}
    cs


    statements에 오픈된 파일이나 컴파일 한 코드 오브젝트를 전달할 수도 있습니다.


    1
    2
    3
    4
    5
    = open ( "sample.py")
     exec f
     
    code = compile ( "print 'Hello'""<string>" "exec");
    exec code
    cs





    파이썬 입문 강좌 11강


    관련 글

    [파이썬 입문] 클래스 사용법 - 4단계로 마스터

    [파이썬 입문] 자료형 문자열 각종 수식 정리

    [파이썬 입문] 변수, 상수, 문서문자열(python docstring)

    [파이썬 입문] 리스트 튜플 딕셔너리 (List, Tuple, dict)

    [파이썬 입문] 제어문 - if else while for in break continue

    파이썬 아나콘다3 설치 및 Jupyter Qt Console 사용

    반응형