Python應用開發培訓
?
Python應用開發培訓
課程大綱:
一、Python基礎
第一部分:
Python簡介:特性,歷史,版本,文化,前景
環境及安裝
文檔和幫助
內建數據類型
numeric:?int,float,complex,decimal,fraction
collection:?list,set,dict,string,frozenset,binary
types:?class,object,type,metaclass
內建的函數
分支,循環語句
自定義函數
匿名函數
函數參數:位置參數,變長參數,keyword參數,keyword-only參數
變量作用域
函數作為參數,高階函數
第二部分:
函數式編程
map/reduce/filter
列表,字典,集合生成
高級函數特性
迭代器,生成器,裝飾器
閉包,nonlocal
模塊和包
import原理
模塊查找機制
重載入模塊
面向對象
構造函數
成員變量:public?vs.?private
成員函數
classmethod,static?method
property
繼承,多繼承,mixin,mro,super
函數重載
metaclass
異常處理
內建的異常體系
鉤子函數:__special__?methods
其他語言特性:contextmanager
第二、Python標準庫
第一部分:
String?processing:string,re,structs,?hashlib,?base64,?xml.etree
Data?types:?datetime,?collections,?heapq,?bisect,?array,?weakref,?types,?copy,?pprint,?enum
Functional?programming:?itertools,?functools,?operator
Files?and?directories:?pathlib,?os.path,?stat,?tempfile,?glob,?fnmatch,?shutil
Data?persistence:?pickle,?json,?sqlite3,?yaml
Data?compression:?zlib,?gzip,?bz2,?zipfile,?tarfile,?lzma
OS:?os,?io,?time,?argparse,?platform,?errno,?signal
第二部分:
Concurrent:?threading,?multiprocessing,?subprocess,?queue
networking:?socket,?select,?ipaddress
runtime:?sys,?buitins,?contextlib,?atexit,?traceback,?__future__
Debugging?&?Profiling:?pdb,?profile,?timeit,?trace
Logging:?syslog,?logging
Others:?random,?pydoc,?tkinter,?configParser
三、Python應用程序開發
第一部分:
文本處理:
正則表達式
lxml,pyquery,beautifulsoap處理XML,HTML
pylex生成語法解釋器
Web
Django,Tornado
wsgi
common?django?extensions:crispyform,south?migration
Networking
Twisted編寫高并發server程序
requests處理HTTP
scrapy編寫高性能網絡爬蟲
Databases
MYSQL,PostgreSQL
MongoDB,Redis
MessageQueue
RabbitMQ
Redis
ZeroMQ
科學計算和機器學習
Numpy,scipy
sklearn
第二部分:
Python代碼規范:PEP8,Flake8
Packaging?&?dependency?management
setuptools
requirements
npm?(only?for?front-end?dependency)
Releasing:Pypi,pip
Deployment:Ansible?playbooks
Testing:doctest,?unittest,tox,pytest,?Selenium
Continous?integration:Jenkins
版本管理:Git
Code?review:Gerrit
Documents:Sphinx
Container:?venv,?vagrant,?docker
?
?