Python을 배우는 데 얼마나 걸리나요?

2023. 12. 26. 17:10python/basic

  • 'Python 학습'의 의미 및 진행 상황 측정 방법
  • Python을 배우는 다른 이유
  • 무엇배경 요인이 학습 접근 방식과 결과에 영향을 미칩니까?
  • 다양한 기술 수준으로 Python을 배우는 데 얼마나 많은 시간을 투자하시겠습니까?
  • 학습 과정을 개선하는 데 사용할 수 있는 리소스

왜 파이썬을 배우겠습니까?

  • 경력 및 취업 기회: 소프트웨어 개발자로서 새로운 경력을 시작하고 싶을 수도 있습니다. 어쩌면 현재 회사에서 계속 일하면서 데이터 분석과 같은 좀 더 기술적인 역할로 전환하고 싶을 수도 있습니다. 프로그래밍 능력은 이미 가지고 있는 기술에 탁월한 추가 기능을 제공합니다. 필요한 Python 기술을 갖추면 Python 코딩 인터뷰에 합격하여 꿈의 직업을 얻을 수 있습니다.
  • 자동화: Python은 직장이나 사생활에서 정기적으로 수행하는 반복적인 작업을 자동화하는 데 도움이 됩니다. Excel 스프레드시트, 웹 스크래퍼 구축 인터넷의 공개 데이터에 액세스하거나 명령줄 인터페이스를 만들거나 Twitter 또는 Discord 부담을 덜어줍니다.
  • 호기심: 디지털 제품은 어디에나 있으며 아마도 매일 사용할 것입니다. 디지털 온도계가 어떻게 작동하는지, 인기 있는 웹사이트가 어떻게 구축되는지, 좋아하는 컴퓨터 게임을 디지털 방식으로 분해하면 어떻게 보일지 알고 싶을 수도 있습니다.
  • 창의성: 자신만의 게임에 대한 환상적인 아이디어가 있을 수 있으며 아케이드, Pygame 또는 기타 게임 엔진. 또는 홈 자동화, 사물 인터넷(IoT) 또는 임베디드 게임 개발용 프로그래밍 하드웨어를 시작하고 싶을 수도 있습니다.

"Python 배우기"란 무엇을 의미합니까?

Python을 배우는 것은 단순히 Python 프로그래밍 언어를 배우는 것 이상을 의미합니다. 프로그래밍 기술을 활용하여 유용한 작업을 수행하려면 단일 프로그래밍 언어의 세부 사항보다 더 많은 것을 알아야 합니다. 동시에, 생산성을 높이기 위해 Python의 모든 측면을 이해할 필요는 없습니다.

Python을 배우는 것은 Python 프로그래밍으로 실용적인 작업을 수행하는 방법을 배우는 것입니다. 자신이나 고용주를 위한 프로젝트를 구축하는 데 사용할 수 있는 기술 세트에 관한 것입니다.

학습 진행 상황을 어떻게 측정할 수 있나요?

어느 시점에 무언가를 완전히 배웠는지 말하기가 어려운 경우가 많습니다. Python의 구문을 알면 Python도 알 수 있습니까? 아니면 Python을 배웠다고 말할 수 있으려면 Python 생태계의 모든 내용을 알아야 합니까?

현실적으로 Python 생태계에 대해 알아야 할 모든 것을 결코 배우지 못할 것입니다. 알아야 할 것이 너무 많습니다! 따라서 여정을 여러 부분으로 나누는 것이 도움이 됩니다. 이 접근 방식을 사용하면 올바른 방향으로 계속 움직이는 것이 더 쉬워집니다.

다양한 기술 수준에 대해 생각할 때 세 가지 전통적인 범주를 생각할 수 있습니다.

  1. 초보자
  2. 중급
  3. 전문가

역량의 4단계

1. 무의식적 무능력에 대한 무인식 2. 의식적 무능력에 대한 인식 3. 의식적 역량 능력 4. 무의식적 역량을 위한 전문성

뒷부분에서 Python 학습을 위한 예상 시간에 대해 배울 때 역량의 4단계를 프레임워크로 사용하게 됩니다. 하지만 반전이 있어요! 다양한 단계 사이에서 발생하는 학습 과정에 초점을 맞추고 한 단계에서 다음 단계로 이동하는 사고 방식에 집중하게 됩니다.

  1. 무인식에서 인식
  2. 인식에서 능력
  3. 능력에서 전문성

