코돈의 7주 완성 기초 프로그래밍
    • 01
      들어가기 전에
    • 강좌의 대상과 목표
      강좌 일정
      프로그래밍이란?
      왜 하필 파이썬이죠?
      파이썬 맛보기 - 반복문
      파이썬 맛보기 - 조건문
      파이썬 맛보기 - 함수
    • 02
      [1주차] 변수와 콘솔 출력
    • 강의 목표
      콘솔 출력의 기본
      변수의 선언과 초기화
      실습: 간단한 덧셈
      정리
    • 03
      [1주차] 자료형과 연산자
    • 강의 목표
      콘솔 입력의 기본
      숫자형 소개
      숫자형 연산과 수식연산자
      숫자 연산과 콘솔 입력 실습
      복합대입연산자란?
      수식연산자, 복합연산자 실습
      정리
    • 04
      [1주차] 문자열 자료형
    • 강의 목표
      문자열 자료형이란?
      이스케이프 시퀀스 (\)
      이스케이프 시퀀스 실습
      문자열의 연산
      인덱싱과 슬라이싱
      인덱싱과 슬라이싱 실습
      문자열 포맷팅
      문자열 포맷팅 실습
      문자열 포맷팅 2
      문자열 함수
      문자열 함수 실습
      정리
    • 05
      [2주차] 리스트 자료형
    • 강의 목표
      리스트 만들기
      리스트 만들기 실습
      리스트의 연산
      리스트 수정 및 삭제
      리스트 함수
    • 06
      [2주차] 사전(Dict) 자료형
    • 강의 목표
      딕셔너리 자료형이란?
      딕셔너리 자료형 실습
      딕셔너리 관련 함수들
      딕셔너리 함수들 실습
      정리
    • 07
      [2주차] 불 (Boolean) 자료형
    • 강의 목표
      불 자료형이란?
      리스트 내 요소의 존재 확인하기
      논리연산자와 관계연산자
      불 자료형 실습
    • 08
      [3주차] 반복문
    • 강의 목표
      반복문이란?
      while 반복문
      for 반복문
      while 반복문 실습
      for 반복문 실습
      정리
    • 09
      [3주차] 조건문
    • 강의 목표
      if 문이란?
      if문 실습
      제어문: break과 continue
      정리
    • 10
      [3주차] 함수
    • 강의 목표
      함수란?
      함수 실습
      매개변수
      반환값
      반환값 실습
      변수의 범위: 지역변수와 전역변수
      함수 실습 2
      함수 챌린지
      정리
    • 11
      [4주차] 클래스
    • 강의 목표
      클래스, 객체, 인스턴스
      클래스 만들어보기
      클래스 만들기 실습
      생성자와 클래스 변수
      생성자 실습
      클래스의 상속
      클래스의 상속 실습
      정리
    • 12
      [4주차] 모듈
    • 강의 목표
      모듈이란?
      구름 IDE 사용하기
      IDE에서 파이썬 실행 환경 만들기
      모듈 만들기
      정리
    • 13
      [5주차] 파이썬 프로젝트!
    • 편의점 프로그램 만들기
      물품 선택하기
      물품 갯수 확인하기
      할인 쿠폰 여부 확인
      영수증 출력하기
      [보너스] 여러 품목 구입하기
    • 14
      [6주차] HTML: 웹 디자인의 쌩기초
    • 강의 목표
      HTML이 뭔가요?
      CSS가 뭔가요?
      HTML/CSS 맛보기
      HTML의 구성요소
      HTML 문서의 기본 구조
      제목, 본문, 구획 태그
      링크 태그
      이미지 태그
      리스트 태그
      [번외] 시맨틱 태그
      정리
    • 15
      [6주차] CSS와 느낌있는 웹페이지
    • 강의 목표
      CSS 일단 적용해보기
      CSS의 기본요소
      다양한 선택자
      박스 모델
      텍스트 관련 CSS
      색상 정하기
      정리
      번외: Bootstrap
    • 16
      [7주차] 웹 스크래핑
    • 강의 목표
      웹 스크래핑이란?
      실습 환경 구축 - 구름IDE
      실습 환경 및 목표 설정하기
      URL에서 정보 가져오기
      동영상 관련 정보 추출하기 (1)
      동영상 관련 정보 추출하기 (2)
      동영상 관련 정보 추출하기 (3)
      동영상 관련 정보 추출하기 (完)
      Pandas로 표 만들고 저장하기
      정리
    왜 하필 파이썬이죠?
    01 들어가기 전에
    왜 하필 파이썬이죠?

    세상엔 정말 수 많은 프로그래밍 언어가 있습니다. 그런데 왜 하필 파이썬일까요? 지금부터 왜 파이썬을 배우는지 파이썬의 특징과 함께 간단히 짚고자 합니다.

    default

    1. 파이썬은 입문용으로 좋은 언어지만 쉽지만은 않다

    파이썬은 세계적으로 대학교에서 프로그래밍 입문 언어로 자주 사용할 만큼 입문용으로 추천되는 언어입니다. 때문에 파이썬이 '쉽다'는 말도 많은데, 사실 이게 어디까지나 상대적으로 쉽다는 의미이지 절대적으로 쉽지만은 않습니다. 입문용 언어라고는 하지만 프로그래밍과 잘 안 맞는 분들에겐 충분히 어려울수도 있는 내용입니다.


    2. 그럼에도 쉽다

    여기서 쉽다는 말은 난이도를 뜻하는 말이 아닙니다. 문법적인 특성을 이야기하는 겁니다. 프로그래밍 언어가 기계의 특성을 많이 반영하고 있을수록 저수준(low level)이라 하고, 사람의 사고과정과 유사할수록 고수준(high level) 이라 부릅니다. 쉽게 말하자면 고수준의 언어일수록 덜 복잡하고 사람이 이해하기 직관적이라는 말입니다. 파이썬은 고수준 프로그램 중에서도 그 구조가 간단한 편입니다. 예를 들어 보겠습니다. (예시 출처: https://python.bakyeono.net/intro.html

    프로그래밍을 공부하고자 하는 분이시라면 C언어는 한 번쯤 들어보셨을 겁니다. 아래 코드는 C++에서 11부터 20까지 자연수의 합을 출력하는 프로그램입니다.

    c

    아래는 같은 내용을 파이썬으로 프로그래밍한 결과입니다.

    py3

    파이썬이 더 보기 편하고 덜 복잡해보이죠? 저 코드들이 당췌 무슨 소리를 하는지는 지금 당장 이해하기 어렵겠지만, 파이썬이 더 직관적이라는 부분은 잘 전달이 되리라 믿습니다.


    * 참고하세요!

    파이썬은 인터프리터 언어이고 C나 JAVA와 같은 언어는 컴파일러 언어라 합니다. 이 때문에 파이썬은 다른 언어들에 비해 다소 간단한 특성을 가집니다. 두 언어 타입을 비교한 표를 참고해주세요.


    인터프리터컴파일러
    정의소스 코드를 바로 실행하는 컴퓨터 프로그램, 혹은 그러한 환경(실시간 통역과 비슷)특정 프로그래밍 언어를 다른 프로그래밍 언어로 번역하는 프로그램(통번역과 비슷)
    특징

    소스 코드를 한 줄씩 읽어들이며 번역과 실행을 동시에 진행

    별도의 실행 파일이 존재하지 않으며, 잘못된 명령을 수정하기 쉬움

    하지만 소스 코드를 직접 실행하기 때문에 실행 속도가 느림

    소스 코드를 목적 코드로 번역하여 옮기기 때문에, 별도의 실행 가능한 프로그램을 생성

    생성된 프로그램은 목적프로그램 또는 바이러니 파일이라 부름

    이미 프로그램을 생성했기 때문에 실행 속도가 빠름

    대표 언어Python, JavascriptC, C++, Java
    default

    3. 여러 분야에서 사용하는 언어

    파이썬은 단지 교육용 언어가 아닙니다. 전 세계적으로 널리 사용되고 있고 그 사용처도 다양합니다. 게임 개발, 3D 그래픽, 웹 개발, 데이터베이스 관리, 수치 해석 등 여러 분야에서 파이썬을 사용하고 있으며, 구글, 유튜브, 드랍박스 등 다양한 업체에서도 파이썬을 사용합니다. 실무가 가능한 언어라는 소리지요.


    4. 파이썬은 빠르다!

    파이썬이 빠른 언어라 하면 의아할지도 모릅니다. 사실 고수준 언어일 경우 프로그램이 실행되는 속도 자체는 느리고,  저수준 언어일 경우 프로그램의 실행 속도가 빠른 편이라 사실 파이썬 프로그램은 다소 느린 축에 속합니다.

    여기서 빠르다는 말은 실행이 빠르다는 말이 아닙니다. 이미 만들어져 있는 프로그램들이 많다는 이야기죠. 예를 들어, 우리가 파워포인트에서 차트를 만들 때 일일이 직사각형을 하나씩 그려가며 만들지는 않잖아요. 파워포인트 내에 '차트 만들기' 툴을 이용해서 한큐에 해결하죠. 파이썬도 마찬가지입니다. 내가 파이썬으로 무언가를 하려고 한다면 이미 그걸 위해 만들어져있는 툴들(라이브러리 등)이 많고 이로인해 폭넓은 유저 수로 인한 결과죠. 덕분에 파이썬으로 무언가를 만드는 일은 빠릅니다. 내가 1부터 10까지 다 만들 필요가 없고, 만들어져 있는 툴들을 이용해 7부터 만들면 되니까요.


    여기까지 파이썬을 배우는 이유를 간단히 살펴보았습니다. 다음으로 넘어가기 전, 파이썬에서 중요한 특징 하나를 강조하고 넘어가고자 합니다. 바로 인덴트(들여쓰기)입니다.


    5. 인덴트

    파이썬은 다른 프로그래밍 언어보다 인덴트, 즉 공백이나 들여쓰기에 매우 민감합니다. 일반적으로 사용하는 다른 프로그래밍 언어들은 범위를 표현하기 위해 중괄호 ( ) 를 이용하는 반면, 파이썬은 공백(Tab , Space키)을 이용합니다. 따라서 공백을 사용할 때 매우 신중해야 합니다. 특히 다른 프로그래밍 언어를 다루다 파이썬을 시작할 때 들여쓰기에 주의하지 않아 에러가 발생하는 경우가 많은데요. 예시를 통해 한번 살펴보겠습니다.

    c
    실행 결과를 확인해보세요!

    C언어는 중괄호를 통해 영역을 구분하기 때문에 printf 왼쪽에 들여쓰기 없이도 코드가 정상 작동합니다. 하지만 파이썬은 아닙니다. 예시를 한번 볼게요.

    py3
    실행 결과를 확인해보세요!

    위 코드를 실행하면 IndentationError: unexpected indent가 발생합니다. 공백에 대한 에러가 발생했다는 소리죠. 이는 print 왼쪽에 공백이 존재하기 때문에 발생하는 에러입니다. 띄어쓰기를 없앤 코드를 실행해볼게요.

    py3
    실행 결과를 확인해보세요!

    이제 정상적으로 출력이 되는 모습을 보실 수 있습니다. 파이썬을 처음 접했을 때 자주 겪을 수 있는 에러이니, indent 에러 발생시 띄어쓰기나 공백이 잘못 들어가있진 않은지 살펴보길 권장합니다.

    질문하기