>백엔드 개발 >파이썬 튜토리얼 >Python을 시작하기 위한 11가지 지식 포인트

Python을 시작하기 위한 11가지 지식 포인트

小云云
小云云원래의
2018-03-29 13:29:191458검색

Python은 세계에서 가장 효율적인 프로그래밍 언어로 알려져 있으며 "접착 언어"라고도 알려져 있습니다. 그렇다면 왜 그렇게 인기가 있을까요? Python을 시작하기 위한 11가지 필수 지식 포인트에 대해 이야기해 보겠습니다. 이 글이 인기 있는 이유는 이 글이 모든 사람에게 도움이 되기를 바라면서 Python을 시작하는 데 필요한 11가지 지식 포인트를 주로 공유하기 때문입니다.

Python 소개

Python은 해석, 컴파일, 대화형 및 객체 지향 스크립팅을 결합한 고급 스크립팅 언어입니다.

Python은 다른 언어에 비해 가독성이 높도록 설계되었으며, 다른 언어에 비해 영어 키워드와 일부 구두점을 사용하는 경우가 많습니다.

Python은 해석된 언어입니다. 즉, 개발 프로세스에 컴파일 링크가 없다는 의미입니다. PHP 및 Perl 언어와 유사합니다.

Python은 대화형 언어입니다. 즉, Python 프롬프트에서 직접 대화형으로 프로그램을 작성할 수 있습니다.

Python은 객체 지향 언어입니다. 즉, Python은 코드가 객체에 캡슐화되는 객체 지향 스타일 또는 프로그래밍 기술을 지원합니다.

Python은 초보자를 위한 언어입니다. Python은 간단한 워드 프로세싱부터 WWW 브라우저, 게임에 이르기까지 광범위한 애플리케이션 개발을 지원하는 초보 프로그래머를 위한 훌륭한 언어입니다.

Python 개발 역사

Python은 1980년대 후반과 1990년대 초반에 네덜란드 국립 수학 및 컴퓨터 과학 연구소의 Guido van Rossum이 설계했습니다.
Python 자체는 ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix 쉘 및 기타 스크립팅 언어 등을 포함한 많은 다른 언어에서 개발되었습니다.
Perl 언어와 마찬가지로 Python 소스 코드도 GPL(GNU General Public License) 계약을 따릅니다.
이제 Python은 핵심 개발 팀에 의해 유지 관리되며 Guido van Rossum은 여전히 ​​Python의 진행을 안내하는 데 중요한 역할을 하고 있습니다.

Python 기능

1. 배우기 쉬움: Python에는 상대적으로 키워드가 적고, 구조가 간단하며, 구문이 명확하게 정의되어 있어 배우기가 더 쉽습니다.

2. 읽기 쉬움: Python 코드가 더 명확하게 정의되었습니다.

3. 유지 관리가 용이함: Python의 성공은 소스 코드가 유지 관리가 매우 쉽다는 것입니다.

4. 광범위한 표준 라이브러리: Python의 가장 큰 장점 중 하나는 크로스 플랫폼이며 UNIX, Windows 및 Macintosh와 호환되는 풍부한 라이브러리입니다.

5. 대화형 모드: 대화형 모드를 지원하면 언어를 입력하여 코드를 실행하고 터미널, 대화형 테스트 및 디버깅 코드 조각에서 결과를 얻을 수 있습니다.

6. 이식성: 오픈 소스 특성을 기반으로 Python은 많은 플랫폼에 이식되었습니다(즉, 작동하도록 만들어졌습니다).

7. 확장 가능: 매우 빠르게 실행되는 중요한 코드가 필요하거나 열고 싶지 않은 일부 알고리즘을 작성하려는 경우 C 또는 C++를 사용하여 프로그램의 해당 부분을 완료한 다음 Python 프로그램에서 호출하세요.

8. 데이터베이스: Python은 모든 주요 상용 데이터베이스에 대한 인터페이스를 제공합니다.

9.GUI 프로그래밍: Python은 생성하고 많은 시스템 호출로 이식할 수 있는 GUI를 지원합니다.

10. 포함 가능: Python을 C/C++ 프로그램에 포함시켜 프로그램 사용자가 "스크립팅 가능성" 기능을 얻을 수 있습니다.

1. Python은 어떤 애플리케이션 시나리오에 적합합니까?

이에 대한 정해진 답은 없습니다. 많은 사람들이 Python이 GUI 프로그램 개발에 적합하지 않다고 말하지만, Python 자체 IDE인 IDEL과 타사 IDE인 Eric은 Python으로 작성되었습니다.

