>  기사  >  백엔드 개발  >  파이썬은 어떤 소프트웨어인가요?

파이썬은 어떤 소프트웨어인가요?

藏色散人
藏色散人원래의
2021-06-10 15:45:5428075검색

Python은 소프트웨어가 아니라 컴퓨터 프로그래밍 언어입니다. Python은 효율적인 고급 데이터 구조와 간단하고 효과적인 객체 지향 프로그래밍을 제공할 뿐만 아니라 해석된 언어의 특성도 갖추고 있습니다. 대부분의 플랫폼에 이상적인 선택 스크립팅 및 빠르게 개발되는 애플리케이션을 위한 프로그래밍 언어입니다.

파이썬은 어떤 소프트웨어인가요?

이 문서의 운영 환경: windows7 시스템, Dell G3 컴퓨터, python3.6.4.

Python이란 무엇입니까?

Python은 소프트웨어가 아니라 컴퓨터 프로그래밍 언어입니다.

Python은 1990년대 초 네덜란드 수학 및 컴퓨터 과학 협회의 Guido van Rossum이 ABC라는 언어를 대체하기 위해 설계했습니다. Python은 효율적인 고급 데이터 구조를 제공하고 간단하고 효과적인 객체 지향 프로그래밍을 가능하게 합니다. Python의 구문 및 동적 타이핑은 물론 해석된 언어의 특성으로 인해 Python은 대부분의 플랫폼에서 스크립팅 및 신속한 애플리케이션 개발을 위한 프로그래밍 언어로 거듭나고 있으며, 버전이 지속적으로 업데이트되고 새로운 언어 기능이 추가되면서 점차적으로 사용되고 있습니다. 독립적인 대규모 프로젝트 개발을 위해

Python 인터프리터는 확장하기 쉽고 C나 C++(또는 C에서 호출할 수 있는 다른 언어)를 사용하여 새로운 함수와 데이터 유형으로 확장할 수 있습니다. Python은 사용자 정의 가능한 소프트웨어에서 확장 프로그래밍 언어로 사용될 수도 있습니다. Python의 풍부한 표준 라이브러리는 각 주요 시스템 플랫폼에 적합한 소스 코드 또는 기계어 코드를 제공합니다.

장점

단순성: Python은 단순성의 개념을 나타내는 언어입니다. 좋은 Python 프로그램을 읽는 것은 영어를 읽는 것과 같습니다. 언어 자체를 파악하기보다 문제 해결에 집중할 수 있습니다.

배우기 쉬움: Python에는 매우 간단한 문서가 있으므로 시작하기가 매우 쉽습니다.

읽기 쉽고 유지 관리가 쉬움: 명확하고 일관된 스타일, 강제 들여쓰기

다양한 사용 범위

빠른 속도: Python의 맨 아래 레이어는 C 언어로 작성되었으며 많은 표준 라이브러리와 타사 라이브러리도 C 언어로 작성되었습니다. C. 매우 빠르게 달린다.

무료 및 오픈 소스: Python은 FLOSS(무료/오픈 소스 소프트웨어) 중 하나입니다. 사용자는 이 소프트웨어의 복사본을 자유롭게 배포하고, 소스 코드를 읽고, 변경하고, 새로운 무료 소프트웨어에서 그 일부를 사용할 수 있습니다. FLOSS는 지식을 공유하는 그룹의 개념을 기반으로 합니다.

고급 언어: Python으로 프로그램을 작성할 때 프로그램에서 사용하는 메모리를 관리하는 방법과 같은 저급 세부 사항에 대해 걱정할 필요가 없습니다.

이식성: 오픈 소스 특성으로 인해 Python은 많은 플랫폼에서 이식되었습니다(다른 플랫폼에서 작동할 수 있도록 수정). 이러한 플랫폼에는 Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acom RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE, PocketPC, Symbian 및 Google의 Linux 기반 안드로이드 플랫폼.

해석성: C 또는 C++와 같은 컴파일된 언어로 작성된 프로그램은 소스 파일(예: C 또는 C++ 언어)에서 컴퓨터에서 사용하는 언어(이진 코드, 즉 0과 1)로 변환될 수 있습니다. 이 프로세스는 컴파일러와 다양한 플래그 및 옵션을 통해 수행됩니다.

프로그램을 실행하면 링커/리프린터 소프트웨어가 프로그램을 하드 디스크에서 메모리로 복사하여 실행합니다. Python으로 작성된 프로그램은 바이너리 코드로 컴파일될 필요가 없습니다. 소스 코드에서 직접 프로그램을 실행할 수 있습니다.

