본문 바로가기
카테고리 없음

[Python] 기초 공부 내용 정리 (조건문, 반복문)

by dwoi 2023. 3. 21.

Python에 대해서 공부한 기초 내용을 정리하는 글

목차

     


    Python - 제어문의 이해


    1. 조건문

    특정 조건의 참, 거짓에 따라 작성한 코드가 동작할지 말지를 결정

    if (조건) :  

       실행할 문장

    elif (조건) : 

       실행할 문장

    else : 

       실행할 문장

     

    1.1. 들여쓰기 - ★ 

    • if 문을 작성하면서 실행할 문장을 들여썼는데, 매우 중요! → 영역 구분
    • 공백은 tab, space 전부다 가능하지만 같은 공백만을 써야 하는 것을 절대 주의

     

    1.2. 조건문의 참,거짓

     자료형의 참, 거짓

    • 숫자형 : 0이 아닌 수 →  참
    • 문자열 : 비어 있지 않으면 참
    • 리스트 : 위와 동일
    • 튜플 : 위와 동일
    • 딕셔너리 : 위와 동일

    1.3. 비교 연산자

    • >, < : 크다, 작다
    • >=, <= : 크거나 같다 or 작거나 같다.
    • == : 같다.
    • != : 같지 않다.

     

    그 외 연산자

    and, or, not, in, not in


     

    2. 반복문

    어떤 작업들이 반복적으로 사용할 떄 사용

    2.1. for 문

    2.1.1. for 문의 기초 문법

    더보기

    for 변수명 in 리스트,튜플,문자열 : 
          실행할 문장
          실행할 문장

    2.1.2. range() 함수

    range(100): [0,1,2,3,4,…99] 
    •즉,  range함수는 입력한 숫자에 맞는 리스트를 만들어 줌

     

    range(10,50)

    10부터 50미만까지

     

    range(11,50, 2)

    11 13 15 17 …

     

    2.1.3. 자료형과 활용

    ※ dict : items()로 반환을 하면 key와 value값들이 튜플 형태로 리스트안에 담겨져서 나옴.

                튜플의 값의 개수에 맞게 변수명을 써주면 값이 쪼개져서 각각 값이 들어가게 됨.

     

    2.2. while 문

    특정 조건을 만족할 때까지 반복함.

    더보기

    while (조건) :

           실행문

     

     

    2.3. input 함수

    •사용자로부터 입력을 받는 함수
    •뒤에 문자열을 출력해주고 사용자의 입력을 기다림
    •엔터가 입력될때까지 입력받음

    user_input=input('input : ')

    while (user_input == 'quit') :

      user_input = input('종료하려면 quit를 입력해주세요.')

      print('quit')

     


     

    3. 반복문의 활용

    3.1. break문

    • 반복을 하긴 하는데 반복을 나가고 싶을 떄 활용
      • ex. 조건을 주고 조건을 만족하면 break하도록 코딩
    • while문의 조건문이 복잡하여 풀어쓰기 위해서도 사용됨.
    • while True :
          if data == '0' :
              break
          print('test1')

    3.2. continue 문

    • 반복을 하긴 하는데 특정 경무만 건너뛰고 싶을 때 활용
      • ex.  중첩 조건문이 많아 코드 들여쓰기가 많은 경우 continue를 활용하여 가독성 향상
      • 원하는  정보가 없어서 해당 데이터만 건너뛸 경우 활용도 가능.

    → 즉 예외되는 조건들만 적어서  cotinue 문으로 작성해두고

    나중에 최종으로 진행할꺼면 밑에 놔두면 가독성이 많이 향상되는 코드를 얻을 수 있다는 게 핵심.

     

    ※ while문에서 cotinue 사용 시 무한 반복될 수 있으니 꼭 빠져나가기 위한 조건을 체크하고 작성.


    4. 함수

    4.1. 함수

    • 함수 : 입력값을 받으면 특정 작업을 수행한 후에 결과값을 주는 것
      • 다만 함수 중에는 입력값이 없을 수도, 결과값이 없을 수도 있음.

     

    4.1.1. 사용자 정의 함수란?

    그런데 이런 함수를 사용자가 직접 함수를 정의하여 활용할 수도 있음.

    같은 코드가 길게 반복되는 것을 방지할 수 있음.

     

    사용자 정의 함수

    • 함수가 호출 되기 전까지는 함수 안에 있는 문장은 수행이 안됨!
    • 함수는 호출 되기 전에 만들어져야 함!
    • 입력값은 함수안에서 변수로 사용됨
    • 공백 들여쓰기 매우 중요!
    더보기

    def 함수 이름 (매개변수1, 매개변수2, ) : 

             <실행할 코드>

             <실행할 코드>

             <실행할 코드>

    4.1.2. return문

    • 함수를 호출한 곳에 결과값을 전달하는 함수
    • 즉 함수를 정의할때 return문이 없으면 결과값이 전달되지는 않음.
    • 필요할 떄 사용하

     

    Tip : 함수에 변수 설정할 때 기본값도 설정 가능 

    → 즉 변수 개수에 안맞게 변수를 넣어줘도 안넣은 건 기본값으로 해서 처리한다.

    → 또한 변수를 지정해서 넣어줄 수도 있음.

     

    5. 변수의 스코프와 내장함수

    5.1. 스코프

    • scop : 범위, 영역
    • 변수는 처음 사용된 위치에 따라 스코프가 결정됨
    • ex. 함수를 정의할 때 사용한 변수는 함수 안에서만 변수지 밖에서 다시 정의를 안해주면 난 몰라
    • 이런 스코프는 들여쓰기가 표현되어 있는거로 판단한다

    ※ 제어문에서의 스코프 -

    • 코드의 실행 여부에 따라 변수 생성이 결정됨. (if, else 둘 중에 하나는 무조건 실행되는 경우, 미리 선언하는 방)

     

    5.2. 내장함수

    자료형 변환 함수

    int() : 변수를 숫자형으로 변환하여 반환

    str() : 변수를 문자열로 변환하여 반환

    list() : 변수를 리스트로 변환하여 반환

    tuple() : 변수를 튜플로 변환하여 반환

    dict() : dictionary 변수 생성

    • 딕셔너리는 key와 value가 있으니 다른 자료형을 변환하는 함수가 아님.

     

    그 외 함수

    len() : 변수의 길이를 변환 →

    input() : 사용자로부터 문자열을 입력받음

    range() : 리스트를 만들어주는 함수

    max,min : 리스트, 튜플 문자열에서 최대 or 최소 값을 반

     

    6. 표준 입출력

    6.1. 표준 입출력

    • 표준 이란?
      • '가장 '기본적인' 입력과 출력을 의미
      • 표준 입력 : 키보드 입력
        • ex. input() 함수
        • 사용자로부터 입력을 받는 함수, 문자열을 출력해주고 사용자의 입력을 기다림.
      • 표준 출력 : 모니터 상에 출력
        • ex. print() 함수
        • 화면에 문자열을 출력하는 함수

    6.2. 문자열 포매팅

    • 표준 출력을 하기 위해 필요한 문자열을 포매팅
    • format() 함수와 { }를 함께 사용하여 서식 지정할수도 있음.
      • {}의 순서대로 지정해준대로 들어가는 포맷.
      • {} 안에 숫자를 넣어두면 인덱싱
      • 슬라이싱도 가능하다!

    포매팅의 장점

    • 비슷한 형태로 출력을 하고 싶을 때 문자열 형태만 그대로 가져다가 데이터만 집어넣으면 되니까 편리함.
    • 즉 포맷 정보와 대입하고 싶은 정보가 분리되는 게 장점.

    5d는 다섯가지의 자릿수를 표현한다고 생

    f- string

    print(f'{a} + {b} = {a+b}')

    문자열 앞에 f를 놓는 것으로 안에 변수를 넣어줘도 format할 수 있음.

    {}와 변수와 같이 표현은 : {{{a}}}로 표현.

    마무리

    조건문과 반복문 문법 자체는 무난하게 넘어갈 수 있지만 실제로 어떤 조건을 짜내야 하고

    조건문이 중첩되고 반복문과 조건문이 섞이는 순간 뇌정지가 올 가능성 농후!

    연습을 잘 해놔야 함. (가상의 예제를 통해 숙달이 되어야 함.)

     

    즉 문법이 어려운게 아니라 저런 조건들과 어떻게 반복되는지를 생각해내는 것이

    순서 짜내는 것이 제일로 중요하다고 판단.

    댓글