1단계: 무의식적 무능력(무인식)

개인은 무언가를 수행하는 방법을 이해하거나 알지 못하며 반드시 결함을 인식하지도 않습니다. 그들은 기술의 유용성을 부정할 수도 있습니다. 개인은 다음 단계로 넘어가기 전에 자신의 무능함과 새로운 기술의 가치를 인식해야 합니다. 개인이 이 단계에서 소비하는 시간은 학습 자극의 강도에 따라 달라집니다.

2단계: 의식적 무능력(인식)

개인은 어떤 일을 수행하는 방법을 이해하지 못하거나 알지 못하더라도 결함을 인식하고 결함을 해결하는 새로운 기술의 가치를 인식합니다. 실수를 저지르는 것은 이 단계의 학습 과정에 필수적일 수 있습니다.

3단계: 의식적 역량(능력)

개인은 어떤 일을 수행하는 방법을 이해하거나 알고 있습니다. 그러나 기술이나 지식을 입증하려면 집중력이 필요합니다. 그것은 여러 단계로 나누어질 수 있으며, 새로운 기술을 실행하는 데 의식적으로 크게 관여합니다.

이 단계에서는 Python 작업 능력을 갖추게 되며, 이는 이미 귀하의 요구 사항에 충분할 수 있습니다. 프로그래밍 지식을 적용하여 현재 작업의 워크플로를 개선하거나 자신만의 프로젝트를 구축할 수 있습니다. 당신은 아마도 소프트웨어 개발자로서 초급 수준의 위치를 ​​얻기에 충분한 Python 지식을 가지고 있을 것입니다. Python으로 프로그래밍하려면 여전히 많은 의식적인 노력이 필요하지만 작업을 수행할 수는 있습니다.

하지만 이 단계에서는 유창하고 능숙해질 만큼 연습이 충분하지 않습니다. Python에서 무의식적인 능력을 갖추려면 더 많은 시간과 노력이 필요합니다.

4단계: 무의식적 역량(전문성)

개인은 특정 기술을 너무 많이 연습하여 '제2의 천성'이 되어 쉽게 수행할 수 있게 되었습니다. 결과적으로, 다른 작업을 수행하면서 해당 스킬을 수행할 수 있습니다. 개인은 그것을 언제, 어떻게 배웠는지에 따라 다른 사람에게 가르칠 수도 있습니다.

Python 프로그래밍에 대한 진정한 전문 지식은 현재 서 있는 위치와는 거리가 멀게 느껴질 수도 있습니다. 그것은 완전히 정상적이고 괜찮습니다! 전문성을 갖추려면 수년간의 지속적인 교육이 필요합니다. 그리고 일단 한 주제에 대한 전문 지식에 도달하더라도 많은 사람들은 다른 분야에서 자신의 기술을 개발하기 위해 역량의 4단계 중 이전 단계로 돌아갑니다.

학습 여정에 영향을 미치는 요소는 무엇입니까?

  • 배경: 이전에 어떤 경험이 있나요? 영어를 잘 알고 있거나 이전에 다른 언어로 프로그래밍한 적이 있거나 수학적 논리 및 언어 학습 경험이 있다면 더 빨리 발전할 수 있습니다.
  • 동기: Python을 무엇에 사용하고 싶고, 얼마나 긴급하게 Python을 배우고 싶습니까? 해결하고 싶은 특정 과제와 같이 명확하게 정의된 목표가 있다면 집중력과 동기를 유지하는 것이 더 간단할 것이며 더 빠르게 발전할 수 있습니다.
  • 목표: 어떤 기술 수준을 목표로 하고 있으며, Python을 학습하여 달성하고 싶은 목표는 무엇입니까? Python 개발자로서 정규직을 구할 계획이라고 가정해 보겠습니다. 취미로 개인 프로젝트를 완료할 계획이라면 아마도 언어의 더 많은 측면에 대해 더 깊이 탐구해야 할 것입니다.
  • 가용성: Python 학습에 얼마나 많은 시간을 투자할 수 있나요? 당신은 학생입니까, 아니면 이직 중입니까? 매일 상당한 시간을 프로그래밍 공부에 투자할 수 있나요? 풀타임 직업을 갖고 계시나요? 즉, 직장 밖에서만 공부할 수 있다는 뜻인가요? 아이들이나 다른 사람들을 돌보시나요? 투자할 시간이 더 많으면 더 빠르게 발전할 수 있습니다.
  • 멘토십: 가르쳐줄 수 있는 사람이 있나요? 여러분은 스스로 과정을 겪었고 자신의 지식을 여러분과 공유할 준비가 되어 있는 지식이 풍부한 친구나 멘토와 함께 더 빨리 배울 수 있습니다. 직장이나 온라인에서 전담 멘토로부터 멘토링 지원을 받을 수 있습니다. 염두에 두고 있는 멘토가 없다면 학습 커뮤니티에 참여해 보세요.
  • 학습 리소스: 고품질 학습 리소스에 액세스할 수 있습니까? 무엇을 먼저 배우고 계속할지 결정하는 데 도움이 될 수 있습니다. 학습 자료의 교훈적 품질과 정확성이 높으면 올바른 내용을 더 빨리 배울 수 있습니다.

