티스토리 뷰
목차
이 포스트에선 파이썬 입문에 필요한 구문(제어문) 중에서 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를 사용하지 않는 예제 f = open ( "test.txt") print f.read () f.close () # with를 이용한 예제 1 with open ( "test.txt") as f : print f.read () # with를 이용한 예제 2 f = open ( "test.txt") with f : print f.read () | cs |
가정 설정문(assert)
assert는 테스트할 때 값이 예상대로 설정되는지 확인하기 위한 장치입니다. _debug__가 True일때는 넘어가지만, 거짓이면 AssertionError 예외를 발생시킵니다. python -O 옵션을 주어 실행할 때 $debug__의 기본값은 False입니다.
1 2 | f = 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 | x = 5 y = [1, 2, 3] z = MyClass() del x, y, z | cs |
print문 (print)
print는 변수, 객체를 출력하는 표준 문법입니다. Python3에서는 구현 변화가 많았으며, 아래는 파이썬2 예시입니다.
1 2 3 4 | print 3 #=> 3 print [1, 2, 3] #=> [1, 2, 3] print (1, 2, 3) #=> (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 | f = 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 | f = open ( "sample.py") exec f code = compile ( "print 'Hello'", "<string>" "exec"); exec code | cs |
파이썬 입문 강좌 11강
- 자료형 문자열 각종 수식 정리
- 변수, 상수, 문서문자열(python docstring)
- 리스트 튜플 딕셔너리 (List, Tuple, dict)
- 제어문 - if else while for in break continue
- with assert pass del print exec 사용법
- 예외 처리 방식과 스택 추적 구현 방법
- 구문 - 문법, 주석, 들여쓰기, 인코딩 규칙
- 연산자 - 산술 비트 대입 비교 논리 조건
- def, global, lambda, iterator, yield @ 사용 방법
- 인스턴스, 메소드, 상속 등 예제 총정리
- 모듈 패키지 - 빌트인 파일 이름 사용 예제
관련 글
[파이썬 입문] 변수, 상수, 문서문자열(python docstring)
[파이썬 입문] 리스트 튜플 딕셔너리 (List, Tuple, dict)