현재 Django, web.py, 그리고 Flask와 같은 프레임워크를 사용하여 웹용으로 글을 쓰는 사람들이 더 많아지고 있습니다.
파이썬을 더 자주 사용하는 상황도 있습니다. 특정 소프트웨어 기능을 공동으로 완성하기 위해 다양한 언어와 결합하여 파이썬을 사용하는 경우가 있는데, 일부 소프트웨어를 설치할 때 파이썬이 사용되는 것을 볼 수 있습니다.

저는 개인적으로 Python을 사용하여 포트 전달 및 DNS 서비스 등을 시뮬레이션했기 때문에 실제로는 어떻게 사용할 수 있는지가 아니라 작동 방식에 따라 다릅니다.

또한 Python은 빅 데이터 분석에 더 적합합니다. 로딩부터 분석, 결과 저장까지 Python은 이를 처리할 수 있는 완전한 모듈 세트를 갖추고 있습니다.

2. 파이썬은 빅데이터를 처리할 수 있나요?

Python은 내장된 C 컴파일 모듈로 일반적인 작업을 처리할 수 있으므로 관련 모듈을 C로 다시 작성하는 것이 좋습니다.

Python 자체의 특징은 더 효율적인 개발과 간단한 유지 관리입니다. 속도는 C에 맡기세요. 실제로는 효율적이지 않은 것보다 코드를 더 잘 사용하지 않는 사람들에게서 더 많은 문제가 발생합니다. 예를 들어, 정렬의 경우 Python에는 원래 매우 효율적인 C 컴파일 모듈이 내장되어 있지만 자체적으로 알고리즘을 작성해야 하며 결과가 느리지 않은 것이 이상합니다.

또한 요구 사항이 CPU 집약적인지 IO 집약적인지에 따라 다릅니다. CPU 집약적인 경우 작업의 이 부분을 C로 구현하는 것이 좋습니다. IO 집약적인 작업의 효율성은 크게 변하지 않습니다. 파이썬 때문이다.

C는 매우 효율적이지만 프레임워크를 구축하는 것도 어렵기 때문에 결합하는 것이 좋습니다. 이러한 이유로 Python을 Glue 언어라고 합니다.

3. Python이 Shell을 완전히 대체할 수 있나요?

물론 Python은 더 적은 코드, 더 나은 구조, 더 나은 가독성으로 Shell의 모든 기능을 구현할 수 있습니다. 그러나 Python이 구현할 수 있는 기능(예: 운영 및 유지 관리에 사용되는 기능)은 가능하지 않습니다. 네트워크 통신, WEB용 Django 프레임워크, 성능 수집을 위한 psutil 모듈 등이 있으며 Shell은 운영 체제 명령에 대한 의존도가 높기 때문에 Python이 이를 더 많이 피할 수 있습니다.

Shell IDE를 갖는 것은 큰 문제입니다. Python의 기본 IDE는 그다지 좋지 않지만 타사 IDE는 Microsoft의 Virtual Studio와 비교할 수는 없지만 Python 개발 요구 사항을 완전히 충족할 수 있습니다.

Python의 효율성에 대해 이야기해 보겠습니다. Python은 다중 프로세스, 다중 스레드 및 코루틴(스레드보다 한 단계 작은 수준)을 지원하며 프로그램 동시성은 Shell보다 높습니다. Python의 핵심 모듈은 기본적으로 C로 구현되므로 더 효율적입니다. 필요한 경우 Python으로 구현해야 하는 Python 모듈을 C로 다시 작성하여 효율성을 높일 수도 있습니다. 물론 완전히 C로 직접 구현되는 Python 인터프리터인 C Python을 직접 사용할 수도 있습니다.

4. Python은 일반 데이터베이스에 액세스할 수 있나요?

예, Python은 Oracle, MySQL, Vertica, SQLServer 등과 같은 다양한 일반 데이터베이스에 액세스할 수 있습니다. 해당 모듈을 로드하면 됩니다. 모듈 목록은 다음과 같습니다.
Oracle: cx_Oracle
MySQL: MySQLdb

5 , Python 개발 프로세스 지향인가요, 기능 지향인가요, 아니면 객체 지향인가요?

Python은 해석형 언어이지만 설계 초기부터 객체 지향 언어였습니다. Python의 경우 모든 것이 객체입니다. 그렇기 때문에 Python에서는 클래스와 객체를 만드는 것이 매우 쉽습니다. 물론 프로세스 지향 또는 함수 지향 작성에 익숙하다면 Python에서는 엄격한 제한을 두지 않는 것도 가능합니다.

Python의 객체지향 기능은 다음과 같습니다.

Encapsulation

