본문으로 바로가기

파일의 IT 블로그

  1. Home
  2. 프로그래밍 강좌/Python [리뉴얼중]
  3. [파이썬 강좌] #1 파이썬 알아보기 & 학습 방향 잡기

[파이썬 강좌] #1 파이썬 알아보기 & 학습 방향 잡기

· 댓글개 · KRFile

 

안녕하세요 파일입니다. 제가 추천해드리고 싶은 프로그래밍 언어가 있는데 바로 파이썬입니다. 

오늘은 파이썬에 대해 알아보고 간략하게나마 이해하는 시간입니다. (코딩은 따로 진행하지 않겠습니다.)

 

* 내용을 읽다가 모르는 프로그래밍 내용이나 단어들이 있으면 대충 아~ 그렇구나 하고 넘어가주시면 됩니다.

 

프로그래밍 언어 어떻게 배워야 할까?

아마 이 글에 찾아오신 분들은 파이썬에 대해 관심이 있거나, 프로그래밍을 처음 배우고자 하는데 시작할만한 언어로 파이썬을 추천 받은분들이 대부분일 겁니다. 물론 심심해서 온건데 아닐수도 있지만요.. 어쨌던 간에 프로그램 만드는 방법을 배우기 위해 프로그래밍을 배우러 온 의지가 있으신 분들일거라고 믿습니다.

 

이미지 출처 : https://insightcampus.co.kr/2021/02/08/%EF%BB%BF%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%9E%98%ED%95%98%EB%8A%94-5%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95/

일단은 프로그램을 만들기 위해선 프로그래밍(=코딩) 이란 것을 해야 하고, 프로그래밍은 프로그래밍 언어로 합니다.

위와 같은 멋있어 보이는 코드들을 논리에 맞게 잘 치면 프로그램을 완성할 수 있다는 것이죠. 물론 코딩을 아직 배워본건 아니지만, 다들 이 정도는 아시죠?

 

일단은 여러분이 프로그래밍을 배우고자 하는 의지가 있는 학생이라는 가정하에, 우리는 프로그래밍을 위해 프로그래밍 언어를 배워야 합니다.

 

그러나 처음 시작한 사람들에겐 너무 막막하기만 합니다. 현대에 와서 현대 프로그래밍 언어의 종류는 너무 많거든요. 대충 기억나는것만 나열해보자면 C, C++, Python, Java, Go, Rust, R, Javascript, Swift, 등등... 

우리는 이렇게 많은 프로그래밍 언어중에 과연 뭘 배워야 하는걸까요? 

 

저 중에 이름을 아는게 몇가지 있을 순 있지만 저것들이 무엇에 사용되는지 잘 모르는데요 :(

오늘은 우선 파이썬을 소개함에 앞서 공부 방향을 먼저 잡고가는 시간을 가지겠습니다. 

 

만약에 파이썬을 배울 의지가 확고하고, 이미 방향성이 다 잡힌 분들이라면 아래 파이썬이 인기 있는 이유만 보고 오늘 1편을 간단하게 넘기시면 되겠습니다 :)

 

참고로 이 아래 부분 부터는 제가 N년간 코딩을 해오면서 축척된 생각, 즉 주관적 견해이므로 전부 맞는 얘기가 아닐 수 있으니 주의해주시길 바랍니다.

 

프로그래밍 입문자는 C, Python을 배우자

우선 프로그래밍을 처음 배운다면, 저는 C나 Python을 배우는걸 적극 권장합니다.

옛날에는 프로그래밍 시작하면 무조건 C언어를 추천하곤 했는데 요새는 트렌드가 좀 바뀌었습니다.

 

그래도 여전히 C, Python 선택지가 2개 있어서 햇갈리시죠? 이럴때 선택하는 팁을 알려드리겠습니다.

 

만약 자신이 프로그래밍에 문외한, 완전 생초보, 문과생 / 비전공자다 하면 무조건 Python으로 시작,

만약에 본인이 전공자, 컴퓨터 계통에 소질이 있는 사람, 컴퓨터의 기계단에서 깊은 이해를 하고 싶다 하면 C로 시작하시면 됩니다. 

 

