반응형
파이썬의 제어문
- 제어문은 하나의 블록
코드 :
내부코드
내부코드
블록과 상관없는 코드
1.분기문(갈림길)
if 표현식 :
표현식의 내용이 True 일 때 수행할 내용
elif 표현식 :
앞의 표현식이 False이고 자신의 표현식이 True 일 때 수행할 내용
elif 중복 작성 가능
else :
앞의 모든 표현식이 거짓일 때 수행할 내용
- 표현식은 데이터가 만들어지면 전부 표현식입니다.
- True, False 가 아니더라도 파이썬에서는 bool로 간주하는 경우가 있는데
- 숫자데이터는 0 이 아니면 True 이고 0은 False로 간주
- 숫자 외의 데이터는 데이터가 존재하면 True, 데이터가 없다면(none) False
- 변수 = none
- 없는 변수 이름을 사용하면 error - Undefined 이다.
- elif 와 else 는 상황에 따라서 생략 가능
- elif 중복 가능하지만 else는 1번만 나와야 한다.
- 하나의 문자열을 입력받아서 남자 입력 man을출력, 여자 입력 woman을출력, 그 외는 잘못된 입력을 출력해주는 문제
person = input("성별을 입력하세요")
if person == "남자" :
print("man")
elif preson == "여자" :
print("woman")
else :
print("잘못된 입력")
2.while - 반복문 (Loop, Iterator)
while 표현식 :
표현식이 False 가 아니라면 수행할 내용
- while은 대부분의 경우 몇 개 인지 알 수 없을 때 사용하는 반복문
- 실제 while을 사용하는 대부분의 경우는
while True :
if 표현식 :
break
반복 수행할 내용
3. for - 반복문(Loop, Iterator)
반복할 횟수를 알거나 데이터의 모임을 순회할 때 사용
for 임시변수 in 데이터의모임 : 반복할 내용
데이터의 모임 에서 하나씩 순서대로 꺼내서 임시변수에 대입하고 내용을 반복
데이터의 모임인지 확인하는 방법 : dir을 이용해서 사용가능한 속성 중에서
__iter__
있으면 순회가능한 데이터의 모임이다.
li = [100, 200, 300]
print(dir(li)) # __iter__ 의 존재여부를 확인하자 . 데이터의 모임인지 확인 하자
for imsi in li :
print(imsi)
4.range
range(시작값, 종료다음값, 간격)
: 시작값부터 간격단위로 조료값까지 순회하는 순서열을 생성해서 리턴해준다.range(종료다음값)
: 시작값은 0으로 간격은 1로 설정을 해줌
연습문제1) while을 이용해서 아래와 같은 문장을 출력
article1
article2
article3
연습문제2) for를 이용해서 아래와 같은 문장을 출력
num=1
num=16
num=31
num=46
- 위와 같은 형태를 출력해보는 이유는 웹에서 데이터를 수집할 때 많은 양의 데이터는 대부분 페이징 처리가 되어 있어서 페이지에 해당하는 URL 주소 패턴을 찾아서 프로그램에서 수집할수있도록 해줘야됨 .
5.제어문의 중첩
- 제어문 안에 제어문 사용이 가능
6.break 와 continue
1) break : 가장 가까운 반복문을 종료하는 제어문
2) continue : 가장 가까운 반복문의 다음 수행으로 이동하는 제어문
반복문 안에서 if와 함께 사용
for i in range(1, 4, 1) : if i % 2 == 0 : break print(i)
짝수가 되면 반복문을 중단하는 것이므로 1만 출력
for i in range(1, 4, 1) : if i % 2 == 0 : continue print(i)
짝수가 되면 다음 반복문으로 넘어가라는 의미이므로 1, 3 출력
중복된 데이터를 골라낼때도 continue 쓰자 .
데이터 수집 같은 것들을 할 때 특정 조건을 만날때까지만 수집
- 회사이름으로 올라온 신문기사를 스크랩할 것인데 오늘 날짜에 해당하는 기사만 스크랩하는 경우에는 조건을 만들어서 break 를 시켜줘야 한다.
댓글 수집을 하는 경우 하나의 아이디가 여러 개의 댓글을 남겼다면 이런 경우는 첫번째 데이터만 읽고 나머지는 패스 해버려야 한다.
- 이런경우는 continue를 사용함.
7.for ~ break ~ else
for 표현식 :
if 표현식 :
break
else :
수행할 내용
- else는 for가 break에 걸리지 않고 전부 수행한 후 종료되었을 때 수행할 내용
for i in reange(1, 4, 1 ) :
if i % 2 == 0 : # 2에서 브레이크가 걸림.
break
else :
print("반복문을 전부 수행")
- 이 경우는 2에서 break를 만나서 반복문이 종료되었으므로 else 내용을 수행하지 않음.
for i in reange(1, 4, 1 ) :
if i % 4 == 0 : # 4가 없음. 노브레끼
break
else :
print("반복문을 전부 수행")
- 이 경우는 break를 만나지 않고 반복문이 종료되었으므로 else 내용을 수행
반응형
'Language_Study > Python' 카테고리의 다른 글
[Python] 5.문법-자료형 (0) | 2021.01.19 |
---|---|
[Python] 4.문법-클래스 (0) | 2021.01.19 |
[Python] 3.문법-Function (0) | 2021.01.19 |
[Python] 1.문법 (0) | 2020.12.23 |
[Python] 0.intro (0) | 2020.12.23 |