객체지향 프로그래밍에서 객체(Object)라는 용어는 기본적으로 데이터(속성)와 접근할 수 있는 일련의 데이터로 간주할 수 있습니다. 이 데이터를 조작합니다. 메소드 모음입니다. 전통적인 의미에서 "프로그램 = 데이터 구조 + 알고리즘"은 캡슐화되고 "은폐"되며 "프로그램 = 객체 + 메시지"로 단순화됩니다. 객체는 클래스의 인스턴스이며 클래스의 추상화는 캡슐화되어야 합니다. 캡슐화를 사용하면 호출자가 개체 구성 방식에 신경 쓰지 않고 개체를 직접 사용할 수 있습니다.

상속

클래스 상속:

상속의 직접적인 느낌은 코드를 재사용하는 행위라는 점입니다. 상속은 일반 클래스를 기반으로 특수 클래스 개체를 설정하는 것으로 이해될 수 있습니다. 하위 클래스는 상속받은 상위 클래스와 IS-A 관계를 갖습니다.

다중 상속:

C#과 달리 Python은 다중 클래스 상속을 지원합니다(C#은 여러 인터페이스에서 상속할 수 있지만 최대 하나의 클래스). 다중 상속 메커니즘은 때때로 유용하지만 상황을 쉽게 복잡하게 만들 수 있습니다.

다형성

다형성은 동일한 작업이 다른 객체에 사용될 수 있지만 결과가 여러 형태로 나타날 수 있음을 의미합니다. Python에서 다형성은 객체가 어떤 유형인지 모르지만 무언가를 수행하기 위해 객체가 필요할 때마다 사용됩니다. 메서드는 다형성이 있고 연산자도 마찬가지입니다.

6. 파이썬을 빨리 익히는 방법은?

공식 문서를 읽으면 일상적인 요구 사항을 충족할 수 있습니다. 공식 문서는 중국어로 번역되어 있어 더 쉽게 배울 수 있습니다. 하지만 이것들은 기본적인 구문과 공통 모듈입니다. Python을 학습하는 데 가장 중요한 것은 모듈입니다. 빠르고 효율적인 개발은 모듈의 적용에 달려 있습니다.

하지만 Python을 배울 때 가장 중요한 것은 실제로 구문 자체가 아니라 모듈을 배우는 것입니다. Python의 구문은 대학에서 C나 데이터 구조 과정을 공부한 한, 전혀 공부하지 않은 사람이라도 매우 간단합니다. 전혀 쉽게 마스터할 수 있습니다. 구문을 익히면 이미 Shell의 기능을 구현할 수 있지만 모듈 학습을 개선하는 데 필수적입니다. 예를 들어 운영 및 유지 관리 담당자는 다음을 자주 사용합니다.

psutil: 성능 정보 얻기

socket: 기본 네트워크 통신

IPy : IP 주소 관련 처리

dnsptyhon: 도메인 이름 관련 처리

difflib: 파일 비교

pexpect: 화면 정보 획득, 자동화에 자주 사용됨

paramiko: SSH 클라이언트

XlsxWriter: Excel 관련 처리

있습니다 수많은 다른 기능 모듈, 새로운 모듈, 프레임워크 및 구성요소가 매일 지속적으로 생성되고 있습니다. 예를 들어 Java와의 연결을 위한 PythonJS가 있으며 심지어 Python에서도 Map 및 Reduce를 작성할 수 있습니다.

7. Python에는 전용 IDE 도구가 있나요?

네, IDEL은 Python으로 구현된 Python IDE 도구이지만, 솔직히 말해서 기능은 그다지 좋지 않습니다. 개인적으로 자주 사용하는 IDE는 다음과 같습니다.

PyCharm

PyCharm은 JetBrains에서 개발한 Python IDE입니다. PyCharm은 디버깅, 구문 강조, 프로젝트 관리, 코드 점프, 스마트 프롬프트, 자동 완성, 단위 테스트, 버전 제어 등 일반 IDE가 갖고 있는 기능에 사용됩니다. 또한 PyCharm은 Django에 유용한 몇 가지 기능도 제공합니다. 개발은 Google App Engine도 지원합니다. 더욱 멋진 점은 PyCharm이 IronPython을 지원한다는 것입니다!

윙 IDE

Wingware의 Python IDE는 Python 2.x 및 3.x와 호환되며 Django, matplotlib, Zope, Plone, App Engine, PyQt, PySide, wxPython, PyGTK, Tkinter, mod_wsgi, pygame, Maya, MotionBuilder, NUKE와 결합 가능 , Blender 및 다른 Python 프레임워크에서 사용됩니다. Wing은 테스트 중심 개발을 지원하고 단위 테스트, nose 및 Django 프레임워크 실행 및 디버깅 기능을 통합합니다. Wing IDE는 매우 빠르게 시작 및 실행되며 Windows, Linux, OS X 및 Python 버전을 지원합니다.

