본문 바로가기
프로그래밍/파이썬 Python

[파이썬] 2.제어문 - 조건문과 반복문 개념정리 [입문,초보용 문법] - 질문으로 공부하기

by it-수다쟁이증후군 2023. 3. 30.

어제.ssam)
들어가기전

  1. -1.Hello, World!(인자,매개변수)에서 파이썬의 맛을 보고
  2. -2.변수와 자료형에서는 동적 타이핑의 효과를 보았고
  3. -3.연사자에는 어떤것들이 있는지 알아보았습니다.

"어떤값을 집어 넣으면 [이렇게 저렁게 해서] 특정 결과가 나온다." 라는
프로그램의 기본에 따라 [이렇게 저렁게]에 해당하는 부분이 제어입니다.
파이썬에서는 이 제어를 어떻게 하는지 오늘은 맛만 보겟습니다.

Q1.나)
조건문과 반복문 에 대해서 기본적인거 알려주세요

2-제어문-조건문-반복문-개념정리
찍먹

A1.ssam)

조건문(Conditional Statements)

조건문(Conditional Statements)은 프로그램에서 1)조건에 따라 2)실행할 코드 블록을 3)결정하는 제어문입니다. 파이썬에서는 if, elif, else 키워드를 사용하여 조건문을 구성합니다.

  • if 문은 조건식이 참(True)일 경우에 코드 블록을 실행합니다.
  • elif 문은 이전 조건문이 거짓(False)이고 해당 조건식이 참(True)일 경우에 코드 블록을 실행합니다.
  • else 문은 이전 조건문이 거짓(False)일 경우에 실행되는 코드 블록입니다.

아래는 if, elif, else 키워드를 사용한 조건문의 예시입니다.

x = 10
    
    if x > 0:
    print("양수입니다.")
    elif x < 0:
    print("음수입니다.")
    else:
    print("0입니다.")

반복문(Loop Statements)

반복문(Loop Statements)은 프로그램에서 1)일정한 작업을 2)반복적으로 실행할 때 3)사용하는 제어문입니다. 파이썬에서는 for, while 키워드를 사용하여 반복문을 구성합니다.

  • for 문은 지정된 범위나 순회 가능한(iterable) 객체를 순회하면서 코드 블록을 반복적으로 실행합니다.
  • while 문은 조건식이 참(True)일 경우에 코드 블록을 반복적으로 실행합니다.

아래는 for, while 키워드를 사용한 반복문의 예시입니다.

# for문
    for i in range(5):
    print(i)
    
    # while문
    i = 0
    while i < 5:
    print(i)
    i += 1
    

위 예시에서 for 문은 range(5) 함수를 통해 0부터 4까지의 범위를 순회하면서 print(i)를 실행합니다. while 문은 i 변수가 5보다 작은 동안 print(i)를 실행하고, i 변수의 값을 1씩 증가시킵니다.

smart.나)
오늘도 겁나 간단하네요. 위에 내용을 간단하게 정리해볼께요.

조건문:

  • 조건에 따라 실행할 코드 블록을 결정하는 제어문
  • if, elif, else 키워드를 사용하여 구성
  • if문은 조건식이 참일 경우 코드 블록 실행
  • elif문은 이전 조건문이 거짓이고 해당 조건식이 참일 경우 코드 블록 실행
  • else문은 이전 조건문이 거짓일 경우 실행되는 코드 블록

반복문:

  • 일정한 작업을 반복적으로 실행할 때 사용하는 제어문
  • for, while 키워드를 사용하여 구성
  • for문은 지정된 범위나 순회 가능한(iterable) 객체를 순회하면서 코드 블록을 반복적으로 실행
  • while문은 조건식이 참일 경우 코드 블록을 반복적으로 실행

Q2.나)
오늘 이렇게 끝내긴 아쉬우니까 쪼끔 개념적으로 어려운거 한가지만 알려주세요.

A2.ssam)
좋습니다. 그럼 살짝 레벨업을 위해 iterable에 대해서 알려드리겟습니다. 순회 가능한(iterable) 객체란, 원소들을 하나씩 순회하며 접근할 수 있는 객체를 의미합니다. 파이썬에서는 문자열(String), 리스트(List), 튜플(Tuple), 세트(Set) 등이 순회 가능한(iterable) 객체입니다.

예를 들어, 문자열은 각 문자가 순회 가능한(iterable) 원소입니다. 따라서 문자열 객체에 for 반복문을 사용하면 문자열의 각 문자를 순회하며 코드 블록을 실행할 수 있습니다.

s = "Hello"
    for ch in s:
    print(ch)
    

위 코드는 문자열 "Hello"의 각 문자를 순회하면서, 각각의 문자를 print() 함수를 통해 출력하는 코드입니다. for 반복문에서 s는 문자열 객체이며, ch는 문자열의 각 문자를 나타내는 순회 가능한(iterable) 원소입니다.

Q3.나)
잠시만요. 문자열을 기초 자료형 아닌가요? 객체랑 원소 헷갈리네요 ㅠㅠ

A3.ssam)
str 클래스는 문자열 자료형을 나타내는 파이썬 내장 클래스입니다. 따라서 "Hello"str 클래스의 인스턴스(객체)입니다.

객체는 클래스의 인스턴스로, 특정 클래스로부터 생성된 구체적인 실체를 의미합니다. 이 객체는 특정 클래스의 속성(attribute)과 메서드(method)를 포함합니다.

반면에, 원소는 순회 가능한(iterable) 객체에서 하나씩 접근 가능한 각각의 요소를 의미합니다. 예를 들어, "Hello" 문자열은 문자열 자료형으로 이루어져 있으며, 각 문자가 문자열의 원소입니다. 리스트(List)나 튜플(Tuple)도 순회 가능한(iterable) 객체이며, 각각의 원소를 포함합니다.

Q4.나)
살짝만 어려운거 해달랬더니. ㅠㅠ 위에 내용을 간단하게 정리해줘세요.

A4.ssam)
처음 나오는 용어라 헷갈릴 쁀 내용자체는 굉장히 쉽습니다. 선생님이 반 아이들 숙제검사 한다고 생각하면 쉽습니다.

선생님 
    "1번 숙제들고 나와"
    "잘했네,"
    "다음 2번 숙제들고 나와"
    "아쉽네, 다음에 더 잘하자"
    "다음 3번,"
    .
    여기서
    
    선생님 = "for 문"
    숙제검사 받는 학급(반) : "순회 가능한 객체"
    번호로 지목받은 아이 한 명 : "순회 가능한 객체의 원소"
    흔히 말하는 추상적인(개념적인) 학급 : "class"
    이정도로만 받아 들이셔도 충분합니다.
  1. 객체는 클래스의 인스턴스로, 클래스로부터 생성된 구체적인 실체를 의미합니다.
  2. 객체는 특정 클래스의 속성과 메서드를 포함합니다.
  3. 원소는 순회 가능한(iterable) 객체에서 하나씩 접근 가능한 각각의 요소를 의미합니다.
  4. 문자열, 리스트, 튜플 등은 순회 가능한(iterable) 객체입니다.
  5. 문자열은 각 문자가 문자열의 원소입니다.

댓글