이 목록은 완전한 것이 아니며 학습 여정에 영향을 미치는 다른 요소가 있을 수 있습니다. 그러나 이러한 추가 요소를 철저히 고려하고 개인 상황을 고려한다면 필요한 시간을 정확하게 평가할 수 있는 더 나은 위치에 있습니다.

Python을 배우는 데 얼마나 걸리나요?

무의식에서 인식으로

In [ ]:
 
주제설명
목표 Python을 모르고 배우고 싶다는 점을 인정하세요.
소요시간 아마도 몇 초 또는 몇 분 정도 걸릴 것입니다.
작업량 일반적인 호기심

인식에서 능력으로

인식에서 능력으로 발전하려면 온라인 튜토리얼과 강좌를 통해 작업하고, 많은 새로운 개념을 이해하고, 프로그래밍 세계와 Python 생태계에 자신을 소개해야 합니다. 여기에는 생각하고, 읽고, 듣고, 만들고, 창조하는 일이 포함되며, 즉각적인 보상 없이 키보드를 열심히 해킹하는 경우도 많습니다. Python 능력을 키우려면 결단력과 집중이 필요합니다.

하지만 Python은 영어와 비슷하게 읽히는 초보자 친화적인 언어이기 때문에 상대적으로 빠르게 학습 속도를 높이는 데 도움이 될 수 있습니다. 영어에 능숙하다면 단 며칠 만에 기본적인 Python 코드 논리 작성을 시작할 수 있습니다.

단 며칠 만에 완전한 프로그램을 구축할 수는 없지만 직접 작성한 작은 스크립트를 실행할 수는 있습니다. 그러나 이 시점에서는 아직 능력 단계에 도달하지 않았습니다. 이를 위해서는 최소한 다음 Python 프로그래밍 개념을 이해해야 합니다.

  • 파이썬의 구문
  • 데이터 유형
  • 흐름 제어 구조(예: for 루프, while 루프 및 조건문)
  • 함수 및 범위
  • 데코레이터, 생성기 및 반복기
  • 클래스 및 객체 지향 프로그래밍
  • Pythonic 코드 작성에 대한 모범 사례
  • 표준 라이브러리에서 인기 있는 패키지(예: pathlib 및 collections)
  • 또한 제대로 작동하는 프로그램을 구축하거나 취업에 지원하려면 Python보다 더 많은 것을 배워야 합니다. 몇 가지 기본적인 소프트웨어 개발 원칙과 이를 Python에서 사용하는 방법을 이해해야 합니다.

다음 방법을 알아야 합니다.

  • Python 개발 환경 설정
  • Python 종속성 관리
  • 코드를 디버깅하여 오류를 찾아 수정
  • 예외 작성 및 처리예외
  • Python 앱 테스트
  • 이해모듈 및 패키지 및 사용 방법 인기 패키지 Python의 광범위한 타사 생태계
  • 이 모든 주제를 다루고 개념을 이해하려면 많은 교육과 시간 투자가 필요합니다. 얼마나 정확히 말하기는 어렵고 사람마다 다를 것입니다. 지침에 따르면 매일 최소 4시간씩 일관되고 집중적으로 공부하면 약 4개월 동안 목표에 도달할 수 있습니다.
주제설명
목표 Python의 구문과 기본 프로그래밍 및 소프트웨어 개발 개념을 알아보세요.
소요시간 매일 4시간씩 약 4개월간
작업량 약 10개의 대형 프로젝트