NotePad++

은 간단하고 편리하지만 임시 변경에만 적합합니다.

기타: Eclipse with PyDev, Sublime Text, Komodo Edit, Pyer, The Eric Python IDE, Python용 대화형 편집기

8. Python을 사용하여 자동화된 시스템 모니터링을 수행하는 일반적인 방법은 무엇입니까?

정확히 말하면 어떤 모듈이 있어야 하나요? 성능 모니터링을 위해서는 psutil을 사용해야 하고, 로그인을 위해서는 Paramiko, telnetlib, ftp를 위해서는 ftplib도 사용합니다.

기본 원칙은 데이터 수집 - 로컬에서 데이터 처리 - 데이터 전송이 더 완전하다면 데이터를 프레젠테이션하거나 Zabbix와 같은 오픈 소스 도구로 데이터를 보낼 수 있습니다.

저도 감시를 위해 오픈소스 모니터링 네트워크를 사용하고 있는데, 지정된 횟수를 초과하면 자동으로 차단됩니다.

9. Python은 어떤 플랫폼에서 실행할 수 있나요? 크로스 플랫폼은 어떤가요?

AIX, HPUX, Solaris, Linux, Windows 등과 같은 일반적인 주류 플랫폼을 지원합니다. Windows를 제외한 일반적인 Unix 및 Linux 플랫폼은 모두 기본 Python을 가지고 있지만 일반적으로 버전이 낮습니다. 크로스 플랫폼과 관련하여 다른 크로스 플랫폼 언어와 마찬가지로 일부 개별 모듈은 단일 플랫폼에 고유하지만 전반적인 크로스 플랫폼 성능은 여전히 ​​매우 좋습니다. 여러 코드 세트를 작성할 필요가 없습니다. 여러 플랫폼에 적응합니다.

그러나 이것이 전혀 제한이 없다는 것을 의미하지는 않습니다. 첫째, 동일한 버전의 중간 파일 .py, .pyc 및 .pyo는 크로스 플랫폼입니다. 둘째, 휴대폰 및 패드와 같은 PC 및 모바일 단말기입니다. , 크로스 플랫폼일 수 없습니다(이유로 인해 다음 기사 참조). 마지막으로 Intel 및 ARM, 64비트 및 32비트와 같은 프로세서 아키텍처를 크로스할 수 없습니다.

10. Python을 사용하여 개발 효율성을 높이는 방법은 무엇입니까?

파이썬으로 저수준의 것들을 많이 작성하지 않아도 되기 때문에 모듈 리소스도 풍부하고, 적절하게 사용하면 당연히 개발 효율성도 높아지며, 다양한 프레임워크도 빠른 개발의 기반을 제공합니다. .

11. Python은 얼마나 빨리 실행되나요?

일반적으로 Java는 Python보다 빠릅니다. C 확장을 호출하는 Python을 제외하고(CPython을 직접 사용할 수도 있습니다).
Python이 너무 느리다는 비판에 대해 Python 언어 작성자 Guido van Rossum은 다음과 같이 말했습니다.

개발하는 시스템에서 성능 병목 현상이 발견되면 일반적으로 가장 효율적인 방법은 문제가 있는 코드 블록을 찾고 Write와 같은 더 빠른 언어를 사용하는 것입니다. 전체 시스템을 C 또는 C++로 다시 작성하는 대신 해당 함수나 모듈을 대체하는 C 또는 C++의 일부 코드. 대부분의 코드에서 언어 속도는 중요하지 않기 때문입니다.

배움은 사람의 가장 큰 성취입니다. 학습을 통해 자신의 영역을 향상시킬 수 있을 뿐만 아니라 지식을 풍부하게 하고 미래 취업을 위한 기반을 마련할 수 있습니다. 결국, 인공지능 시대는 자신을 발전시킬 수 있는 좋은 기회입니다. 지능이 도래했고, 파이썬이 인공지능 시대의 주역이 된다는 것은 매우 유망한 일이며, 그 꿈은 아직 꺾이지 않았고, 그 길에는 아직도 땀이 흐르고 있습니다. 어서 해봐요!

추천 도서 목록:

눈에 보이는 모든 Python 전문가는 이 도서 목록을 가지고 있어야 합니다.

Python 도서 목록은 끝이 없습니다.

놓칠 수 없는 좋은 Python 책 10권

관련 추천:

Python 학습을 시작하는 과정 공유

Python 시작하기: 블록체인에 대한 자세한 소개(그림)

Python 튜토리얼 목록 작업 소개


위 내용은 Python을 시작하기 위한 11가지 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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