사실 둘 다 배우는것도 좋은 선택입니다. 둘 다 배울려면 간단하게 Python으로 시작한 분들은 C를 나중에 배우고, C로 시작한 분들은 Python을 나중에 배우면 됩니다. 참 쉽죠?

(두 언어의 지향점이 많이 다르기 때문에 두개를 다 배워둬도 서로 도움이 됩니다.)

 

아래는 파이썬을 배우면 할 수 있는 것들입니다. 참고로 파이썬은 거의 만능에 가까운 언어라 웬만한 프로그램을 파이썬 하나로 다 만들 수 있습니다. 물론 모두 다 완벽하게 잘하는건 아닙니다. Main 이라고 붙은건 파이썬이 잘하는 것, Sub라고 붙은건 파이썬이 좀 부족한 것 (잘 못하는것) 입니다.

 

파이썬으로 할 수 있는 것

1. 전반적인 PC 프로그램 [MAIN]

검정창(도스, CLI)에서 돌아가는 프로그램이나 칼무리 같은 캡쳐 프로그램, 우리가 PC에서 쓰는 모든 종류의 프로그램을 능력만 되면 모두 만들어낼 수 있습니다. 특히 간단한 아이디어를 가지고 프로그램을 제작할 때, 파이썬을 활용하면 아주 빠르게 나만의 프로그램을 제작할 수 있습니다.

 

파이썬이 가장 잘하는 분야기도 합니다. 윈도우, 리눅스 OS에 가리지 않고 파이썬 코드 실행이 가능하기 때문에 PC에서 프로그램을 만드는데 최적화 되어 있습니다.

 

https://opensource.com/article/18/7/put-platforms-python-game

2. 게임 제작 [SUB]

파이썬의 pygame 이라는 것을 사용하면 파이썬으로 게임을 만들 수 있습니다. 물론 만들 수 있다는 정도지 수익성이 있는 게임을 전문적으로 만들기엔 다소 부족한 도구긴 합니다. 게임을 만들려면 파이썬 말고 유니티나 언리얼 엔진같은 게임 엔진쪽을 공부하시는게 낫습니다.

 

3. 앱 제작 [SUB]

파이썬의 kivy 나 기타 패키지 등을 이용하면 스마트폰 앱 개발도 가능.. 하긴 합니다. 일단 만들 수 있다 정도지 역시 게임처럼 잘하는 분야는 아닙니다. 파이썬이라는 언어 자체가 애초에 모바일 앱 개발을 할려고 만들어진 언어가 아니기 때문이죠. 앱 개발을 원하시면 안드로이드 개발의 경우 Java(또는 Kotlin), IOS 개발의 경우 Swift, 두 플랫폼을 모두 다 아울러 크로스 플랫폼 앱 (안드로이드, ios 모두 다 지원하는 앱을 의미) 을 개발하고 싶으시면 React Native 나 Flutter 을 배우시는게 훨씬 낫습니다. 

 

게임이나 앱이나 완곡하게 ~~ 와 같은 다른 언어를 쓰는게 낫다라고 완곡하게 표현했지만 사실 게임이나 앱 개발을 파이썬으로 하긴 어렵고, 할 이유도 없다고 보시면 됩니다.

 

이미지 출처 : https://velog.io/@dydgjs7878/%EC%9E%A5%EA%B3%A0-%EA%B8%B0%EC%B4%88-1%EC%A3%BC%EC%B0%A8-Framework-Django

4. 웹 개발 [MAIN]

파이썬에는 Django나 FastAPI 와 같은 강력한 웹 개발 도구들이 존재해서, 웹 서버 (Backend) 개발을 하실 때 유용하게 사용할 수 있습니다. 

 

5. AI 분야 (딥 러닝, 인공지능, 데이터 분석) [MAIN]

PC 프로그램 개발과 더불어 파이썬이 잘하는 것, 바로 요새 핫 한 인공지능 분야 입니다. 인공지능 하면 파이썬, 파이썬 하면 인공지능 일 정도로 AI 분야에서 많이 쓰이는게 바로 파이썬입니다. 인공지능 쪽으로 나가실거라면 파이썬은 필수로 학습해야 합니다. 무조건. 

 

