본문 바로가기
C++ 200제/코딩 IT 정보

[파이썬 입문] with assert pass del print exec 사용법

by vicddory 2019. 8. 8.
반응형

이 포스트에선 파이썬 입문에 필요한 구문(제어문) 중에서 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 사용

반응형