부스트코스 파이썬(PY4E) 코칭스터디 1기 - 2주차 학습

<world />·2021년 7월 24일
0

부스트코스

목록 보기
3/7
post-thumbnail

📖조건문(if else)


들어가며

어린 시절 한번쯤은 해보았을 '스무고개'라는 게임은 질문자가 질문을 하면, 답변자는 Yes 또는 No의 대답을 하는데, 질문자는 20개의 질문만으로 답을 맞춰야 하는 게임이다. 스무고개는 하나의 정답을 맞추기 위해 트리 구조를 만든다면, 컴퓨터의 결정 트리는 Yes 또는 No 각각의 경우에 맞춰 컴퓨터가 동작할 수 있게 프로그래밍 하는 것이다. 이를 흐름제어(Control Flow)라고 한다.

학습 목표

조건부 실행(Conditional Execution)에 대해서 알아보려 한다.
조건부 실행은 우리의 코드가 무언가가 검사를 하거나 결정을 내릴 때 사용한다. 파이썬이 명령문을 실행시키거나 넘어가는 방법을 알아보도록 하자.

핵심 키워드

  • 조건부 실행(Conditional Execution)
  • 들여쓰기
  • if
  • else




학습 내용


if문

if문의 기본적인 형태는 아래와 같다.


비교 연산자

조건문의 참 또는 거짓을 판별하기 위해 사용되는 비교 연산자들이 있다. 아래와 같은 비교 연산자들을 사용한다.

연산자의미예시
>x가 y보다 클 때 True, 그 외에는 Falsex > y
<x가 y보다 작을 때 True, 그 외에는 Falsex < y
>=x가 y보다 크거나 같을 때 True, 그 외에는 Falsex >= y
<=x가 y보다 작거나 같을 때 True, 그 외에는 Falsex <=y
==x와 y가 같을 때 True, 그 외에는 Falsex == y
!=x와 y가 다를 때 True, 그 외에는 Falsex != y

들여 쓰기 (indentation)

파이썬에서는 들여쓰기를 매우 엄격하게 생각한다.
들여쓰기가 제대로 되어 있지 않다면 파이썬은 문법 에러를 통해 우리에게 동무을 요청하게 된다.

조건문에서 x가 가진 값이 10보다 작기 때문에 Smaller가 출력이 되겠다고 생각하겠지만, 들여쓰기를 제대로 하지 않았기 때문에 파이썬은 아래와 같이 들여쓰기 에러를 통해 들여쓰기가 잘못되었어! 라고 이야기 해준다.

IndentationError: expected an indented block

통상 들여쓰기는 Tab 또는 Space 네 번 과 같다.
컴퓨터가 탭을 잘못 인식하는 경우도 있으므로 Tab 보다는 Space 네 번으로 사용하도록 하자.


단일 if문, if else문

단일 if 문

단일 if문으로 사용하는 경우, 조건문이 참인 경우에만 미리 입력해 놓은 실행코드를 실행하게 된다.

if else 문

첫번째 조건문의 조건이 거짓인 경우에 대해 처리하기 위해 우리는 else를 사용할 수가 있다. 즉, 첫번째 if문의 조건이 거짓인 경우 else문 이하의 실행코드가 실행된다.


주의사항

조건문(if, else)을 사용할 떄에는 주의할 점이 2가지 있다.

  • 조건문 후에 : (콜론)을 찍어야 한다.
  • 조건문이 참일 경우 실행할 코드는 들여쓰기를 해야한다.

코드를 실행시켰는데 에러가 난다면 위 두 조건을 제대로 만족하였는지 확인해보자!




📖조건문(elif)과 예외처리(try, except)


들어가며

단일 if 문을 통해 조건문의 활용 가능성을 파악하였다. 지금부터는 심화과정으로 if ... else 문과 다중 분기를 배워보도록 하자.

학습 목표

다중 분기(Multi-way Decision) 조건문을 이해하고 사용할 수 있다.
try / except 문을 이용하여 오류를 처리 할 수 있다.

핵심 키워드

  • 다중 분기 (Multi-way Decision)
  • try / except




학습 내용


다중 분기 (Multi-way decisions)

우리는 하나의 조건문 블럭에 프로그래머의 필요에 의해 조건문들을 추가할 수 있다. elif 라는 예약어를 통해서 가능하다.

try / except

파이썬에서는 발생할 수 있는 error에 대해서 프로그래머가 미리 대처를 할 수 있도록 하였다. 이는 try / except로 가능하다.

예를 들어 사용자가 입력값으로 숫자만 넣어야 하는 경우 문자를 넣었을 때 프로그램이 종료 되고 멈출 것이 아니라, 올바른 입력값을 넣도록 하는 것이 합리적인 방법이다.




📖함수


