16
4 장 장장 2011. 05. 21 장장장 Python 3 장장장장장

[2011 05 21] 4장 제어

Embed Size (px)

Citation preview

Page 1: [2011 05 21] 4장 제어

4 장 제어

2011. 05. 21원종필

Python 3 프로그래밍

Page 2: [2011 05 21] 4장 제어

If 문

if < 조건식 1>:

< 구문 1>

elif < 조건식 2>:

< 구문 2>

else:

< 구문 3>

• : 으로 조건식이 종료됨을 알린다• 조건식이 참인 경우 : 이후의 구문이 수행• 동일한 블록의 들여쓰기 정도는 항상 일치해야 한다

Page 3: [2011 05 21] 4장 제어

조건식의 참 / 거짓 판단

• bool 판단값과 같다 , True 또는 False

• False 인 경우• 정수 계열의 0

• 실수 계열의 0.0

• 시퀀스 계열의 (), [], {}, 빈 문자열 (“”)

• 아무것도 없음을 의미하는 None

• False 이외의 값이 할당된 변수는 참으로 판별

Page 4: [2011 05 21] 4장 제어

단축 평가

• 조건식 전체를 판별하지 않아도 수식의 평가가 분명해진 경우

나머지 수식을 평가하지 않는것을 단축평가라 한다• and( 단축평가 사용 ) 와 &

• or( 단축평가 사용 ) 와 |

• 좌변 피연산자가 우변 피연산자보다 먼저 단축평가 되는게 보장됨

Page 5: [2011 05 21] 4장 제어

while 문

• 조건식이 거짓으로 평가되면 while 구조를 벗어난다• 반복문 도중 break 로 인해 중간에 종료되지 않고 끝까지

수행되었을때 else 블록이 수행된다

while < 조건식 >:

구문else:

구문

Page 6: [2011 05 21] 4장 제어

for 문

• 사용할 수 있는 시퀀스형 자료• 문자열 , 리스트 , 튜플 , 사전 , 이터레이터 객체 ..

• 반복문 수행중 break 없이 끝까지 수행되었을 때 else 블록 수행

for < 아이템 > in <Sequence 형 객체 >:

구문else:

Page 7: [2011 05 21] 4장 제어

break, continue

• 반복문을 제어하기 위하여 사용한다• break 를 만나면 반복문 내부 블록을 벗어난다• continue 를 만나면 continue 문 이후 내부 블록을 수행하지 않고

다음 아이템을 선택하여 반복문 내부 블록의 시작지점으로 이동한다

Page 8: [2011 05 21] 4장 제어

range()

• range() 는 수열을 생성한다• 종료값은 수열 종료조건으로 필수 , 생성되는 수열에는 포함되지 않는다• 시작값과 증가값은 선택적으로 입력• 기본값으로 시작값은 0, 증가값은 1 을 가진다

range( 시작값 = 0, 종료값 , 증가값 =

1)

Page 9: [2011 05 21] 4장 제어

enumerate()

• 시퀀스 객체 순회에서 인덱스와 항목값을 동시에 얻고자 하는 경우에 사용• 실행되고 나면 튜플형태로 ( 인덱스 , 시퀀스 객체의 아이템 ) 이 반환

enumerate( 시퀀스타입객체 , 시작값 = 0)

Page 10: [2011 05 21] 4장 제어

리스트 내장

• 기존 리스트 객체를 이용하여 연산을 통해 새로운 리스트를

생성하는 경우 효율적으로 사용• 표현식은 개별 아이템을 사용하여 새로운 객체를 생성하는 데 사용• if< 조건식 > 은 조건에 맞는 원본 리스트의 아이템을 선별하는 경우 사용

< 표현식 > for < 아이템 > in < 시퀀스타입객체 > (if

< 조건식 >)

Page 11: [2011 05 21] 4장 제어

filter()

• 첫번째 인자는 필터링에 사용할 함수이름 , 모든 아이템 선택시는 None

• 이터레이터를 반환하므로 튜플에 담기 위해서는 내장함수사용 (list(),tuple())

filter( 함수 | None, 이터레이션이 가능한 자료형 )

Page 12: [2011 05 21] 4장 제어

zip()

• 3 개 이상의 시퀀스형 , 이터페이터형 객체를 튜플로 묶을 수 있다• 내장 시퀀스형 , 이터레이터를 지원하는 클래스 , 이터레이터 객체가 가능• 반환 값은 쌍을 이룬 튜플 객체의 이터레이터 형• 결합하는 인자 개수가 다를 경우 가장 짧은 쪽을 기준으로 결함• zip() 으로 결합한 결과 분리는 zip 호출시 * 를 붙이면 된다

Page 13: [2011 05 21] 4장 제어

map()

• 시퀀스를 돌면서 모든 값을 갱신하는 경우에 사용• 객체를 순회하며 각 아이템을 첫번째 인자인 함수에 전달하고

결과를 이터레이터 객체로 생성하여 반환한다

map( 함수이름 , 이터레이션 가능한 객체 , …)

Page 14: [2011 05 21] 4장 제어

효율적인 순회방법• for 문을 사용하여 순회

• 문자열 내장 메서드인 join() 이나 리스트 내장을 이용

• for 문을 이용한 출력에는 리스트 아이템 개수만큼 print() 실행

join() 이나 리스트 내장을 쓰는 경우 print() 가 딱 한번만 실행

Page 15: [2011 05 21] 4장 제어

Q / A

Page 16: [2011 05 21] 4장 제어

END