파이썬의 작동 원리

May 28 2020
Python은 영어와 유사한 구문을 사용하기 때문에 초보자도 쉽게 배울 수있는 프로그래밍 언어입니다. 그리고 그것은 다양한 응용 프로그램을 가지고 있습니다.
Python은 웹 및 소프트웨어 개발에 사용되는 인기있는 프로그래밍 언어입니다. Maskot / Getty 이미지

컴퓨터 및 기타 장치 프로그래밍을 막 시작 하는 경우 먼저 배우는 것이 가장 좋은 프로그래밍 언어를 파악하려고 노력했을 가능성이 있습니다. 인터넷에는 어떤 프로그래밍 언어를 배워야하는지에 대한 많은 기사가 있습니다. 어떤 플랫폼에 가장 적합하고 배우기 가장 쉽고 큰 수익을 올리는 데 도움이 될 가능성이 가장 높습니다. 이러한 모든 의견을 살펴 보았다면 Python에 대해 들어 보셨을 가능성이 높습니다.

귀하의 질문에 대한 정답이 하나도 없을 것입니다. 프로그래밍 언어를 배우면 프로그래머처럼 생각하는 방법도 배울 수 있습니다. 모든 프로그래밍 언어에는 장단점이 있습니다. 광범위한 응용 프로그램에서 작동하는 언어를 찾고 있거나 코딩 워터에 발을 담그고 싶다면 Python을 사용해 보는 것이 좋습니다.

Python은 새로운 프로그래머가 이해하기 쉬운 것으로 유명합니다. 컴퓨터 용 프로그램 또는 웹용 응용 프로그램을 작성하는 데 사용할 수 있습니다. 그러나 차세대 모바일 앱을 만들고 싶다면 Python이 인기있는 선택이 아닙니다. Python 사용자를 대상으로 한 2019 년 설문 조사에 따르면 가장 많이 사용되는 용도는 웹 개발 및 데이터 분석입니다. 응답자의 약 6 %만이 게임 개발 또는 앱 개발에 사용했습니다.

파이썬 프로그래밍을위한 많은 상용 응용 프로그램이 있지만,이 언어는 학계, 특히 많은 양의 데이터로 작업하는 사람들 사이에서도 자리를 잡았습니다. 애호가에게도 유용합니다.

Python은 당시 고용주였던 네덜란드의 국립 수학 및 컴퓨터 과학 연구소 인 CWI (Centrum Wiskunde & Informatica)에서 ABC라는 언어로 작업 한 Guido van Rossum 의 작품입니다 . 그는 ABC의 일부 측면을 좋아했지만 언어 확장이 얼마나 힘들 었는지에 대해 실망했습니다 .

1989 년 크리스마스 휴가 기간 동안 van Rossum은 자신의 언어를 만들기로 결정했습니다. 1 년이 조금 지난 1991 년 2 월에 그는 자신이 만든 첫 번째 버전을 USENET에 업로드했습니다. 그는 또한 유명한 영국 코미디 극단의 "Monty Python 's Flying Circus"에피소드의 대본을 읽었습니다. "짧고 독특하고 약간 신비한"이름을 찾고 그는 그것을 파이썬이라고 부르기로 선택했습니다. Python을 코딩하려면 쇼의 팬이어야합니까? 파이썬 소프트웨어 재단 의 말에 따르면 "아니요,하지만 도움이됩니다. :)".

그가 지금은 은퇴했다고 생각하지만, 반 로섬은 1995 년부터 자신이 소유 한 칭호 인 파이썬의 "인생을위한 자비로운 독재자" 라는 칭호를 가지고 있습니다. 실제로 그 이후로 프로젝트 변경 사항에 대한 최종 발언권을 얻은 많은 오픈 소스 제작자도 개발 커뮤니티에서 그 직함을 부여 받았습니다.

Python은 오픈 소스이므로 Open Source Initiative에서 만든 공식 정의 에 따라 무료로 사용하고 배포 할 수 있습니다 . 원하는 경우 소스 코드 사본을 다운로드 할 수도 있습니다.

2020 년 5 월 현재, 사람들이 튜토리얼을 검색하는 빈도를 기준으로 프로그래밍 언어의 순위를 매기 는 인기 프로그래밍 지수 (PYPL)는 Python을 1 위에 올렸습니다. 초보 코더가 시작할 프로그래밍 언어를 선택하는 데 도움이되는이 사이트는 자주 변경되지만 Python에 대한 관심은 2015 년과 2020 년 사이에 가장 많이 증가했습니다.