능력에서 전문성으로

능력에서 전문 지식으로 발전하려면 많은 시간과 연습이 필요하며, 'Python 전문가'가 된다는 생각은 약간 오해를 불러일으킵니다. 여러분은 아마도 Python의 모든 전문가가 될 수 없을 것입니다. 그래도 괜찮습니다! 대부분의 노련한 Python 개발자는 특정 분야의 전문가일 뿐입니다.

  • 웹 개발
  • REST API 프로그래밍
  • 데이터 과학
  • 기계 학습
  • GUI 프로그래밍
  • 파이게임 게임 개발
  • 데브옵스
  • 임베디드 프로그래밍

이 목록은 완전한 것이 아니며 각 분야에 대해 배울 것이 많습니다. 능력에서 전문 지식으로의 발전은 각 영역마다 다릅니다. 당신은 다른 분야에서는 완전한 초보자이면서도 이러한 주제 중 어느 분야에서나 전문가가 될 수 있습니다.

선택한 분야에 필요한 라이브러리와 개념을 지속적으로 연습하면 해당 틈새 분야의 전문가가 될 수 있습니다.

유창함을 갖춘 코딩에는 많은 연습이 필요합니다. 연습을 통해 기술은 제2의 천성이 되고 사용 중인 Python 구문, 코드 논리 및 라이브러리는 배경으로 사라질 것입니다. 일단 그곳에 도착하면 문제 해결을 위해 사용하는 도구에 대해 생각할 필요 없이 당면한 문제를 해결하는 데 인지적 노력을 집중할 수 있습니다.

가장 관심 있는 것을 계속 연습하고 작업에 가장 도움이 되는 프로그래밍 개념과 Python 라이브러리를 교육하세요. Python이 사용되는 한 분야에서 전문성을 갖추기 위해 노력하는 사고방식을 채택하고 항상 배울 것이 더 많다는 생각에 익숙해지세요.

주제설명
목표 Python을 사용하는 한 분야에서 정말 능숙해지기
소요시간 수년간 지속적인 연습
작업량 약 20개의 대규모 프로젝트

Python으로 공부하는 학습 여정에는 끝이 없습니다. m

Python을 더 빨리 배우는 데 어떤 리소스가 도움이 될까요?

  • 학습 리소스: 기존 튜토리얼을 찾을 수 있는 특정한 프로젝트를 가지고 있거나 흥미로운 대상에 관한 학습 경로를 따르고 있다면 튜토리얼, 동영상 강좌, 퀴즈 및 프로젝트 등의 온라인 콘텐츠에서 학습할 수 있습니다.
  • 도서: 깊이와 복잡성의 다양한 수준에서 언어를 배우는 데 도움이 될 수 있는 훌륭한 Python 책이 많이 있습니다. 이제 막 시작했다면 Python Basics Book을 확인하세요. 이미 Python 프로그램을 작성 중이고 랭귀지 능력을 향상시키고 싶다면 Python Tricks를 즐겨보세요.
  • 과제: 코드 예제를 통해 자신에게 도전하고 리더보드에서 경쟁하는 것을 즐길 수 있습니다. CodingBat, HackerRank 혹은 CodinGame에서 퍼즐을 완성하고 코딩 기술을 계속 훈련하세요. 다른 훌륭한 벙법은 Advent Of Code와 Real Python podcast은 퍼즐을 즐겁고 행복하게 풀 수 있는 가이드를 가지고 있습니다.
  • 커뮤니티: 많은 사람들이 사회적 상호작용을 통해 더 잘 배웁니다. 좋은 학습 커뮤니티는 여러분의 참여와 책임감을 유지할 수 있게 해줍니다.

이러한 다양한 유형의 리소스를 모두 온라인에서 사용할 수 있습니다. 개인적으로 가장 매력적이고 효과적인 것을 고르고 선택하는 데 시간을 투자할 가치가 있습니다. 즉, 새로운 것을 배울 때 두 가지 필수 요소를 피할 수 있는 방법은 없습니다.

  1. 시간 투자
  2. 꾸준한 실천

가장 중요한 측면은 계속해서 프로그래밍을 일관된 루틴의 일부로 만드는 것입니다. 어떤 수준에서든 Python을 배우려면 시간과 노력을 투자해야 합니다.