들어가며

함수는 하나의 박스라고 생각하면 된다. 프로그래밍에서 함수를 사용하는 이유는 반복적으로 실행되어야하는 코드의 묶음을 프로그래머가 기억하기 쉬운 이름으로 저장하여 반복적으로 호출하고 싶을 때 함수를 사용한다. 파이썬에서는 어떻게 함수를 정의하고 호출하는지 살펴보도록 하자.

학습 목표

함수의 개념을 이해하고 내장 함수를 잘 사용 할 수 있다.

핵심 키워드

  • 함수
  • 내장 함수




학습 내용


함수(Function)

함수는 반복적으로 호출해야 하는 코드의 묶음을 하나의 블럭으로 만들어 이름을 붙여 재사용률을 높인 "코드의 묶음"이다.

예를 들어, 이를 닦는다를 어린 아이에게 가르친다고 생각해 보자. 그리고 아이한테는 각 단계를 매일 하나하나 알려줘야 한다고 가정해 보자.

  1. 치약과 칫솔을 꺼낸다
  2. 치약을 칫솔에 1cm가량 바른다
  3. 물을 묻힌다
  4. 윗니를 닦는다.
  5. 아랫니를 닦는다.
  6. 물로 헹군다.

만약, 위와 같은 과정을 매일 반복해서 알려줘야 한다면, 비효율적인 반복적인 일이 될거다.

이것을 하나의 함수로 정의를 한다면 아래와 같이 될 것이며, 양치질()이라는 함수의 이름만 호출해주게 되면 : (콜론) 이후에 입력해 놓은 실행 코드를 순차적으로 실행하게 된다.


내장 함수

파이썬에는 이미 정의된 함수들이 있다. 우리가 지금까지 사용해 왔던 내장 함수들은 아래와 같다.




📖함수 만들기


들어가며

반복적으로 실행되어야 하는 코드의 덩어리를 우리가 쉽게 호출 할 수 있는 이름으로 정의하여 한번의 호출로 함수내의 실행코드를 순차적으로 실행하고 싶을 때 우리는 함수를 사용한다고 했다. 지금부터는 함수에 입력값과 출력값에 대해서 살펴 보도록 하자.

학습 목표

함수의 개념을 이해하고 나만의 함수를 만들 수 있다.
매개변수를 사용하는 정의된 함수를 호출할 때 인자를 전달하여 원하는 결과를 볼 수 있다.

핵심 키워드

  • 함수
  • 인자(Argument)
  • 매개변수(Parameter)




학습 내용


우리만의 함수 만들기

함수를 만드는 과정에서 가장 중요한 것은 저장과 호출에 대한 이해이다. 앞서 살펴본 것처럼 함수를 저장하기 위해서는 def 라는 예약어를 사용한다.

def greeting() :
  print("Hello World")

:(콜론) 뒤에 우리가 실행하고자 하는 실행 코드를 입력하는 것으로 우리가 원하는 결과(만약 "Hello World" 가 출력되기를 바란다면)를 기대할 수는 없다. 여기까지는 함수를 정의하는 단계이다. 지금부터는 함수 호출 방법이다. 우리가 원하는 결과를 즉, Hello World가 실행되기를 바란다면 우리가 정의한 이름으로 저장된 함수를 호출해야 한다.
여기서는 greeting() 이라는 이름으로 호출하면 된다.

def greeting():
  print("Hello World")
  
greeting()
# Hello World가 출력된다.

인자(Argument)

인자란 함수를 호출할 때 전달하는 값을 말한다. 넘겨 받는 수 또는 값이라고 생각하면 쉽게 이해할 수 있다! 앞서 사용했었던 print 함수에 들어가는 문자열도 인자이다.

매개변수(Parameters)

매개변수는 함수가 정의된 곳에서 변수처럼 사용하는 것을 말한다.

def greeting(lang):
  print(lang)

greeting("Hello World")

# Hello World가 출력된다.

반환값(Return Value)

종종 함수는 함수가 정의된 곳에서 전달받은 매개변수를 이용해 프로그래머가 의도한 코드를 실행한 뒤, 계산 결과인 값을 반환 할 수도 있다. 이와 같은 상황이라면 당연히 함수를 다른 함수의 인자로 사용 할 수도 있다.

def greet():
  return "Hello"

print(greet(), "Connect")
print(greet(), "Python")

# Hello Connect으로 출력된다.
# Hello Python으로 출력된다.

Multiple 매개변수 / 인자

여러개의 매개변수를 받는 함수를 만들 수도 있다. 더하기 함수를 만들어 보도록 하자!

def add(left, right):
  return left + right

print(add(1, 2))

# 3으로 출력 된다.




퀴즈

📖Quiz 3





📖Quiz 4


0개의 댓글