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

1. 파이썬 들어가기에 앞서

by Jinger 2023. 2. 16.

서론

     시대가 발전하면서 컴퓨터에 대한 이해가 필요해졌고 자연스레 초등학생부터 대학생까지 모든 이들이 코딩에 대해 직접 혹은 간접적으로 접해보았을 것이다. 그중 대다수는 블록 코딩 혹은 파이썬으로 접했을 것이다. 그래서 간단하게 파이썬을 정리해보자 한다.


코딩을 배워야 하는 이유

     많은 이들이 코딩을 배우라 하지만, 정작 코딩을 왜 배우는 지 모르거나 필요성을 못 느낀다. 게다가 대다수의 블로그에서는 그 이유로서 문제해결 능력, 사고력, 창의성, 협동성 등을 말하지만, 이 이유 모두 다른 과목 혹은 다른 분야에서 충분히 배울 수 있는 점들이다.

     제가 생각하기에 코딩을 배워야하는 이유는 "컴퓨터 사고력" 혹은 "Computer Thinking"이라 불리는 "논리적 사고 구현"에 있다고 본다. 컴퓨터 언어들은 우리가 입력한 것만 실행을 하고 빠르게 계산해 주는 단순한 친구들이다. 우리는 이 친구들로 복잡한 문제를 풀기 위해 직접 구조를 짜고 헤쳐나가는 것이 이 학문의 의의라고 생각한다.

그렇다면 왜 하필 파이썬일까?

    정말 단순한 이유이다. 다른 언어들과 다르게 매우 인간적인 언어이기 다른 이들도 쉽게 접할 수 있다.

if 4 in [1,2,3,4] print("I'm here")

    이를 초등학생들에게 보여주고 print가 무슨 의미인지만 설명해줘도 "4가 [] 안에 있으면 "I'm here"라고 말해라"라고 말한다. 놀랍게도 초등학생들도 이 파이썬 언어를 읽을 수 있는 것이다. 이것이 파이썬의 가장 강력한 특징인 것이고 이 때문에 교육적으로 쉽게 채택을 할 수 있는 것이다.


특징

  • 인터프리터 언어: 컴퓨터가 코드를 한 줄씩 읽어 실행을 한다. (반대 개념을 컴파일러 언어라 한다.) 그렇기에 코드 작성을 할 때도 글을 쓰듯이 적어야 한다.
  • 동적 타입 언어: 자료형을 지정하지 않고 선언만 해도 된다. 이 덕분에 파이썬의 문법이 쉬운 것이다.
  • OS 독립: 윈도우, 맥, 리눅스 등을 가리지 않고 어느 환경에서든 활용이 가능하다. 덕분에 다른 언어와 결합도가 높다. 

장담점

장점

  • 읽기 편하고 사용하기 쉽다.
  • 높은 이식성과 확장성
  • 활발한 생태계, 파이썬에는 수많은 라이브러리가 존재하고 등장한다. 이를 사용하여 많이 사용되며 오픈소스로 쉽게 접근이 가능하다.

단점

  • 느리다. 인터프리터 언어이기에 발생하는 문제이다. 매번 실행할 때마다 한 줄씩 읽고 실행하기에 오래 걸린다.(런타임 에러) 
  • 국내 시장에서 취업이 어렵다. 위에서 봤다싶피 너무나도 쉽기 때문에 누구나 마음만 먹으면 바로 사용할 수 있고, 국내에서는 인공지능, 통계, 대학원 등을 제외하면 실질적으로 사용하는 곳이 적다.
  • GIL(Global Interpreter Lock, 비전공자는 몰라도 된다.) 하나의 스레드에 모든 자원을 허락하고 나머지 스레드에 락을 걸어 다른 스레드가 실행되지 않도록 막아버리는 기능이다. 이 덕분에 혼동은 없어지지만, 성능 저하가 생긴다.

활용 분야

  • 인공지능(머신러닝, 딥러닝)
  • 통계(빅 데이터, 데이터 시각화)
  • 메크로(자동화 프로그램) 
  • 웹 프로그래밍(웹 크롤링, 검색 엔진)
  • 사물 인터넷
  • 데이터 베이스
  • 임베디드 시스템(라즈베리파이)

하기 힘든 분야

  • 고사향 게임
  • 운영체제

사용하기 위해

  • 파이썬 홈페이지에서 파이썬 다운 및 오픈소스 검색을 할 수 있다.
  • 모듈에 대한 검색이 필요하다면 이곳에서 찾아볼 수 있다.(https://pypi.org/)
  • 개발툴(개발하기 편하게 도움을 주는 프로그램)로 아나콘다의 주피터, 파이참, VSCode, Colab등이 있다. 초보자 및 수업용으로는 주피터를 추천한다. 다른 언어도 사용하는 사람에게는 VScode를 추천한다. 파이썬만 사용하는 이에게는 파이참을 추천한다.
  • 가볍게 공부 혹은 잠시 사용할 사람들에게 "Do it! 점프 투 파이썬"<박응용> 혹은 "혼자 공부하는 파이썬"<윤인성>
  • 깊게 공부하고 싶은 사람들에게 "Fluent Python"<루시아누 하말류>를 추천한다.


참고 자료

     앞으로 파이썬 글에 대부분은 "혼자 공부하는 파이썬"<윤인성>을 참고한 것과 내가 수업을 위해 만든 자료들이다.

내가 직접 만든 교육자료이지만, 종종 오타도 보이고 설명이 필요한 부분은 구술로 하기에 파이썬 블로그을 어느 정도 이해가 필요하다. 만약 사용하고 싶다면 댓글로 남겨주길 바란다.

 

파이썬 교육 자료

파이썬 교육 시 사용한 자료(초등학생도 이해할 수 있게 노력한 자료이다.)

jinger.tistory.com

 

반응형

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

5.반복문  (0) 2023.02.20
4.조건문  (0) 2023.02.20
3.변수와 입력문  (0) 2023.02.18
2. 출력문  (1) 2023.02.18
파이썬 교육 자료  (1) 2023.02.16

댓글