Python의 흐름 제어

대부분의 다른 언어와 마찬가지로 Python은 명령문이 코더가 정의한 순서대로 실행되는 명령형 프로그래밍 스타일을 지원합니다. 명령형 프로그래밍의 예는 다음과 같습니다.
  • 원자 문
  • 제어 구조

  • Atomic 문은 더 깊은 구조가 없는 단순한 한 줄 문입니다. 일반적으로 입력 및 출력 기능으로 수행됩니다. 원자적 진술을 개념적으로 이해하는 좋은 방법은 원자적 진술을 사용자와 컴퓨터 사이의 통신으로 생각하는 것입니다. 빌트인 함수print()는 변수 값을 출력하는 좋은 예입니다. print()는 코드 블록을 더 작은 조각으로 나누고 인쇄 기능으로 출력을 확인할 때 디버깅에 사용됩니다.

    In:  name = 'Harry'
         print(name)
    Out: Harry
    

    input 함수는 사용자 입력을 요청합니다. 이 함수는 문자열을 출력으로 반환합니다.

    In:  input('What is your favorite movie?)
    Out: What is your favorite movie? Harry Potter
    


    문자열 출력을 정수로 변환하려면 int() 함수를 사용하십시오.

    In: int(input('How old are you?'))
    


    제어 구조는 여러 문을 포함하고 실행 단계의 순서를 제어합니다. 명령문은 블록으로 구성됩니다. 코드는 일반적으로 여러 블록을 포함합니다. 각 블록은 콜론과 4자(탭) 들여쓰기로 구분됩니다(아래 예 참조).

    적절한 들여쓰기는 Python에서 중요합니다. 누락된 콜론 또는 들여쓰기는 프로그램이 출력을 구성하지 않거나, 오류를 생성하거나, 필요한 것보다 더 많은 출력을 인쇄하도록 할 수 있습니다.

    제어 구조 유형:
  • 조건부: if, elif, else
  • 루프: for in, while
  • 예외 처리: try except

  • 조건문 형식:
  • 편도: if
  • 양방향: if/else
  • 배수: if/elif/else
  • 중첩된

  • 제어 구조if-else는 변수 값에 따라 프로그램의 흐름을 결정합니다. 아래 코드에서 stats 변수 값은 코드의 두 번째 및 세 번째 블록이 실행되는지 여부를 나타냅니다. 이 경우 우리의 값이 첫 번째 조건( stats <= 20 )에 해당하므로 그렇지 않습니다.

    stats = 20 
    if stats <= 20: 
        house = 'Hufflepuff' 
    elif stats > 20 and stats < 40: 
        house = 'Slytherin' 
    else: 
        if stats <= 60: 
            house = 'Ravenclaw'
        else: 
            house = 'Gryffindor' 
    print('Welcome wizard! Your house will be '+ house + '!!!' ) 
    

    elif 문은 "이전 조건이 참이 아니면 이 조건을 시도하십시오"로 읽습니다. else 문은 나머지 값을 다룹니다. 여기서는 조건을 더 세분화하는 중첩된 문입니다. 그러나 여기에서 첫 번째 else 문을 elif 로 바꿀 수 있습니다. 중첩된 명령문은 추가로 4자 들여쓰기를 받습니다.

    루프
    두 개의 루프가 있습니다.
  • 에 대한
  • 동안

  • 루프는 목록, 문자열 등의 각 항목을 반복하고 각 항목에 대해 작업을 수행합니다.

    In:  shoppinglist = ["apple", "banana", "cherry", "orange", 
         "kiwi", "melon"]
    
         for fruit in shoppinglist: 
             print(fruit)
    Out: apple
         banana
         cherry
         orange
         kiwi
         melon
    

    range() 함수는 for 루프가 반복하는 숫자 범위를 만드는 데 사용됩니다. 이 함수의 첫 번째 인수는 시작 번호(포함)이고 그 뒤에 마지막 숫자 - 1이 오고 마지막 인수는 단계입니다.

    In:  for i in range(1, 10, 2): 
             i += 2
             print(i)
    Out: 3
         5
         7
         9
         11
    

    for 루프는 특정 수의 값을 통해 반복되는 반면 while 루프는 특정 조건이 충족되거나 break에 도달할 때까지 반복됩니다. while 루프는 반복할 때마다 조건이 참인지 확인합니다. while 루프가 무한 모드로 설정된 경우 코드가 무한정 계속 실행됩니다. 프로그램을 중지하려면 Ctrl C를 누르십시오.

    In:  x = 0
         while x < 10: 
             print(x)
             x += 2
    Out: 0
         2
         4
         6
         8
    
    


    오류 처리

    Python에는 예외나 오류를 처리하는 컨트롤도 있습니다. 이는 tryexcept 블록을 사용하여 수행할 수 있습니다. 오류가 발생하면 try 블록이 정지되고 제어가 except로 이전되었습니다.

    all_num = []
    while num != 'q': 
        try: 
            num = int(input('Type a number!'))
            all_num.append(num)
            print('Press "q" to quit!')
        except ValueError: 
            break
    print(f' Your numbers: {all_num} \nAverage: \ 
           {sum(all_num)/len(all_num)}')
    


    결론
    흐름 제어는 코딩 및 쓰기 기능의 기초 역할을 하는 필수 컴퓨터 과학 개념입니다. 그들은 대부분의 Python 라이브러리에 대해 내부적으로 사용됩니다.

    참조:
  • Thorsten Altenkirch 및 Isaac Triguero의 Python을 사용한 개념적 프로그래밍.

  • 좋은 웹페이지 즐겨찾기