6. 이외에도 많은 것 

위에서 소개하지 않은 것 이외에도 파이썬은 PC뿐만 아니라 IoT 기기에서도 사용할 수 있고, 레고의 EV3의 프로그래밍에서도 사용할 수 있습니다. 파이썬의 인기도가 매우 높은만큼 다양한 곳에서 활용이 될 거라고 기대되고 있습니다.

 

파이썬으로 할 수 없는 것

위에선 파이썬으로 할 수 있는것을 소개해드렸습니다. 잘 못하긴 해도 일단은 전부 할 수는 있는 것이였죠. 하지만 파이썬이 못하는 분야도 있습니다. 

 

파이썬의 최대 단점은 느리다는 것이며, 성능이 필요한 부분엔 사용할 수 없습니다. 따라서 OS와 같이 성능이 매우 중요한 프로그램이나 수치 계산, 수학 계산에는 사용하기 어렵습니다. (다만 수치, 수학 계산은 고성능으로 만들어진 프로그램을 불러와서 실행시키는 형태로 보완은 가능)

 

정리

1. 입문은 C나 Python으로. 특히 비전공자시면 Python으로 시작하는 것 매우 매우 강추합니다. 다른 언어로 시작하면 재미 없어서 접을 가능성 높습니다.

 

2. PC 프로그램이나 웹, AI 분야 개발에 관심이 있으시면 파이썬을 배워두시면 도움이 됩니다.

 

3. 앱 개발에 관심있으신 분들은 안드로이드 -> Kotlin(Java) 을 배우고, IOS -> Swift를 배웁니다. 또는 크로스 플랫폼을 위해서는 React Native 또는 Flutter를 배우시면 됩니다.

 

4. 게임 개발에 관심 있으신 분들은 언리얼 엔진 / 유니티 엔진 과 같은 게임 엔진의 사용법을 배우셔야 합니다. 언리얼 엔진을 먼저 배우시게 되면 C++ 이라는 프로그래밍 언어를 배워야 할거고, 유니티 엔진의 경우 C# 이라는 프로그래밍 언어를 배워야 합니다.

 

5. 먼저 앱 개발이나 게임 개발을 하고 싶다고 하셔도 프로그래밍에 대한 지식이 없는 상태선 쉽지 않으니 어쨌던 간에 입문자라면 파이썬 정도는 배워두는걸 추천드립니다. 입문하기 그렇게 어려운 언어도 아니고 너무 깊게만 들어가지 않으면 몇 개월만 투자, 아니 빡세게 하면 한달만에도 기초 문법은 다 배울 수 있습니다.

 

그래서 왜 파이썬인데?

일단은 파이썬이 범용적으로 사용하기 좋은 괜찮은 언어라는 건 납득이 되셨을건데요. 아직 왜 추천하는지에 대해 이야기는 안했죠? 일단 처음 입문으로 추천하는 이유는 파이썬이라는 언어가 되게 쉽기 때문입니다. (물론 상대적일 수 있음)

제가 프로그래밍 언어를 수십개 넘게 학습해봤지만 파이썬 만큼 쉽게 배우고, 설계가 괜찮은 언어는 손에 꼽습니다.

 

 

추가로 프로그래밍 언어 인기 순위를 구글링 해서 무작위로 가져와 봤는데요. 보면 Python 이 1,2 위를 다투는 모습을 볼 수 있습니다. 다른 자료들을 찾아봐도 개발자들 내에서 파이썬은 매우 높은 인기를 지녔다는 걸 알 수 있습니다.

 

인기가 많다는건 인터넷에 자료가 많다는 것이고, 자료가 많다는건 코딩을 할 때 이러한 자료로 도움을 많이 받을 수 있다는 뜻이 됩니다. 역시 장점이죠!

 

문법 특징

