즐겁게!! 자신있게!! 살아보세!!

재밌는 인생을 위하여! 영촤!

Language_Study/Python

[Python] 2.문법 - 제어문

Godwony 2021. 1. 19. 21:13
반응형

파이썬의 제어문

  • 제어문은 하나의 블록
코드 : 
    내부코드
    내부코드
블록과 상관없는 코드 

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