1. Python 개발 소개
1. Python의 저자 소개
Python의 저자 Guido von Rossum은 네덜란드 사람입니다. 1982년에 Guido는 암스테르담 대학교에서 수학과 컴퓨팅 석사 학위를 받았습니다. 1989년에 그는 Python 언어를 창안했습니다. 그 당시 그는 아직 네덜란드 CWI(Centrum voor Wiskunde en Informatica, National Institute of Mathematics and Computer Science)에 있었습니다. 1991년 초 Python은 첫 번째 공개 릴리스를 출시했습니다. 귀도는 원래 네덜란드에 살았고, 1995년에 미국으로 이주하여 현재의 아내를 만났습니다. 2003년 초, Guido와 그의 가족은 2001년에 태어난 아들 Orlijn을 포함하여 워싱턴 주 북부 버지니아 교외에 살고 있었습니다.
1989년, 크리스마스 휴가를 보내기 위해 귀도는 파이썬 언어용 컴파일러를 작성하기 시작했습니다. Python이라는 이름은 Guido가 사랑한 TV 시리즈 Monty Python's Flying Circus에서 따왔습니다. 그는 Python이라는 새로운 언어가 C와 셸 사이에서 포괄적이고, 배우기 쉽고, 사용하기 쉽고, 확장 가능한 언어를 만드는 그의 이상을 충족할 수 있기를 바라고 있습니다.
1991년 최초의 Python 컴파일러가 탄생했습니다. C언어로 구현되어 C언어 라이브러리 파일을 호출할 수 있습니다. Python은 탄생부터 클래스, 함수, 예외 처리, 테이블 및 사전을 포함한 핵심 데이터 유형, 모듈 기반 확장 시스템을 갖추고 있습니다.
2000년에 메모리 재활용 메커니즘이 추가되어 현재 Python의 기초가 되었습니다. 언어 프레임 워크 IN UP In -19, 2006 년 19 일, Python 2.6-10 월 1 일 2010, Python 2.7-3 월 3 일, 2010 년 7 월 3 일, 2014 년 11 월에 발표되었습니다. Python 2.7은 2020년까지 지원될 예정이며, 사용자가 가능한 한 빨리 Python 3.4+로 전환할 것으로 예상되므로 2.8 릴리스는 없을 것임을 재확인했습니다.
,Python 3.1 - 2009년 6월 27일
2011, Python 3.2 - 2011년 2월 20일 2012
, Python 3.3 - 2012년 9월 29일 2014, Python 3.4 - 2014년 3월 16일
2015년 , Python 3.5 - 2015년 9월 13일
2015
,Python 3.5.1, 2015년 12월 7일에 릴리스된 문서.
2016,Python 3.5.2, 2016년 6월 27일에 릴리스된 문서.
2016,Python 3. 6. 0, 12월 23일에 공개된 문서 2016.
2017
, Python 3.6.1, 2017년 3월 21일에 릴리스된 문서. 공식 문서를 참조하십시오:
사용자가 주의 깊게 읽으면 왜 2008년에 릴리스되었는지 확실히 알게 될 것입니다. Python 3.0 버전이 출시되었습니다. Python 2.7 버전이 2010년에 출시된 이유는 Python 3.0이 출시되었을 때 더 이상 Python 2.0 버전을 지원하지 않았기 때문에 많은 사용자가 정상적으로 새 버전으로 업그레이드할 수 없었기 때문입니다. 이후 Python 2.7의 과도기 버전이 출시되었으며 Python 2.7은 2020년까지 지원되므로 초보자는 Python 3.0부터 시작해야 합니다.
2. 현재 Python의 주요 응용 분야:
클라우드 컴퓨팅
: 클라우드 컴퓨팅에서 가장 널리 사용되는 언어, 대표적인 응용 프로그램인 OpenStack
WEB 개발: 다수의 우수한 WEB 프레임워크 , Youtube, Dropbox 및 Douban을 포함하여 많은 대규모 웹 사이트가 모두 Python으로 개발되었습니다. . . , 일반적인 WEB 프레임워크에는 Django
과학 컴퓨팅, 인공 지능
: 일반적인 라이브러리 NumPy, SciPy, Matplotlib, Enthought 라이브러리, pandas시스템 운영 및 유지 관리: 운영 및 유지 관리 인력을 위한 필수 언어
Google: Google App Engine , code.google. com, Google Earth, Google 크롤러, Google 광고 및 기타 프로젝트는 모두 개발을 위해 Python을 광범위하게 사용하고 있습니다.
NASA: 미국 항공 우주국(NASA)에서는 Python을 사용합니다. 데이터 분석 및 계산을 위해 광범위하게 사용됩니다
YouTube:세계 최대의 비디오 웹사이트 YouTube는 Python으로 개발되었습니다
Instagram: 미국 최대 사진 공유 소셜 네트워킹 사이트로 매일 3천만 장 이상의 사진이 공유되며 모두 Python으로 개발됩니다
Facebook: 수많은 기본 라이브러리가 Python으로 구현됨Dr. Chunyu: 국내 유명 온라인 의료 웹사이트는 Python으로 개발되었습니다
위 외에도 Sohu, Kingsoft, Tencent, Shanda, NetEase, Baidu, Ali, Taobao, Tudou, Sina와 Python과 같은 Guoke 회사는 Python을 사용하여 다양한 작업을 완료하고 있습니다.
4. Python은 어떤 프로그래밍 언어인가
프로그래밍 언어는 크게 컴파일과 해석, 정적 언어와 동적 언어, Strong Type Definition Language와 Weakly Typed라는 관점으로 분류됩니다. 정의 언어, 각 카테고리는 무엇을 의미하는지 살펴볼까요?
컴파일러는 소스 프로그램의 각 명령문을 기계어로 컴파일하여 바이너리 파일로 저장합니다. 이러한 방식으로 컴퓨터는 런타임에 프로그램을 기계어로 직접 실행할 수 있으며 이는 매우 빠릅니다.
인터프리터는 프로그램을 하나씩 기계어로 해석하여 컴퓨터가 실행할 수 있도록 하기 때문에 컴파일된 프로그램만큼 실행 속도가 빠르지 않습니다.
이는 컴퓨터가 직접 이해하고 실행할 수 없기 때문입니다. 쓰기는 기계어(바이너리 형식)만 이해할 수 있습니다 컴파일된 대 해석된컴파일된장점: 컴파일러에는 일반적으로 코드 최적화를 컴파일하기 위한 사전 컴파일 프로세스가 있습니다. 컴파일은 한 번만 수행되고 런타임 시 컴파일이 필요하지 않기 때문에 컴파일된 언어 프로그램은 실행 효율성이 높습니다. 로케일과 독립적으로 실행할 수 있습니다.
단점: 컴파일 후 수정이 필요한 경우 모듈 전체를 다시 컴파일해야 합니다. 컴파일 시 해당 운영체제에 따라 기계어 코드가 생성되는데, 서로 다른 운영체제 간 이식 시 문제가 발생할 수 있으며, 실행 중인 운영체제 환경에 따라 서로 다른 실행 파일을 컴파일해야 합니다.
Interpreted장점: 플랫폼 호환성이 좋고 인터프리터(가상 머신)가 설치되어 있다면 어떤 환경에서도 실행 가능합니다. 유연성이 있어 코드 수정 시 직접 수정할 수 있으며, 유지 관리를 위한 다운타임 없이 빠르게 배포할 수 있습니다.
Python은 동적으로 해석되고 강력한 형식의 정의 언어입니다.
5. Python의 장점과 단점
먼저 장점을 살펴보겠습니다.
1. Python의 위치는 "우아함", "명확함", "간단함"이므로 Python 프로그램은 항상 초보자가 이해하기 쉽습니다. Python을 배우면 시작하기 쉬울 뿐만 아니라, 앞으로 더 깊이 들어가면 매우 복잡한 프로그램을 작성할 수 있습니다.
2. 개발 효율성이 매우 높습니다. Python에는 매우 강력한 타사 라이브러리가 있습니다. 기본적으로 컴퓨터를 통해 기능을 구현하려는 경우 공식 Python 라이브러리에서 이를 직접 다운로드하고 호출할 수 있습니다. 기본 라이브러리를 기반으로 추가 개발을 하면 개발 주기를 크게 단축하고 바퀴를 재발명하는 것을 피할 수 있습니다.
3. 고급 언어 - Python으로 프로그램을 작성할 때 프로그램에서 사용하는 메모리를 관리하는 방법과 같은 하위 수준의 세부 사항을 생각할 필요가 없습니다.
4. 이식성 - 오픈 소스 특성으로 인해 Python은 다양한 플랫폼으로 이식되었습니다(다른 플랫폼에서 작동할 수 있도록 수정). 시스템 종속 기능을 사용하지 않도록 주의한다면 Python 프로그램은 시장에 있는 거의 모든 시스템 플랫폼에서 수정 없이 실행될 것입니다.
5. 확장성 - 더 빠르게 실행하기 위해 중요한 코드가 필요하거나 특정 알고리즘을 비공개로 유지하려는 경우 프로그램의 일부를 C 또는 C++로 작성한 다음 Python 프로그램에서 사용할 수 있습니다.
6. 삽입 가능성 - Python을 C/C++ 프로그램에 삽입하여 프로그램 사용자에게 스크립팅 기능을 제공할 수 있습니다.
단점을 살펴보겠습니다.
1. 속도가 느립니다. Python의 실행 속도는 실제로 C 언어보다 훨씬 느리고 Java보다 느립니다. 따라서 이것이 소위 많은 전문가가 Python 사용을 경멸하는 주된 이유입니다. 여기에 언급된 느린 실행 속도는 대부분의 경우 사용자가 직접 인식할 수 없으며 테스트 도구의 도움으로 반영되어야 합니다!
2. Python은 해석된 언어이고 해당 소스 코드가 일반 텍스트로 저장되므로 코드를 암호화할 수 없습니다. 하지만 프로젝트 소스 코드를 암호화해야 하는 경우에는 이를 암호화해야 한다고 생각합니다. 처음부터 Python으로 구현하면 안 됩니다.
3. 스레드는 다중 CPU 문제를 활용할 수 없습니다. 이는 Python의 가장 비판적인 단점 중 하나입니다. GIL(Global Interpreter Lock)은 컴퓨터 프로그래밍 언어 해석기가 스레드를 동기화하는 데 사용하는 도구입니다. 실행 중인 스레드이고 Python의 스레드는 운영 체제의 기본 스레드입니다. Linux에서는 pthread이고 Windows에서는 Win 스레드입니다. 스레드 실행은 운영 체제에 의해 완전히 예약됩니다. Python 인터프리터 프로세스에는 메인 라인과 사용자 프로그램의 여러 실행 스레드가 있습니다. 멀티 코어 CPU 플랫폼에서도 GIL의 존재로 인해 스레드의 병렬 실행이 금지됩니다. 이 문제에 대한 절충 솔루션에 대해서는 나중에 스레드 및 프로세스 장에서 자세히 논의할 것입니다.
6. Python 인터프리터
Python 코드를 작성할 때 얻는 것은 Python 코드가 포함된 .py 확장자를 가진 텍스트 파일입니다. 코드를 실행하려면 .py 파일을 실행하는 Python 인터프리터가 필요합니다.
파이썬 언어의 사양부터 인터프리터까지 전부 오픈소스이기 때문에 이론상으로는 레벨만 높으면 누구나 파이썬 인터프리터를 작성해 파이썬 코드를 실행할 수 있습니다(물론 매우 어렵습니다). 실제로 여러 Python 인터프리터가 존재합니다.
CPython
Python 2.7을 공식적으로 다운로드하여 설치한 후 공식 버전의 인터프리터인 CPython을 직접 얻었습니다. 이 인터프리터는 C 언어로 개발되었기 때문에 CPython이라고 합니다.
CPython은 가장 널리 사용되는 Python 인터프리터입니다. 기본적으로 모든 코드는 CPython에서도 실행됩니다.
IPython은 CPython을 기반으로 한 대화형 인터프리터입니다. 즉, IPython은 대화형 모드에서만 향상되지만 Python 코드를 실행하는 기능은 CPython과 완전히 동일합니다. 예를 들어 국내 브라우저는 겉모습은 다르지만 코어는 실제로 IE라고 부른다.
CPython은 >>>를 프롬프트로 사용하고 IPython은 In [일련 번호]:를 프롬프트로 사용합니다.
PyPy 이것이 Python의 미래라고 하며 개발자들도 Python 코드 블록이 이 인터프리터를 사용하길 원한다고 말했습니다.
PyPy는 실행 속도를 목표로 하는 또 다른 Python 인터프리터입니다. PyPy는 JIT 기술을 사용하여 Python 코드를 동적으로 컴파일(해석하지 않음)하므로 Python 코드의 실행 속도를 크게 향상시킬 수 있습니다.
대부분의 Python 코드는 PyPy에서 실행될 수 있지만 PyPy와 CPython 간에는 몇 가지 차이점이 있습니다. 이로 인해 두 인터프리터에서 동일한 Python 코드를 실행해도 결과가 다를 수 있습니다. 코드를 PyPy에서 실행하려면 PyPy와 CPython의 차이점을 이해해야 합니다.
Jython
Jython은 Java 플랫폼에서 실행되는 Python 인터프리터로 Python 코드를 Java 바이트코드로 직접 컴파일하여 실행할 수 있습니다.
IronPython
IronPython은 IronPython이 Microsoft .Net 플랫폼에서 실행되는 Python 인터프리터이고 Python 코드를 .Net 바이트코드로 직접 컴파일할 수 있다는 점을 제외하면 Jython과 유사합니다.
요약: Python 인터프리터는 많지만 가장 널리 사용되는 것은 CPython입니다. Java 또는 .Net 플랫폼과 상호 작용하려는 경우 가장 좋은 방법은 Jython 또는 IronPython을 사용하는 것이 아니라 네트워크 호출을 통해 상호 작용하여 프로그램 간의 독립성을 보장하는 것입니다.
7. Python2 또는 Python3을 사용하세요
공식적인 권장 사항은 가능한 한 빨리 Python3으로 업그레이드하는 것입니다. Python3에는 새로운 기능과 기능이 많이 있으므로 Python2로 작성된 비즈니스가 없는 한 일반적으로 다음을 권장합니다. Python3을 사용하십시오.
Python 3.0에는 아직 완성되지 않은 비교적 큰 기능이 있는데, 바로 Twisted입니다. 이는 곧 완성될 예정인 매우 큰 시스템 프로젝트입니다.
8. Python 설치
windows
1. 최신 버전의 win7을 설치
합니다. 기본 설치 경로는 C:UsersAdministratorAppDataLocalProgramsPythonPython36
3입니다.
[컴퓨터를 마우스 오른쪽 버튼으로 클릭]-->[속성]-->[고급 시스템 설정]-->[고급]-->[환경 변수]-->[변수 이름이 Path인 줄을 찾습니다. 두 번째 콘텐츠 상자, 두 번 클릭] - -> [Python 설치 디렉터리는 ]로 구분되어 추가됩니다. 예: C:UsersAdministratorAppDataLocalProgramsPythonPython36, 앞에 세미콜론이 있습니다
, Mac
설치 필요 없음, 원본 Python 환경, 업데이트만 가능 버전을 클릭하기만 하면 됩니다!
변수란 무엇인가요?
간단히 말하면 변수는 메모리의 공간 주소를 설명하는 데 사용되는 레이블입니다. 변수를 선언하는 과정은 데이터를 저장할 메모리 공간을 확보하는 과정이다. 변수 선언#_*_coding:utf-8_*_
name = "Alex Li"
위 코드는 변수를 선언하며, 변수 이름은 name, 변수 값은 다음과 같습니다. 이름은 "Alex Li"입니다.
변수 정의 규칙:
①변수 이름은 문자, 숫자 또는 밑줄의 조합만 사용할 수 있습니다.
②변수 이름의 첫 번째 문자는 숫자일 수 없습니다.
3The 다음 키워드는 변수 이름으로 선언할 수 없습니다
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else' , '제외', 'exec', '최종적으로', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', ' or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
변수 할당
name = "Alex Li "
name2 = nameprint(name,name2)
name = "Jack"
print("지금 name2의 값은 무엇입니까?")
변수 이름은 최대한 의미가 있어야 합니다. 변수가 무엇을 나타내는지 한눈에 알 수 있습니다.
gf_of_oldboy = "Chen da hua"GFOfOldboy = "Chen da hua"파이썬에는 상수를 정의한다는 개념이 없지만 관례입니다 대문자를 사용합니다. 예:
PIE = 3.1415926
예약된 필드는 변수 이름으로 사용할 수 없습니다. 매우 낮게 보일 수 있습니다.
문자 인코딩의 차이점과 소개
Python2.Oknow, world"print(name)
Python 코드에 주석 추가 방법:
2 여러 줄 주석의 경우 주석을 달 코드 앞뒤에 ['''] 또는 ["""] 3개를 사용하여 주석을 달 내용을 넣습니다.
또한, ['' '] 또는 ["""]에 포함된 내용을 변수 전체에 할당하여 처리할 수 있습니다. 예:
msg = '''gf_of_oldboy = "왕다화"GFOfOldboy = "첸롱펑"
''
#print(gf_of_oldboy,GFOfOldboy)
print(msg)
실행 결과:
gf_of_oldboy = "wang da hua"
GFOfOldboy = "Chen rong feng"
또한
작은따옴표와 큰따옴표의 기능은 작은따옴표가 나타내는 기능과 유사합니다. 강한 따옴표와 큰 따옴표는 약한 참조를 나타냅니다.
사용자 대화형 프로그램
지정된 내용을 형식화하여 출력:
방법 1: ++ 표기법
name = input("이름:")
age = input("Age:")
job = input("Job:")
salary = input("샐리:")
info = '''
---------------------- ''' 정보 + 이름 +'''- -------------------------------
이름:''' + 이름 + '''
나이:''' + 나이 + '''
직업:''' + 직업 + '''
급여:''' + 급여 + '''
------ - ---------------- ''' + 이름 + ''' 정보---------------------- - ----------------
'''
print(info)
방법 2: 자리 표시자 표현
name = input("이름:")
#age = input( "Age:")
age = int(input("Age:"))
print(type(age),type(str(age))) # age의 데이터 유형이 여기에 인쇄된 후 문자열로 변환됩니다. 그런 다음 위의 변환이 유효한지 확인하기 위해 데이터 유형을 인쇄합니다.
job = input("Job:")
salary = input("Salry:")
info2 = """
---- --- ---------- %s의 정보 ------- --- --------
이름:%s
Age:%s #여기서 %d를 사용하여 대신 정수만 입력할 수 있도록 지정할 수 있습니다. 기본 문자열이지만, 입력 시 데이터 유형을 강제로 변환해야 합니다. 그렇지 않으면 오류가 보고됩니다.
Age:%d
Job:%s
Salary:%s
---------- -------------- -------- 정보 끝 %s ----------- --------- -------
""" %(이름,이름,나이,직업,급여,이름)
print (info2)
방법 3: {} 표기법
name = input("이름:")
age = input("Age:")
job = input("Job:")
salary = input("Salry:" )
info3 = """
------------ ----- {_name}의 정보 ------ ---------------------- -----
이름:{_name}
나이:{ _age}
직업:{_job}
급여:{_salary}
------ ---------- 정보 끝 {_name} - ---------------------- ----------
""" . format(_name=name,
_age=age,
_job=job,
_salary=salary)
print(info3)
방법 4: 방법 3의 확장으로 숫자를 사용하여 특정 변수를 나타냅니다
info4 = """
--------- -------- {0} 정보 ----------- --------------------- --------
이름:{0}
나이 :{1}
직업:{2}
급여:{3}
------ ---------- 정보 끝 {0} - --------------------------------- ------------
""" . format(이름,나이,직업,급여)
print(info4)
참고:
꼭 필요한 경우가 아니면 사용하지 마세요. 메모리를 너무 많이 소모하므로 다른 방법이 훨씬 좋습니다.
방법 1은 방법 2, 방법 3, 방법 4를 혼합할 수 있지만, 방법 2, 방법 3, 방법 4는 혼합할 수 없습니다.
10. 모듈 소개
Python의 장점은 구현하려는 거의 모든 기능에 해당 Python 라이브러리가 지원된다는 것입니다. 앞으로 자주 사용되는 다양한 라이브러리에 대해 심도 깊게 설명하겠습니다. 이제 간단한 두 가지 라이브러리를 기호적으로 배워보겠습니다.
sys 모듈
#!/usr/bin/env python
# -*- 코딩: utf-8 -*-
import sys
print(sys.argv)
#Output
$ Python 테스트. py helo world
['test.py', 'helo', 'world'] #스크립트 실행 시 전달된 매개변수 가져오기
os 모듈
#!/usr/bin/env python
# -* - 코딩: utf-8 -*-
import os
os.system("df -h") #시스템 명령 호출
완전히 결합
import os,sys
os.system(''.join (sys .argv[1:])) # 사용자가 입력한 매개변수를 명령으로 처리하여 os.system에 전달하여 실행
11. 선택 표현식 if ... else
#!/usr/bin/env python
# -*- 코딩:utf-8 -*-
#저자: Bill Xie
import getpass
_username = "xiaoxie"
_password = "123456"
username = input( "username :")
password = input("password:")
#password = getpass.getpass("password:")
if _username == 사용자 이름 및 _password == 비밀번호:
print("%s 사용자 로그인을 환영합니다. "% (사용자 이름))
else:
print("잘못된 사용자 이름 또는 비밀번호!")
참고:
1. Python 코드에는 문법적 약어가 엄격하게 필요합니다. 주의를 기울이지 않으면 오류가 발생합니다. indent.Error
IndentationError: 들여쓰기된 블록이 필요합니다
Python을 배우는 것과 다른 언어를 배우는 것의 가장 큰 차이점은 Python 코드 블록은 클래스, 함수 및 기타 논리적 판단을 제어하기 위해 중괄호 {}를 사용하지 않는다는 것입니다. 파이썬의 가장 독특한 특징은 들여쓰기를 사용하여 모듈을 작성한다는 것입니다. 들여쓰기된 공백의 양은 가변적이지만 모든 코드 블록 문에는 동일한 양의 들여쓰기된 공백이 포함되어야 하며 이는 엄격하게 적용되어야 합니다.
IndentationError: 예기치 않은 들여쓰기 오류는 Python 컴파일러가 "안녕하세요, 형제님, 파일 형식이 잘못되었습니다. 탭과 공백이 정렬되지 않았을 수 있습니다."라고 알려주는 것입니다. 모든 Python에는 매우 엄격한 형식 요구 사항이 있습니다.
IndentationError: unindent does not match any external indentation level 오류인 경우 사용하는 들여쓰기 방법이 일관되지 않음을 의미합니다. 일부는 탭 키 들여쓰기를 사용하고 일부는 공백 들여쓰기를 사용합니다.
따라서 Python 코드 블록에는 동일한 수의 선행 공백을 사용해야 합니다.
각 들여쓰기 수준에서 단일 탭 또는 2개의 공백 또는 4개의 공백을 사용하는 것이 좋습니다.
2. 여기서는 변수 참조의 두 가지 방법을 사용합니다. .
① 위 댓글에서 언급한 방법과 마찬가지로 먼저 %s 자리 표시자를 사용한 다음 자리 표시자가 사용할 변수를 지정합니다.
print("%s 사용자 로그인을 환영합니다."%(username))
②중괄호 {}를 사용하여
print("{_username} 사용자 로그인을 환영합니다." .format(_username=username))
print("Welcome user {0} login." .format(username)) # 대체할 변수가 숫자로 대체된다는 점만 제외하면 위와 유사합니다.
12개, 루프 본문
추측 게임:
#!/usr/bin/env python
# -*- 코딩:utf-8 -*-
#저자: Bill Xie
age_of_oldboy = 29
guess_age = int(input("늙은 소년의 나이를 추측하세요:"))
if 추측 == age_of_oldboy:
print("알았네요.")
elif 추측_age > age_of_oldboy:
print("더 작게 생각하세요...")
else :
print("더 크게 생각하세요...")
루프에 대한 지침:
while 루프 구문:
while 조건:
루프 본문
esle: #이것 없이도 할 수 있습니다
루프 본문
for 루프 구문:
범위 내 i의 경우(시작 번호, 끝 번호, 단계 크기):
루프 본문
else #생략 가능
루프 본문
아직 완료되지 않았으며 업데이트 예정입니다. . . .
위 내용은 Python의 개발 원점과 기본 지식에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!