파이썬이 쉽다고 했는데 말만 들어선 감이 안오시죠? 다음 강의부터 파이썬 설치하고 빨리 빨리 파이썬 코딩 시작해볼거지만요. 간단하게만 좀 봅시다. 파이썬은 문법이 매우 간결하고 영문법을 닮아 있습니다. 영어 문법을 닮았다는건 한마디로 우리가 사용하는 언어와 매우 유사하다고 생각하시면 됩니다.

 

(기계적이지 않고 사람 친화적이라, 이해하기 쉽다는 뜻)

 

#include <iostream>
using namespace std;

int main(){
    cout << "Hello World";
    return 0;
}

예를 들어서 "Hello" 라는 문장을 모니터에 출력하기 위해 C++ 이라는 프로그래밍 언어에서 나타내면 위와 같은 코드를 전부 작성해야 합니다.

 

하지만 파이썬은,

print("Hello World")

다음과 같이 한줄만에 작성이 됩니다.

매우 허탈하죠?

 

파이썬을 이용하면 컴퓨터에 내부적인 구조가 어떻게 돌아가고, 컴퓨터가 어떤식으로 데이터 처리를 하는지 몰라도 파이썬에서 제공하는 강력한 내장 기능들을 이용하면 쉽게 구현할수가 있습니다.

 

언어적 복잡성에 거의 방해받지 않고 내 생각을 그대로 파이썬 코드로 구현에 옮기고, 빠르게 실행해 볼 수 있습니다. 저는 실제로 아이디어가 생기면 거의 90% 이상을 파이썬으로 구현하고 있습니다. (거짓말 아님)

 

다른 언어에선 이게 왜 안되지? 라고 하면 파이썬은 역시 이게 되야지! 입니다.

 

본 강좌는 다음을 대상으로 합니다.

  • 코딩을 전혀 모르는데 찍먹해보고 싶으신 분들
  • 파이썬이 뭔지 대충 감을 잡고 싶으신 분들
  • 프로그래밍을 배우라고 했는데 "파이썬 먼저하고 C 해보세요" 라는 말을 들어보신 분들
  • 비전공자 수준의 친절한 설명이 필요하신 분들
  • "나 프로그래밍 제대로 시작해보고 싶어요!" 라고 생각하시는 분들

 

본 강좌는 다음을 대상으로 하지 않습니다.

  • Low-Level 에 대해 이해가 필요한 소위 '전공자' 식의 학습을 원하시는 분들
  • 다량의 파이썬 문법을 학습하고 싶으신 분들
  • 파이썬의 내부 구조를 완벽히 이해하고 싶으신 분들 [각주*파이썬의 경우 추상화[간략화] 가 많이 이루어진 언어기 때문에 그대로 사용 방법을 익히는게 더 낫다고 생각합니다*]

 

 

 

C언어 강좌가 필요하신 분들은 아래 링크로

=> https://pgh268400.tistory.com/5?category=1072473 

 

 

 

* 본 강의는 제 블로그를 옮기기 이전에 네이버 블로그에서 작성된 파이썬 강좌를 옮기고 살짝 보완한 것입니다. 틀린 내용이 있을 수 있으니 강의를 보다가 틀린 내용이 있으면 댓글로 피드백 부탁드리고 이유없는 비방은 삭제처리될 수 있으니 유의 바랍니다.

 

<파이썬 강좌 목차>

[파이썬 강좌] #1 파이썬 시작하기
[파이썬 강좌] #2 파이썬 개발환경 구축
[파이썬 강좌] #3 숫자와 문자열 출력하기
[파이썬 강좌] #4 변수를 이용해 숫자와 문자열 입력받기
[파이썬 강좌] #5 조건문(If) 사용하기
[파이썬 강좌] #6 부가 강의 - 주석 처리 및 기타 알아둘 점
[파이썬 강좌] #7 리스트의 활용
[파이썬 강좌] #8 반복문 사용하기 For편
[파이썬 강좌] #9 반복문 사용하기 While편
[파이썬 강좌] #10 함수 사용하기
[파이썬 강좌] #11 람다식(Lambda)
[파이썬 강좌] #12 사전(Dictionary)

SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.