컴퓨터 내부에서는 Python 인터프리터가 소스 코드를 바이트코드라는 중간 형식으로 변환하고, 이를 컴퓨터가 사용하는 기계어로 번역하여 실행합니다. 이렇게 하면 Python을 훨씬 더 쉽게 사용할 수 있습니다. 또한 Python 프로그램의 이식성이 향상됩니다.

객체 지향: Python은 절차 지향 프로그래밍과 객체 지향 프로그래밍을 모두 지원합니다. "절차 지향" 언어에서 프로그램은 프로시저 또는 단순히 재사용 가능한 코드인 함수로 구축됩니다. "객체 지향" 언어에서 프로그램은 데이터와 기능을 결합한 객체로 구축됩니다.

Python은 완전한 객체 지향 언어입니다. 함수, 모듈, 숫자, 문자열은 모두 객체입니다. 그리고 상속, 오버로딩, 파생, 다중 상속을 완벽하게 지원하므로 소스 코드의 재사용성을 높이는 데 도움이 됩니다. Python은 오버로드된 연산자와 동적 유형 지정을 지원합니다. 전통적인 함수형 프로그래밍 언어인 Lisp에 비해 Python은 함수형 디자인에 대해 제한된 지원만 제공합니다. Haskell 및 Standard ML에는 입증된 기능적 프로그래밍 도구를 제공하는 두 가지 표준 라이브러리(functools, itertools)가 있습니다.

확장성, 확장성: 더 빠르게 실행하기 위해 핵심 코드가 필요하거나 일부 알고리즘을 공개하지 않으려는 경우 프로그램의 일부를 C 또는 C++로 작성한 다음 Python 프로그램에서 사용할 수 있습니다.

Python 자체는 확장 가능하도록 설계되었습니다. 모든 특징과 기능이 언어 핵심에 통합되는 것은 아닙니다. Python은 프로그래머가 C 언어, C++ 및 Cython을 사용하여 확장 모듈을 쉽게 작성할 수 있도록 풍부한 API와 도구를 제공합니다. Python 컴파일러 자체는 스크립팅 언어가 필요한 다른 프로그램에 통합될 수도 있습니다. 따라서 많은 사람들은 Python을 "접착 언어"로 사용하기도 합니다. Python을 사용하여 다른 언어로 작성된 프로그램을 통합하고 캡슐화합니다. Google 엔진과 같은 Google 내의 많은 프로젝트에서는 C++를 사용하여 매우 높은 성능 요구 사항이 있는 부품을 작성한 다음 Python 또는 Java/Go를 사용하여 해당 모듈을 호출합니다. 『파이썬 기술 매뉴얼』의 저자 알렉스 마텔리(Alex Martelli)는 “말하기는 어렵지만 2004년 이미 구글 내부적으로 파이썬이 사용됐다”며 “구글은 파이썬 전문가를 많이 영입했지만 그 전에도 이미 파이썬을 사용하기로 결정했다”고 말했다. 할 수 있는 곳에서는 Python, 필요한 곳에서는 C++를 사용하고, 하드웨어를 제어할 때는 C++를 사용하고, 빠른 개발 중에는 Python을 사용합니다.”

Embeddability: Python은 C/C++ 프로그램에 내장되어 프로그램 사용자에게 스크립팅 기능을 제공할 수 있습니다.

풍부한 라이브러리: Python 표준 라이브러리는 정말 거대합니다. 정규식, 문서 생성, 단위 테스트, 스레드, 데이터베이스, 웹 브라우저, CGI, FTP, 이메일, XML, XML-RPC, HTML, WAV 파일, 암호화, GUI(그래픽 사용자 인터페이스)를 포함한 다양한 작업에 도움이 될 수 있습니다. ), Tk 및 기타 시스템 관련 작업. 이것을 Python의 "모든 기능을 갖춘" 철학이라고 합니다. 표준 라이브러리 외에도 wxPython, Twisted 및 Python 이미징 라이브러리와 같은 다른 고품질 라이브러리가 많이 있습니다.