Insight Data Science의 데이터 과학 펠로우 인 Robert Thorstad는 사용 편의성이 Python이 부상 한 주요 이유 중 하나라고 믿습니다. "사용 용이성은 Python 언어에서 명시적인 디자인 철학입니다."라고 그는 말합니다. 컴퓨터 화면에 "Hello, world"를 인쇄하는 짧은 프로그램을 작성하는 오랜 전통의 연습은 자바 코더가 여러 줄을 필요로 할 수 있지만 Python에서는 다음과 같이 입력하면됩니다.

print ( "Hello, World!")

Thorstad는 그 단순함이 파이썬을 초보 프로그래머에게 더 친숙하게 보이게한다고 말했다. 많은 사람들이 파이썬 코드가 인간이 읽기 쉽다고 칭찬했습니다 . 다른 프로그래밍 언어가 세미콜론과 같은 문자를 사용하여 명령의 끝을 표시하는 경우 Python은 새 줄을 사용합니다. 다른 언어로 함수를 묶을 수있는 중괄호를 사용하는 대신 Python은 들여 쓰기를 사용합니다.

Python 코드의 예입니다.

Python 프로그래밍에 사용

Python은 다재다능한 언어이며 개발자는 종종 비즈니스 및 개인적인 이유로 사용합니다. 비영리 Python Software Foundation 및 소프트웨어 개발자를위한 도구를 만드는 영리 기업인 JetBrains의 2018 년 연구에 따르면 사람들은이 언어 를 사용하여 웹용 애플리케이션, 게임 및 모바일 애플리케이션 작성, 시스템 관리, 교육, 기계 학습을 만들고 있습니다. 및 데이터 분석.

Python은 많은 객체 지향 프로그래밍 언어 중 하나입니다. 개체는 특정 데이터의 상태를 캡처하는 형식화 된 코드 섹션입니다. 이러한 개체는 다시 작성하지 않고도 나중에 다른 코드에서 사용할 수 있습니다. 객체에 인코딩 된 정보는 객체를 호출하는 코드에 영향을 미치므로 객체를 다목적 프로그래밍 도구로 만듭니다.

Python의 또 다른 장점은 언어로 작성된 응용 프로그램이 Windows, Macintosh 및 Linux 컴퓨터를 포함한 많은 플랫폼에서 작동한다는 것입니다. Python은 컴파일 된 언어가 아니라 해석 된 언어입니다. 즉, C, COBOL 또는 Assembler와 같은 언어로 작성된 애플리케이션과 달리 Python으로 작성된 코드 는 컴퓨터에 의한 해석 프로세스를 거쳐야 합니다. 사람이 쓰고 읽는 것이 더 쉽지만 컴퓨터가 매번 코드를 해석하도록 강제하면 속도가 느려집니다. 속도는 종종 Python의 단점으로 언급됩니다.

그러나 Thorstad는 언어가 나쁜 평가를받는다고 믿습니다. "Python에는 이러한 격차를 빠르게 좁히는 많은 라이브러리가 있습니다." 그는 NumPy 및 TensorFlow와 같은 라이브러리와 Numba 및 Cython과 같은 컴파일러를 가리키며, 모두 프로그래밍 언어에 기능을 추가하고 속도를 향상시키는 오픈 소스 도구입니다.

데이터 과학 용 Python

Python은 여러 산업 분야에서 다양한 유형의 애플리케이션에 사용될 수 있지만,이 언어는 데이터 과학자들에게 특히 인기가 있습니다. Thorstad는 Python 커뮤니티가 매우 크고 매우 활동적이라고 지적합니다. "Python에서 일반적인 데이터 과학 작업을 수행하기위한 강력하고 유용한 라이브러리가 많이 있습니다."라고 그는 말합니다. 커뮤니티에서 개발 한 도구에는 다음이 포함됩니다.

  • 기계 학습 도구 (TensorFlow, PyTorch, Theano, Gensim)
  • 숫자 라이브러리 (NumPy)
  • 통계 라이브러리 (statsmodels, SciPy)
  • 플로팅 라이브러리 (Matplotlib, Seaborn)

