6263
备注:
|
12403
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 3: | 行号 3: |
<<TableOfContents>> * [[Python介绍]] == Python入门教程 == |
|
行号 4: | 行号 10: |
* [[Python小程序]] * [[Python使用技巧]] <<Include(Python介绍)>> 参考: * [[http://en.wikipedia.org/wiki/Python_%28programming_language%29|Wikipedia:Python_programming_language]] ([[http://zh.wikipedia.org/wiki/Python|Wikipedia上的Python编程语言简介]]) * [[http://www.python.org/|Python Official Web]] * [[http://en.wikipedia.org/wiki/Python_syntax_and_semantics|Python语法]] from Wikipedia * [[http://www.linuxjournal.com/article/3882|Why_Python]] by Eric Raymond [[http://blog.sina.com.cn/s/blog_53982851010008b8.html|why python中文版]] |
* [[https://stackify.com/learn-python-tutorials/|30个不同的Python入门网站]] * [[https://developers.google.com/edu/python|Google's Python Class]] * [[https://blog.jetbrains.com/blog/2020/03/05/jetbrains-academy-python/|Learn Python with JetBrains Academy!]] * [[https://docs.python.org/3/tutorial/|Python Tutorial]] * [[https://diveintopython3.problemsolving.io/|Dive Into Python 3]] ([[https://woodpecker.org.cn/diveintopython3/|中文版]]) * [[https://python.swaroopch.com/|A Byte of Python]] (中文版: [[https://bop.mol.uno/|简明Python教程]]) * [[https://en.wikibooks.org/wiki/Python_Programming|Python Programming - Wikibooks]] * [[https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3|Non-Programmers Tutorial For Python]] * [[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lecture-videos/|MIT 6.0001 Introduction to Computer Science and Programming in Python]] * [[http://openbookproject.net/thinkcs/python/english3e/|How to Think Like a Computer Scientist (Learning with Python 3)]] * [[http://xahlee.info/python/index.html|Python by Example]] by Xah Lee * [[http://www.alan-g.me.uk/l2p/|Learn to Program by Alan G]] * [[https://inventwithpython.com/|Invent with Python]] * [[http://chinesepython.org/pythonfoundry/easytut.html|Python 非編程員教學]] * [[http://www.norvig.com/python-lisp.html|Python for Lisp Programmers]] 已经过时的教程(基于已经淘汰的Python 2): * 另类的Python教程: [[attachment:我的名字叫Python.pdf]] (太古老,已过时) * [[http://www.wag.caltech.edu/home/rpm/python_course/|Python Short Course]] by Richard P. Muller (太古老,已过时) * [[https://github.com/livewires/python/releases|The LiveWires Python Course]] 已过时 * [[http://www.pentangle.net/python/handbook/|Handbook of the Physics Computing Course]] 已过时 * [[http://www.math.pku.edu.cn/teachers/lidf/docs/Python/python-tutorial.html|Python入门]] |
行号 22: | 行号 40: |
* PYPY https://www.pypy.org/ | * [[https://www.pypy.org/|PyPy]] * [[https://speed.pypy.org/|PyPy Speed]] * [[http://hylang.org|Hylang]] A dialect of Lisp that's embedded in Python |
行号 25: | 行号 45: |
== Python入门教程 == * [[https://stackify.com/learn-python-tutorials/|30个不同的Python入门网站]] * [[https://developers.google.com/edu/python|Google's Python Class]] * [[https://blog.jetbrains.com/blog/2020/03/05/jetbrains-academy-python/|Learn Python with JetBrains Academy!]] * [[https://docs.python.org/3/tutorial/|Python Tutorial]] * [[https://diveintopython3.problemsolving.io/|Dive Into Python 3]] ([[https://woodpecker.org.cn/diveintopython3/|中文版]]) * [[https://python.swaroopch.com/|A Byte of Python]] (中文版: [[https://bop.mol.uno/|简明Python教程]]) * 另类的Python教程: [[attachment:我的名字叫Python.pdf]] * [[https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3|Non-Programmers Tutorial For Python]] |
* Mac上Python环境准备: https://sourabhbajaj.com/mac-setup/Python/ * [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html|One Day of IDLE Toying]] (中文版: [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm|摆弄一天IDLE]]) * [[http://ftp.ntua.gr/mirror/python/idle/doc/idle2.html|Using IDLE]] by Daryl Harms * [[https://docs.python-guide.org/dev/virtualenvs/|Pipenv & Virtual Environments]] * [[https://hackernoon.com/reaching-python-development-nirvana-bb5692adf30c|Why you should use pyenv + Pipenv for your Python projects]] * [[https://pipenv.pypa.io/en/latest/advanced/|Advanced Usage of Pipenv]] == Python语法 == * [[http://en.wikipedia.org/wiki/Python_syntax_and_semantics|Python语法]] from Wikipedia * [[https://docs.python-guide.org/writing/gotchas/|Python Gotchas]] * [[https://towardsdatascience.com/30-python-best-practices-tips-and-tricks-caefb9f8c5f5|30 Python Best Practices, Tips, And Tricks]] * [[https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/|Python yield 使用浅析]] * [[https://python-future.org/compatible_idioms.html|Cheat Sheet: Writing Python 2-3 compatible code]] * [[https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html|Type hints cheat sheet (Python 3)]] * [[https://docs.python.org/3/reference/index.html|Python Reference Manual]] * [[https://realpython.com/async-io-python/|Async IO in Python: A Complete Walkthrough]] * [[https://snarky.ca/how-the-heck-does-async-await-work-in-python-3-5/|How the heck does async/await work in Python 3.5?]] * [[https://rhettinger.wordpress.com/2011/05/26/super-considered-super/|Python’s super() considered super! ]] * [[https://docs.python.org/3/library/asyncio-task.html|Coroutines and Tasks]] * [[https://www.python.org/dev/peps/pep-0492/|PEP 492 -- Coroutines with async and await syntax]] == 代码风格 == * [[https://www.python.org/doc/essays/styleguide/|Python Style Guide]] * https://www.python.org/dev/peps/pep-0008/ * https://www.python.org/dev/peps/pep-0257/ * [[https://docs.python-guide.org/writing/style/|Code Style -- The Hitchhiker's Guide to Python]] * [[https://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/|Open Sourcing a Python Project the Right Way]] |
行号 38: | 行号 79: |
* [[Why Python is More Productive than Java]] |
|
行号 39: | 行号 83: |
* [[http://docs.python.org/ref/ref.html|Python Reference Manual]] (中文版: [[http://chinesepython.org/pythonfoundry/ref2.3/tmp/|Python语言参考手册]] ) * [[http://docs.python.org/lib/lib.html|Python Library Reference]] (中文版: [[http://chinesepython.org/pythonfoundry/lib2.3/tmp/|Python库参考手册]]) * [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html|One Day of IDLE Toying]] (中文版: [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm|摆弄一天IDLE]]) |
* [[http://www.linuxjournal.com/article/3882|Why_Python]] by Eric Raymond [[http://blog.sina.com.cn/s/blog_53982851010008b8.html|why python中文版]] * [[https://woodpecker.org.cn/|WoodPecker中文社区]] * [[https://www.reddit.com/r/programming/comments/eroi/of_snakes_and_rubies_or_why_i_chose_python_over/|Of snakes and rubies; Or why I chose Python over Ruby]] |
行号 43: | 行号 88: |
* [[http://www.ibiblio.org/obp/thinkCSpy/|How to Think Like a Computer Scientist (Learning with Python)]] | |
行号 46: | 行号 90: |
* [[http://www.pentangle.net/python/handbook/|Handbook of the Physics Computing Course]] | |
行号 50: | 行号 94: |
* [[http://www.livewires.org.uk/python/|The LiveWires Python Course]] | |
行号 54: | 行号 97: |
* [[http://www.wag.caltech.edu/home/rpm/python_course/|Python Short Course]] | |
行号 61: | 行号 103: |
== 入门教程 == |
|
行号 64: | 行号 104: |
* Using IDLE: [[attachment:idleUse05b.zip]] | |
行号 68: | 行号 107: |
* Python介绍视频[[http://video.google.com/videoplay?docid=9023849479319414382|Introducing Python]] * [[https://towardsdatascience.com/30-python-best-practices-tips-and-tricks-caefb9f8c5f5|30 Python Best Practices, Tips, And Tricks]] * [[https://docs.python-guide.org/dev/virtualenvs/|pipenv, virtual env]] * [[https://docs.python-guide.org/writing/gotchas/|Python Gotchas]] * [[https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/|Python yield 使用浅析]] * [[https://python-future.org/compatible_idioms.html|Cheat Sheet: Writing Python 2-3 compatible code]] * [[https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html|Type hints cheat sheet (Python 3)]] == GUI Toolkit == |
* [[https://archive.org/details/SeanKellyRecoveryfromAddiction|Recovery from Addiction]] * [[https://www.zhidaow.com/post/python-modules-you-should-know|Python你必须知道的十个库]] * [[http://www.pythontip.com/blog/post/9771/|【外刊IT评论网】Python高效编程技巧]] * [[http://blog.sina.com.cn/s/blog_4e8581890102e29u.html|孩子们为什么要学Python编程?]] * [[https://pythonconquerstheuniverse.wordpress.com/2009/10/03/python-java-a-side-by-side-comparison/|Python & Java: A Side-by-Side Comparison]] * [[https://book.douban.com/subject/1241032/|Jython程序设计]] * [[https://lists.ubuntu.com/archives/ubuntu-devel/2020-February/040918.html|Python2 removal for Ubuntu focal]] * [[https://app.getpocket.com/read/2956522352|Python 2.7.18, the end of an era]] * [[http://python-future.org/|Easy, clean, reliable Python 2/3 compatibility]] * [[https://computers-are-fast.github.io/|Do you know how much your computer can do in a second?]] == Python库 == === 标准库 === * [[http://docs.python.org/lib/lib.html|Python Library Reference]] === GUI Toolkit === |
行号 79: | 行号 127: |
* [[wxPython]] | |
行号 81: | 行号 128: |
== Web 开发 == |
* [[https://kivy.org/|Kivy]] 基于OpenGL ES的移动端、桌面端GUI开发库 * 使用PyQt编写QT图形界面程序 http://www.riverbankcomputing.co.uk/pyqt/ * [[https://machinekoder.com/pyqt-vs-qt-for-python-pyside2-pyside/|PyQT vs PySide2]] === 网络 === * [[https://github.com/MagicStack/uvloop|uvloop]]: asyncio + libuv + Cython,再配上httptools做HTTP parser,从[[https://magic.io/blog/uvloop-blazing-fast-python-networking/|benchmark]]看起来性能非常强劲。 === Web 开发 === |
行号 85: | 行号 139: |
== Windows == |
* [[https://wiki.python.org/moin/WebProgramming|WebProgramming - Python Wiki]] * Flask: https://flask.palletsprojects.com/en/1.1.x/ * [[https://www.youtube.com/watch?v=DWODIO6aCUE|Better Web App]] === Windows === |
行号 90: | 行号 147: |
== python游戏相关 == |
* 使用_winreg模块操纵windows注册表 * 将python程序打包成windows下可以执行的exe文件:使用[[http://www.py2exe.org/|py2exe]]模块 * 在.net平台上使用python:[[http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742|IronPython]] === Mac === * [[http://undefined.org/python/py2app.html|Py2app]] === 多媒体 === * 图像获取:linux平台下使用sane模块,Windows平台下使用twain模块 * [[http://twainmodule.sourceforge.net/|TWAIN]] * 图像处理[[PythonImageLibrary中文手册]] * 通过ffmpeg处理视频、音频 https://github.com/kkroening/ffmpeg-python * PyDUB:在python中直接处理音频 https://github.com/jiaaro/pydub === 游戏 === |
行号 98: | 行号 169: |
== Python与正则表达式 == | === 字符串 === * [[https://docs.python.org/3/howto/unicode.html|Unicode Howto]] |
行号 103: | 行号 176: |
== Python数据处理 == | === 数据处理 === * [[https://numpy.org/|numpy]] * [[https://www.scipy.org/|scipy]] |
行号 105: | 行号 181: |
== 其它 == |
* [[https://pytorch.org/|PyTorch]] * [[https://scikit-learn.org/stable/|Scikit-Learn]] === 其它 === |
行号 109: | 行号 187: |
* 读取excel:用xlrd包。把excel转成csv,使用csv库操作。 * 加密:Python Cryptography Toolkit http://www.amk.ca/python/code/crypto * [[http://springpython.webfactional.com/|Spring Python]]: 为什么Python不需要像Spring这样的东西? * [[http://www.dabeaz.com/ply/ply.html#ply_nn2|PLY]] Python Lex-Yacc == Python的字符编码处理 == 对于中文用户,特别需要关注Python的编码技术. 列举一些常用的技巧。 {{{ chr(i): 将一个0到255的整数转换为一个字符. ord(c): 返回单个字符c的整数顺序值.普通字符返回[0,255]中的一个值,Unicode字符返回 [0,65535]中的一个值 unichr(i): 将一个0到65535的整数转换为一个Unicode字符 }}} * 代码中的编码设置,应该在代码最初两行内包含: {{{ # -*- coding: UTF-8 -*- }}} * 获得/设置系统的缺省编码 {{{ sys.getdefaultencoding() sys.setdefaultencoding('utf-8') }}} * 获得文件系统的文件名的编码 {{{ sys.getfilesystemencoding() }}} * 获得当前终端的输入、输出编码 {{{ sys.stdout.encoding sys.stdin.encoding }}} * 编码转换(先转换为unicode,再转换为具体的编码),有两种方法: {{{ unicode('abc', 'mbcs').encode('utf-8') 'abc'.decode('mbcs').encode('utf-8') }}} * [[Python代码片段]] |
Python
目录
1. Python入门教程
Python教程:Python游戏开发基础
A Byte of Python (中文版: 简明Python教程)
MIT 6.0001 Introduction to Computer Science and Programming in Python
How to Think Like a Computer Scientist (Learning with Python 3)
Python by Example by Xah Lee
已经过时的教程(基于已经淘汰的Python 2):
另类的Python教程: 我的名字叫Python.pdf (太古老,已过时)
Python Short Course by Richard P. Muller (太古老,已过时)
2. Python解释器
CPython http://python.org/
Stackless Python http://www.stackless.com/
Ironpython (Python for .Net) https://ironpython.net/
Jython (Python for Java) https://www.jython.org/
Hylang A dialect of Lisp that's embedded in Python
3. Python开发环境
Mac上Python环境准备: https://sourabhbajaj.com/mac-setup/Python/
One Day of IDLE Toying (中文版: 摆弄一天IDLE)
Using IDLE by Daryl Harms
4. Python语法
Python语法 from Wikipedia
5. 代码风格
6. 参考资料
awesome python https://github.com/vinta/awesome-python
Why_Python by Eric Raymond why python中文版
Python 101 -- Introduction to Python Python 201 -- (Slightly) Advanced Python Topics
Python_Advocacy_HOWTO by A.M. Kuchling
Learning to Program: attachment: http://www.freenetpages.co.uk/hp/alan.gauld/
Learn To Program CD: LearnToProgramCD.zip
Tkinter Life Preserver: http://www.python.org/doc/life-preserver/
7. Python库
7.1. 标准库
7.2. GUI Toolkit
wxpython http://www.wxpython.org/
Kivy 基于OpenGL ES的移动端、桌面端GUI开发库
使用PyQt编写QT图形界面程序 http://www.riverbankcomputing.co.uk/pyqt/
7.3. 网络
7.4. Web 开发
7.5. Windows
python 与 COM Advanced Python and COM
- 使用_winreg模块操纵windows注册表
将python程序打包成windows下可以执行的exe文件:使用py2exe模块
在.net平台上使用python:IronPython
7.6. Mac
7.7. 多媒体
- 图像获取:linux平台下使用sane模块,Windows平台下使用twain模块
通过ffmpeg处理视频、音频 https://github.com/kkroening/ffmpeg-python
PyDUB:在python中直接处理音频 https://github.com/jiaaro/pydub
7.8. 游戏
pygame: http://www.pygame.org/
panda3d: http://www.panda3d.org/
pyopengl http://pyopengl.sourceforge.net/
7.9. 字符串
- Mastering Regular Expressions 2nd Edition, By Jeffrey E. F. Friedl
7.10. 数据处理
7.11. 其它
python-ldap http://www.python-ldap.org/
- 读取excel:用xlrd包。把excel转成csv,使用csv库操作。
加密:Python Cryptography Toolkit http://www.amk.ca/python/code/crypto
Spring Python: 为什么Python不需要像Spring这样的东西?
PLY Python Lex-Yacc
8. Python的字符编码处理
对于中文用户,特别需要关注Python的编码技术. 列举一些常用的技巧。
chr(i): 将一个0到255的整数转换为一个字符. ord(c): 返回单个字符c的整数顺序值.普通字符返回[0,255]中的一个值,Unicode字符返回 [0,65535]中的一个值 unichr(i): 将一个0到65535的整数转换为一个Unicode字符
- 代码中的编码设置,应该在代码最初两行内包含:
# -*- coding: UTF-8 -*-
- 获得/设置系统的缺省编码
sys.getdefaultencoding() sys.setdefaultencoding('utf-8')
- 获得文件系统的文件名的编码
sys.getfilesystemencoding()
- 获得当前终端的输入、输出编码
sys.stdout.encoding sys.stdin.encoding
- 编码转换(先转换为unicode,再转换为具体的编码),有两种方法:
unicode('abc', 'mbcs').encode('utf-8') 'abc'.decode('mbcs').encode('utf-8')