표준화된 코드: Python은 강제 들여쓰기를 사용하여 코드를 더 읽기 쉽게 만듭니다. Python으로 작성된 프로그램은 바이너리 코드로 컴파일될 필요가 없습니다. Python의 작성자는 나쁜 프로그래밍 습관(예: if 문에서 다음 줄을 오른쪽으로 들여쓰지 않는 등)이 컴파일될 수 없도록 매우 제한적인 구문을 설계했습니다. 가장 중요한 것 중 하나는 Python의 들여쓰기 규칙입니다. 대부분의 다른 언어(예: C)와의 한 가지 차이점은 모듈의 경계가 이 줄의 각 줄의 첫 번째 문자 위치에 의해 완전히 결정된다는 것입니다(C 언어는 한 쌍의 중괄호 {}를 사용하여 명확하게 표시). 모듈의 경계 외부를 결정하며 문자의 위치와는 아무 관련이 없습니다). 프로그래머에게 들여쓰기(if, for, 모듈이 사용되는 함수 정의 포함)를 강요함으로써 Python은 프로그램을 더 명확하고 아름답게 만듭니다.

고급 동적 프로그래밍: Python은 대략 "스크립트 언어"(스크립트 언어)로 분류될 수 있지만 실제로 Zope, Mnet 및 BitTorrent, Google과 같은 일부 대규모 소프트웨어 개발 프로젝트에서 널리 사용됩니다. Python 지지자들은 이를 고급 동적 프로그래밍 언어라고 부르는 것을 선호합니다. 그 이유는 "스크립팅 언어"는 일반적으로 쉘 스크립트, VBScript 및 기타 프로그래밍 언어와 같이 간단한 프로그래밍 작업만 수행하는 언어를 의미하기 때문입니다. 간단한 작업만 처리하며 Python과 비교할 수 없습니다.

과학적인 계산을 하면 많은 장점이 있습니다. 과학적인 계산에 관해 이야기할 때 가장 먼저 언급되는 것은 MATLAB일 것입니다. 대체할 수 없는 일부 고도로 전문적인 MATLAB 도구 상자를 제외하고 MATLAB의 일반적인 기능 대부분은 Python 세계에서 해당 확장 라이브러리를 찾을 수 있습니다. MATLAB에 비해 Python을 과학적인 계산에 사용하면 다음과 같은 장점이 있습니다.

● 우선 MATLAB은 상용 소프트웨어이고 가격이 비쌉니다. Python은 완전 무료이며 많은 오픈 소스 과학 컴퓨팅 라이브러리는 Python 호출 인터페이스를 제공합니다. 사용자는 모든 컴퓨터에 Python과 대부분의 확장 라이브러리를 무료로 설치할 수 있습니다.

● 둘째, MATLAB에 비해 Python은 배우기 쉽고 엄격한 프로그래밍 언어입니다. 이를 통해 사용자는 더 읽기 쉽고 유지 관리하기 쉬운 코드를 작성할 수 있습니다.

● 마지막으로 MATLAB은 주로 엔지니어링 및 과학 컴퓨팅에 중점을 둡니다. 그러나 컴퓨팅 분야에서도 파일 관리, 인터페이스 디자인, 네트워크 통신 등 다양한 요구 사항에 직면하는 경우가 많습니다. Python에는 다양한 고급 작업을 쉽게 완료할 수 있는 풍부한 확장 라이브러리가 있습니다. 개발자는 Python을 사용하여 전체 애플리케이션에 필요한 다양한 기능을 구현할 수 있습니다.

단점

한 줄 명령문 및 명령줄 출력 문제: import sys for i in sys.path:print i;와 같이 프로그램을 한 줄로 작성할 수 없는 경우가 많습니다. Perl과 awk에는 이러한 제한이 없습니다. Python처럼 .py 파일에 프로그램을 작성할 필요가 없습니다.

초보자에게 혼란을 야기합니다: 고유한 구문이 제한이라고 할 수는 없지만 들여쓰기를 사용하여 문 관계를 구별하는 방식은 여전히 ​​많은 초보자에게 혼란을 가져옵니다. 숙련된 Python 프로그래머라도 함정에 빠질 수 있습니다.

느린 실행 속도: 이는 C 및 C++와 비교되는 것을 의미합니다. Python 개발자는 미성숙하거나 중요하지 않은 최적화를 피하려고 노력합니다. 코드의 중요하지 않은 부분의 속도를 높이는 패치는 일반적으로 Python에 통합되지 않습니다. 많은 사람들이 Python이 느리다고 생각합니다. 그러나 80/20 규칙에 따르면 대부분의 프로그램에는 고속 요구 사항이 없습니다. 실행 속도가 매우 빠른 일부 상황에서는 Python 디자이너가 JIT 기술을 사용하거나 프로그램의 이 부분을 C/C++ 언어로 다시 작성하는 경향이 있습니다. 사용 가능한 JIT 기술은 PyPy입니다.

추천 학습: "python 비디오 튜토리얼"

위 내용은 파이썬은 어떤 소프트웨어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.