그의 저서 " Python for Data Analysis "의 두 번째 판에서 Ursa Labs의 이사이자 Pandas 프레임 워크의 창시자 인 Wes McKinney는 커뮤니티에서 만든 라이브러리 및 프레임 워크가 Python이 다음과 같은 다른 데이터 과학 대안과 경쟁하는 데 도움이된다고 Thorstad와 동의합니다. R, MATLAB 등으로.

"범용 소프트웨어 엔지니어링에 대한 Python의 전반적인 강점과 결합되어 데이터 애플리케이션 구축을위한 기본 언어로서 훌륭한 옵션입니다."라고 그는 썼습니다.

전 세계 Python 커뮤니티에는 매년 모든 종류와 기술 수준의 프로그래머가 학습과 네트워킹을 위해 모일 수있는 많은 컨퍼런스가 있습니다. 그중에는 전 세계 여러 위치에서 1 년에 여러 번 열리는 PyCon 이 있습니다. Python Software Foundation 은 사이트 에서 이벤트 목록을 유지 합니다 .

강력한 커뮤니티가 협력하여 서로를 돕고 대량의 데이터를 처리하는 Python의 능력을 향상시키는 도구를 구축함으로써 데이터 과학 프로그래밍에 관심이있는 사람들은 Python을 안전한 선택이라고 생각할 수 있습니다. 확장 가능한 프로그래밍 언어에 대한 Guido van Rossum의 계획이 잘 작동하는 것 같습니다.

Python 시작하기

Python에 대해 배운 내용이 관심이 있고 프로그래밍을 시작할 준비가 되었다면 도움이 될 수있는 많은 리소스가 있습니다. "모든 프로그래밍 언어를 배우는 가장 좋은 방법은 행하는 것"이라고 Thorstad는 말합니다. "나는 사람들에게 그들이 열정을 가진 프로젝트를 선택하고 그것을 구축하기 시작하도록 조언하고 싶습니다."

컴퓨터에 Python이 아직 사전 설치되어 있지 않은 경우 Python 사이트 에서 무료로 다운로드 할 수 있습니다 . Thorstad는 많은 인기있는 프로그래밍 라이브러리가 포함 된 무료 Anaconda 배포판이나 그래픽 인터페이스가있는 Spyder 통합 개발 환경을 권장합니다. 컴퓨터에 소프트웨어를 설치하고 싶지 않거나 설치할 수없는 경우 Thorstad는 웹 브라우저에서 Python 코드를 작성하고 실행할 수 있는 무료 도구 인 Google Colaboratory를 권장 합니다.

궁극적으로 Python 코드를 작성하는 데 필요한 유일한 소프트웨어는 텍스트 편집기이며 컴퓨터에 적어도 하나가 설치되어있을 가능성이 매우 높습니다.

지역 도서관과 서점에는 Python을 시작하는 데 도움이되는 프로그래밍 가이드가있을 것입니다. 학교와 대학교는 언어 수업을 제공합니다. 수강 할 수있는 유료 온라인 코스도 있지만 배우기 위해 많은 돈을 쓸 필요는 없습니다. 초보자를위한 좋은 무료 옵션도 온라인으로 제공됩니다.

  • Python Software Foundation의 초보자를위한 Python
  • Google의 Python 클래스
  • Python의 컴퓨터 과학 및 프로그래밍 소개 — MIT (Massachusetts Institute of Technology)
  • Python 소개 — Microsoft
  • 모든 사람을위한 Python 전문 분야 — University of Michigan (Coursera를 통해)
  • Python 자습서 — w3schools

물론 프로젝트에 가장 적합한 프로그래밍 언어를 선택해야하지만 모든 종류의 개인 및 기업 프로젝트에 사용할 수있는 읽기 쉬운 코드에 관심이 있다면 Python을 배우는 것이 좋은 시작점입니다.

안녕하세요, 세계!

프로그래밍 수업을 들었거나 프로그래밍 책의 첫 번째 연습 문제를 본 적이 있다면 "Hello, World!"라는 인쇄를 본 적이있을 것입니다. 새로운 프로그래머를위한 일반적인 첫 번째 작업입니다. 이를 위해 1972 년에 프로그래밍 언어 B를 위해 작성하던 매뉴얼에 그것을 포함시킨 Brian Kernighan에게 감사를 표할 수 있습니다 . Kernighan은 병아리가 알에서 부화 한 문구를 말하는 그림에서 영감을 받았습니다. 그의 작업은 다른 많은 사람들에게도 똑같은 일을하도록 영감을줬고 이제 연습은 프로그래밍 지식의 일부입니다.