Differences between revisions 4 and 20 (spanning 16 versions)
Revision 4 as of 2011-08-21 18:45:37
Size: 11114
Comment:
Revision 20 as of 2024-11-20 01:12:15
Size: 13492
Editor: huhuhang
Comment: Revise the ranking list to ensure it always starts with the brand name, avoiding the use of 'A' to artificially dominate.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Beginner's Guide to Python
= Beginner's Guide to Python =
== Python for Non-Programmers ==
If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous experience. If you have programming experience, also check out the [[BeginnersGuide/Programmers]] page.
Line 4: Line 4:
Refer English Version: http://wiki.python.org/moin/BeginnersGuide == Books ==
Each of these books can be purchased online but is also available as free textual, website, or video content.
Line 6: Line 7:
New to programming? Python is free, and easy to learn if you know where to start! This guide will help you to get started quickly. /* please keep this list alphabetized */
Line 8: Line 9:
没玩过编程? Python语言是免费的,如果你知道从何处开始,它很容易上手! 本指南将帮助你快速入门。  * '''Automate the Boring Stuff with Python - Practical Programming for Total Beginners''' by ''Al Sweigart'' is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer." ||[[https://automatetheboringstuff.com/|website]] ||[[http://www.amazon.com/gp/product/1593275994/|print version]] ||
Line 10: Line 11:
== New to Python? ==
== 不了解Python? ==
 * '''How To Think Like a Computer Scientist''' is a classic open-source book by ''Allen Downey'' with contributions from ''Jeffrey Elkner'' and ''Chris Meyers''. It was updated to Python 3 by ''Peter Wentworth.'' ||[[http://openbookproject.net/thinkcs/python/english3e/|website]] ||[[http://openbookproject.net/thinkcs/python/english3e/|print version]] ||
Line 13: Line 13:
Read [[BeginnersGuide/Overview]] for a short explanation of what Python is.  * '''Making Games with Python & Pygame''' by ''Al Sweigart'' introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||[[http://inventwithpython.com/pygame|website]] ||[[http://www.amazon.com/Making-Games-Python-Pygame-Sweigart/dp/1469901730?ie=UTF8&tag=playwithpyth-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0982106017|print version]] ||
Line 15: Line 15:
先读一下[[BeginnersGuide/Overview]]:关于Python是什么的一个简短介绍。  * '''Python One-Liners''' by ''Christian Mayer'' teaches you how to read and write "one-liners": concise statements of useful functionality packed into a single line of code. ||[[https://pythononeliners.com/|website with free one-liner explainer videos]] ||[[https://www.amazon.com/gp/product/B07ZY7XMX8|print version]] ||
Line 17: Line 17:
== Getting Python ==
== 获取Python ==
 * '''Think Python''' by ''Allen B. Downey'' teaches you how to think like a computer scientist. ||[[http://greenteapress.com/thinkpython/html/index.html|website]] ||[[https://www.amazon.com/Think-Python-Like-Computer-Scientist/dp/1491939362/|print version]] ||
Line 20: Line 19:
Next, install the Python interpreter on your computer. You can find many free Python books online. For example, check out [[https://blog.finxter.com/free-python-books/|this article with 101 free Python books]].
Line 22: Line 21:
接下来,在你的电脑上安装Python的编译器。 == Interactive Courses ==
These sites give you instant feedback on programming problems that you can solve in your browser.
Line 24: Line 24:
This is the program that reads Python programs and carries out their
instructions; you need it before you can do any Python programming.
/* please keep this list alphabetized */
Line 27: Line 26:
它用来读取Python程序并执行其命令:在进行任何Python编程前你都离不开它。  * [[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in Python 3.
Line 29: Line 28:
There are currently two major versions of Python available: Python 2 and Python 3. The [[Python2orPython3]] page provides advice on how to decide which one will best suit your needs. At the time of writing (21 Jun 2010), the rest of this page assumes you've decided to use Python 2.  * [[https://www.codedex.io|Codédex]] is a learn to code platform for K-12 and college students.
Line 31: Line 30:
目前Python有两个主要版本:Python 2和Python 3.通过[[Python2orPython3]] 页面提供的建议,你可以决定哪个版本最适合你。在撰写本文时(2010年6月21号),以下内容假设你决定使用Python 2。  * [[https://www.codecademy.com/search?query=python|Codecademy]](Python)
Line 33: Line 32:
See [[BeginnersGuide/Download]] for instructions for downloading the correct version of Python.  * [[https://codetheblocks.com|Code the blocks]] combines Python programming with a 3D environment where you "place blocks" and construct structures. It also comes with Python tutorials that teach you how to create progressively elaborate 3D structures.
Line 35: Line 34:
查看文章 [[BeginnersGuide/Download]],按步骤下载正确的Python版本。  * [[https://codevisionz.com/learn-python-programming/|Codevisionz Python]] 10+ hrs of Python learning material - Learn common programming concepts through code examples, quizzes, and challenges
Line 37: Line 36:
At some stage, you'll want to edit and save your program code. Take a look at HowToEditPythonCode for some advice and recommendations.  * [[http://cscircles.cemc.uwaterloo.ca/|Computer Science Circles]] has 30 lessons, 100 exercises, and a message system where you can ask for help. Teachers can use it with their students. It is also available in Dutch, French, German, and Lithuanian.
Line 39: Line 38:
在某些阶段,你想编辑并保存你的程序代码。看一下 HowToEditPythonCode 以听取一些意见和方法推荐。  * [[https://www.datacamp.com/courses/intro-to-python-for-data-science|DataCamp Python Tutorial]] Unlike most other Python tutorials, this 4 hour tutorial by [[https://www.datacamp.com/|DataCamp]] focuses on Python specifically for Data Science. It has 57 interactive exercises and 11 videos.
Line 41: Line 40:
== Learning Python ==
== 学习Python ==
 * [[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
Line 44: Line 42:
Next, read a tutorial and try some simple experiments with your new Python interpreter.  * [[https://hackinscience.org|HackInScience]] - 50+ Python exercises on a free, adless, simple, and open-source platform.
Line 46: Line 44:
接下来,阅读教程,并尝试用你的新Python编译器做一些简单的练习。  * [[https://www.learnpython.org/|LearnPython]] is an interactive Python tutorial that is suitable for absolute beginners.
Line 48: Line 46:
      * If you've never programmed before, see [[BeginnersGuide/NonProgrammers]] for a list of suitable tutorials.
      * 如果你之前没有编程经验,读一下 [[BeginnersGuide/NonProgrammers], 里面有适合你的教程列表。
      * If you have previous programming experience, consult [[BeginnersGuide/Programmers]], which lists more advanced tutorials.
      * 如果你之前有编程经验,参考 [[BeginnersGuide/Programmers]], 里面列出了更多高级教程。
      * If English isn't your first language, you might be more comfortable with a tutorial that's been translated into your language. Consult python.org's [[http://wiki.python.org/moin/Languages|list of Non-English resources]].
      * 如果英语不是你的母语,阅读翻译好的教程更适合你。参考 python.org's [[http://wiki.python.org/moin/Languages|非英语资源列表]].
Most tutorials assume you know how to run a program on your computer.
 * [[https://learn-python.adamemery.dev|Learn Python]] - A no install Python course with interactive exercises powered by Pyodide.
 
 * [[https://programiz.pro/learn/master-python|Programiz Pro Python Course]] - Learn to code through bite-size lessons, quizzes and 100+ challenges in this beginner-friendly Python course.
 
 * [[https://python.land/python-tutorial|Python.land Tutorial]] - A free beginner-friendly Python tutorial with interactive code examples, explaining the Python language in an easy-to-understand way.
Line 56: Line 52:
绝大部分教程都假设你掌握如何在你的电脑上运行程序。  * [[https://runestone.academy/ns/books/published/thinkcspy/index.html|Runestone Academy - How to Think Like a Computer Scientist]] - An interactive reimagining of Elkner, Downey and Meyer's book, featuring visualizations and audio explanations.
Line 58: Line 54:
If you are using Windows and need help with this, see [[http://www.python.org/doc/faq/windows/#how-do-i-run-a-python-program-under-windows|How do I Run a Program Under Windows]]. == Resources for Younger Learners ==
(This section was previously called "K-12 Oriented", K-12 being a USA-centric term which refers to the primary and secondary educational stages; through level 3 on the UNESCO ISCED education levels list.)
Line 60: Line 57:
如果你使用Windows操作系统,可以参考[[http://www.python.org/doc/faq/windows/#how-do-i-run-a-python-program-under-windows|我如何在Windows平台上运行程序]]以获得帮助 /* please keep this list alphabetized */
Line 62: Line 59:
Once you've read a tutorial, you can browse through
[[http://docs.python.org|Python's online documentation]].
It includes [[http://docs.python.org/tut/|a tutorial]]
that may be helpful, [[http://docs.python.org//lib/|a Library Reference]] that lists all of the modules that come
standard with Python, and [[http://docs.python.org/ref/|the Language Reference]] for a complete (if rather dry) explanation of Python's syntax.
 * [[http://gvr.sourceforge.net|Guido van Robot]] A teaching tool in which students write simple programs using a Python-like language to control a simulated robot. Field-tested at Yorktown High School, the project includes a lesson plan.
Line 68: Line 61:
当你读完教程后,可以浏览[[http://docs.python.org|Python在线文档]]。它包括:有用的[[http://docs.python.org/tut/|a tutorial]],[[http://docs.python.org//lib/|a Library Reference]]详列了Python的标准库中的模块和[[http://docs.python.org/ref/|the Language Reference]介绍了Python语法的完整解释(有些枯燥)  * [[http://jasonrbriggs.com/python-for-kids/index.html|Python for Kids]] by Jason R Briggs. Book with sample code and puzzles.
Line 70: Line 63:
When you are ready to write your first program you will need a text
editor. To get started you can use any editor you are familiar with - even something like Notepad - but as you gain experience you may want to use a text editor with features that help you write Python programs. See PythonEditors for a list of programs friendly to Python code editing.
 * [[http://pythonturtle.org|PythonTurtle]] A learning environment for Python suitable for beginners and children, inspired by Logo. Geared mainly towards children, but known to be successful with adults as well.
Line 73: Line 65:
在准备写第一个程序前,你需要一个文本编辑器。开始时使用你任何你熟悉的编辑器-即使像Notepad记事本-但当你有经验后,你会想使用带有Python编程辅助功能的文本编辑器。参考 PythonEditors 包含了一个带有友好的Python代码编辑功能的程序列表。  * [[https://www.webucator.com/self-paced-training/index.cfm#!?courseId=PYT111|Webucator's self-paced Python 3 course]] free for homeschoolers and other students (use HOMESCHOOL as the coupon code when checking out). This course is appropriate for students 13 and up. '''From our experience, these students can learn at least as quickly as adults new to programming.'''
Line 75: Line 67:
== Need Help? ==
== 需要帮助吗? ==
== Tutorials and Websites ==
/* please keep this list alphabetized */
Line 78: Line 70:
Need help with any of this? Read [[BeginnersGuide/Help]] for mailing lists and newsgroups.  * [[https://python.swaroopch.com/|A Byte of Python]], by Swaroop C.H., is also an introductory text for people with no previous programming experience.
Line 80: Line 72:
需要以下帮助吗?阅读 [[BeginnersGuide/Help]],加入邮件列表和新闻组。  * [[https://www.afternerd.com/|Afternerd]], by Karim Elghamrawy, is a Python tutorials blog that is geared towards Python beginners.
Line 82: Line 74:
Most Python books will include an introduction to the language; see IntroductoryBooks for suggested titles.  * [[https://askpython.com/|Ask Python]] Absolute Beginners Python Tutorial.
Line 84: Line 76:
绝大多数的Python书会包含本编程语言的介绍:查看 IntroductoryBooks中的建议标题。  * [[http://anh.cs.luc.edu/handsonPythonTutorial/|Hands-on Python Tutorial]] Beginners' Python, graphics, and simple client/server introduction, with videos.
Line 86: Line 78:
Consult [[BeginnersGuide/Examples]] for small
programs and little snippets of code that can help you learn.
 * [[http://www.alan-g.me.uk/l2p2|Learning to Program]] An introduction to programming for those who have never programmed before, by Alan Gauld. It introduces several programming languages but has a strong emphasis on Python. (Python 2 and 3)
 
 * [[https://itsmycode.com|ItsMyCode]] A Python Blog and tutorials built for developers who love coding
Line 89: Line 82:
参考[[BeginnersGuide/Examples]],里面的小程序和小代码段会对你的学习有帮助。  * [[https://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]]
Line 91: Line 84:
Or, if you prefer to learn Python through listening to a lecture, you can attend
a training course or even hire a trainer to come to your company.
 * [[http://letsfindcourse.com/python|Letsfindcourse - Python]]: Best Python tutorials and courses recommended by experts.
Line 94: Line 86:
或者,如果你喜欢通过听课的方式学习Python,你可以参加培训课或请一位培训人员到你公司上课。  * [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati]]
Line 96: Line 88:
Consult the PythonEvents page to see if any training courses are scheduled in your area, and the PythonTraining page for a list of trainers.  * [[https://www.coursesonline.co.uk/courses/python/|Online Python Courses]] Compare online Python courses from learning providers from across the UK
Line 98: Line 90:
参考 PythonEvents 页面看在当地有无定期的培训课程,在PythonTraining页面有培训人员列表。  * [[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners.
Line 100: Line 92:
Teachers can join the [[http://www.python.org/sigs/edu-sig/|EDU-SIG]], a mailing list for discussion of Python's use in teaching at any level ranging from K-12 up to university.  * The [[http://pythontips.com/|Python tips]] blog includes Python tips and tutorials for beginners and professional programmers.
Line 102: Line 94:
老师可以加入 [[http://www.python.org/sigs/edu-sig/|EDU-SIG]],在该邮件列表中讨论从K-12到大学的各级别中的Python应用。  * [[http://docs.python.org/py3k/tutorial/|Python Tutorial in Python's documentation set]]. It's not written with non-programmers in mind, but it will give you an idea of the language's flavor and style.
Line 104: Line 96:
== Complete list of Beginner's Guide pages ==  * [[http://www.python-course.eu/python3_course.php|The Python-Course.eu's extensive tutorial for complete beginners]], with lots of illustrations.
Line 106: Line 98:
<<PageList(BeginnersGuide/)>>  * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.
Line 108: Line 100:
== Quiz and Exercises ==
== 测试和练习 ==
 * Pyschools - [[http://www.pyschools.com|A Collection of Python Quiz and Exercise Questions]]
 * CheckIO - [[http://www.checkio.org|Online learning, testing and improving your python skills]]
 
 * [[http://thepythonguru.com/|The Python Guru]] A beginner-friendly guide for aspiring programmers.
Line 114: Line 102:
== Looking for a particular Python module or application? ==
== 如何查找Python模块或程序? ==
 * [[https://coderslegacy.com|CodersLegacy]] A website + blog geared towards both new and experienced programmers. Mainly focused on teaching Python.
Line 117: Line 104:
 * The first place to look is the [[http://pypi.python.org/pypi|Python Package Index]].  * [[https://www.patternsgameprog.com/series/discover-python-and-patterns/|Discover Python & Patterns with game programming]] Discover Python by programming video games.
Line 119: Line 106:
 * 首先参考 [[http://pypi.python.org/pypi|Python Package Index]].  * [[https://www.quizcure.com/topic/python/|QuizCure: A Python Learning Platform]] Contains a list of Commonly asked Python Questions and Answers with Examples.
Line 121: Line 108:
 * If you can't find anything relevant in the Package Index,
 try [[http://www.python.org/search/|searching python.org]] - you can
 find anything mentioned on the Python site, in the [[http://www.python.org/doc/faq/|FAQs]], or in the
 newsgroup. More info: [[http://www.python.org/search/|where to search]].
== Tutorial Aggregators / lists ==
Line 126: Line 110:
 *如果在目录中找不到相关的内容,参考 [[http://www.python.org/search/|searching python.org]] -这里你可以找到Python网站上涉及的全部内容,包括[[http://www.python.org/doc/faq/|常见问题]],或者新闻组。详情:[[http://www.python.org/search/|在哪里查找]]  * [[https://gitconnected.com/learn/python|Gitconnected Python]] tutorials submitted and ranked by Python developers with the best rising to the top
 * [[https://coursesity.com/best-tutorials-learn/python|Coursesity - Python]] - Curated list of the best python courses and tutorials for beginners.
 * [[https://classpert.com/python-programming|Classpert - Python]] - A large collection of free and paid Python online courses, from a wide range of providers.
 * [[https://hackr.io/tutorials/learn-python|Hackr.io - Python]]: Programming community-recommended best Python tutorials and courses
Line 128: Line 115:
 * Next, try [[http://www.google.com|Google]] or other
 search engine of your choice. Searching for "python" and some relevant keywords will usually find something helpful.
== Tutorials for Scientific Audiences ==
/* please keep this list alphabetized */ These websites are written in support of science courses but are general enough that anyone can learn from them.
Line 131: Line 118:
 * 接下来,尝试 [[http://www.google.com|Google]]或其它你使用的搜索引擎。搜索“python”或其它关键字通常可以找到有用的信息。  * [[http://www.onlamp.com/pub/a/python/2002/10/17/biopython.html|Beginning Python for Bioinformatics]] by Patrick O'Brien. An introduction to Python aimed at biologists that introduces the PyCrust shell and Python's basic data types.
Line 133: Line 120:
 * Finally, you can try posting a query to the comp.lang.python Usenet group.  * [[http://illustratedtheoryofnumbers.com/prog.html|Python for Number Theory]] is a series of Python notebooks (for Jupyter) for applications to number theory and cryptography. They assume no prior programming experience and are suitable for someone learning elementary number theory at the same time. They conclude with an introduction to primality testing and cryptography (Diffie-Hellman, RSA).
Line 135: Line 122:
 * 最后,(注:如果实在搞不定了)你可以在comp.lang.python 用户组中发帖寻求帮助。 == Apps ==
 * [[https://www.programiz.com/learn-python|Programiz App to Learn Python]] - A beginner-friendly app on Android and iOS to learn Python step by step with an in-built interpreter and quizzes.
Line 137: Line 125:
== Videos ==
/* please keep this list alphabetized */
Line 138: Line 128:
 * [[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP
Line 139: Line 130:
== Want to contribute? ==  * The [[http://young-programmers.blogspot.com/search/label/python|Young Programmers Podcast]] contains video lessons on Python, Pygame, Jython, Scratch, Alice, Java, and Scala (somewhat outdated content!)
Line 141: Line 132:
== 如何做出贡献? == == Email Academies ==
/* Python courses in your INBOX - please add only free resources */
Line 143: Line 135:
 * Python is a product of the [[http://www.python.org/psf/|Python Software Foundation]], a non-profit organization that holds the copyright. [[http://www.python.org/psf/donations/|Donations to the PSF]] are tax-deductible in the USA, and you can donate via credit card or PayPal.  * [[https://blog.finxter.com/email-academy/|Finxter Email Computer Science Academy]]: 20+ free Python and computer science courses delivered in email video lessons. '''Content''': cheat sheets, Python basics, data structures, NumPy, data science, career advancement, coding productivity, and machine learning.
Line 145: Line 137:
 * Python来源于[[http://www.python.org/psf/|Python Software Foundation]],该非营利组织拥有其版权。[[http://www.python.org/psf/donations/|向PSF捐款]]在美国是免税的,你可能通过信用卡或[[http://www.paypal.com|PayPal]]来捐助。 == Tools ==
 * [[http://thonny.org|Thonny, Python IDE for beginners]]
Line 147: Line 140:
 * To report a bug in the Python core, use the [[http://bugs.python.org/|Python Bug Tracker]]. {{{#!wiki comment/dashed
Dead Links / Broken Sites
Line 149: Line 143:
 * 通过[[http://bugs.python.org/|Python错误跟踪]]向Python核心组报告错误。 If these sites come back to life, feel free to move them back up. Perhaps after 6 months, it would be reasonable to delete them.
Line 151: Line 145:
 * To contribute a bug fix or other patch to the Python core, read the [[http://www.python.org/dev/|Python Developer's Guide]] for more information about Python's development process.  * Free Python video lectures are also available as a course titled [[Intro to programming with Python and Tkinter]], Unix users can view the video using mplayer once you have downloaded the files. Windows users will need to have a DivX player, available from http://www.divx.com/divx/windows/. (One user reports success viewing the videos on OS X 10.4 using the VLC player -- http://www.videolan.org/) -- ''1/3/14: This is not a dead link but it is a dead option. These videos have been dropped from Blip.tv so the link gets you nothing.''
Line 153: Line 147:
 * 向python核心组提供问题修复或补丁前,先阅读[[http://www.python.org/dev/|Python开发者指南]]获取关于Python开发进程的更多信息。

 * To contribute to the official [[http://www.python.org/doc/|Python documentation]], join the [[http://www.python.org/sigs/doc-sig/|Documentation SIG]], write to docs@python.org, or use the [[http://bugs.python.org/|Issue Tracker]] to contribute a documentation patch.

 * 想编辑Python官方文档[[http://www.python.org/doc/|Python文档]],请加入[[http://www.python.org/sigs/doc-sig/|Documentation SIG],写信给docs@python.org或者使用[[http://bugs.python.org/|问题跟踪]]贡献文档修改内容。

 * To announce your module or application to the Python community, use [[news:comp.lang.python.announce|comp.lang.python.announce]]. See [[http://www.python.org/community/lists/#comp-lang-python-announce|the guide to Python mailing lists]] for more information.

 * 想在Python社区发布你的模块或程序,使用[[news:comp.lang.python.announce|comp.lang.python.公告]]。更多信息参考[[http://www.python.org/community/lists/#comp-lang-python-announce|Python邮件列表指南]]

 * To propose changes to the python core, post your thoughts to [[news:comp.lang.python|comp.lang.python]]. If you have an implementation, follow the [[http://www.python.org/patches/|Python Patch Guidelines]].

 * 想给Python核心组提出修改意见,请将你的想法发到[[news:comp.lang.python|comp.lang.python]]上。如果你有可行的措施,参考[[http://www.python.org/patches/|Python补丁指南]]
 * [[http://www.pasteur.fr/recherche/unites/sis/formation/python/|Bioinformatics course in Python]] focuses on preparing people with some programming background for using the [[http://www.biopython.org|Biopython]] modules.
 * [[http://www.khanacademy.org/#computer-science|Khan Academy computer science]] (Python 2, not actively maintained) -- ''20/4/14: This link now leads to the Khan Academy sign-on page. Python material seems to have been disappeared from Khan Academy.''
 * [[http://www.talk-it.biz/tutorial-categories/python/|Python tutorials on TalkIT]] (Python 3) ''7/10/15: it is almost all behind a paywall''
 * [[http://www.livewires.org.uk/python/|LiveWires]] A set of Python lessons used during 1999, 2000, 2001, and 2002 children's summer camps in Britain by Richard Crook, Gareth McCaughan, Mark White, and Rhodri James. Aimed at children 12-15 years old. ''7/10/15: Site not up when clicked.''
 * [[http://python.lycee.free.fr/|Débuter avec Python au lycée]] A french tutorial intended to secondary school pupils.
}}}
Line 168: Line 154:
CategoryDocumentation
r's Guide to Python。
CategoryPythonInEducation CategoryPythonInEducation

Python for Non-Programmers

If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous experience. If you have programming experience, also check out the BeginnersGuide/Programmers page.

Books

Each of these books can be purchased online but is also available as free textual, website, or video content.

  • Automate the Boring Stuff with Python - Practical Programming for Total Beginners by Al Sweigart is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer." ||website ||print version ||

  • How To Think Like a Computer Scientist is a classic open-source book by Allen Downey with contributions from Jeffrey Elkner and Chris Meyers. It was updated to Python 3 by Peter Wentworth. ||website ||print version ||

  • Making Games with Python & Pygame by Al Sweigart introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||website ||print version ||

  • Python One-Liners by Christian Mayer teaches you how to read and write "one-liners": concise statements of useful functionality packed into a single line of code. ||website with free one-liner explainer videos ||print version ||

  • Think Python by Allen B. Downey teaches you how to think like a computer scientist. ||website ||print version ||

You can find many free Python books online. For example, check out this article with 101 free Python books.

Interactive Courses

These sites give you instant feedback on programming problems that you can solve in your browser.

  • CheckiO is a gamified website containing programming tasks that can be solved in Python 3.

  • Codédex is a learn to code platform for K-12 and college students.

  • Codecademy(Python)

  • Code the blocks combines Python programming with a 3D environment where you "place blocks" and construct structures. It also comes with Python tutorials that teach you how to create progressively elaborate 3D structures.

  • Codevisionz Python 10+ hrs of Python learning material - Learn common programming concepts through code examples, quizzes, and challenges

  • Computer Science Circles has 30 lessons, 100 exercises, and a message system where you can ask for help. Teachers can use it with their students. It is also available in Dutch, French, German, and Lithuanian.

  • DataCamp Python Tutorial Unlike most other Python tutorials, this 4 hour tutorial by DataCamp focuses on Python specifically for Data Science. It has 57 interactive exercises and 11 videos.

  • Finxter - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.

  • HackInScience - 50+ Python exercises on a free, adless, simple, and open-source platform.

  • LearnPython is an interactive Python tutorial that is suitable for absolute beginners.

  • Learn Python - A no install Python course with interactive exercises powered by Pyodide.

  • Programiz Pro Python Course - Learn to code through bite-size lessons, quizzes and 100+ challenges in this beginner-friendly Python course.

  • Python.land Tutorial - A free beginner-friendly Python tutorial with interactive code examples, explaining the Python language in an easy-to-understand way.

  • Runestone Academy - How to Think Like a Computer Scientist - An interactive reimagining of Elkner, Downey and Meyer's book, featuring visualizations and audio explanations.

Resources for Younger Learners

(This section was previously called "K-12 Oriented", K-12 being a USA-centric term which refers to the primary and secondary educational stages; through level 3 on the UNESCO ISCED education levels list.)

  • Guido van Robot A teaching tool in which students write simple programs using a Python-like language to control a simulated robot. Field-tested at Yorktown High School, the project includes a lesson plan.

  • Python for Kids by Jason R Briggs. Book with sample code and puzzles.

  • PythonTurtle A learning environment for Python suitable for beginners and children, inspired by Logo. Geared mainly towards children, but known to be successful with adults as well.

  • Webucator's self-paced Python 3 course free for homeschoolers and other students (use HOMESCHOOL as the coupon code when checking out). This course is appropriate for students 13 and up. From our experience, these students can learn at least as quickly as adults new to programming.

Tutorials and Websites

Tutorial Aggregators / lists

  • Gitconnected Python tutorials submitted and ranked by Python developers with the best rising to the top

  • Coursesity - Python - Curated list of the best python courses and tutorials for beginners.

  • Classpert - Python - A large collection of free and paid Python online courses, from a wide range of providers.

  • Hackr.io - Python: Programming community-recommended best Python tutorials and courses

Tutorials for Scientific Audiences

These websites are written in support of science courses but are general enough that anyone can learn from them.

  • Beginning Python for Bioinformatics by Patrick O'Brien. An introduction to Python aimed at biologists that introduces the PyCrust shell and Python's basic data types.

  • Python for Number Theory is a series of Python notebooks (for Jupyter) for applications to number theory and cryptography. They assume no prior programming experience and are suitable for someone learning elementary number theory at the same time. They conclude with an introduction to primality testing and cryptography (Diffie-Hellman, RSA).

Apps

  • Programiz App to Learn Python - A beginner-friendly app on Android and iOS to learn Python step by step with an in-built interpreter and quizzes.

Videos

Email Academies

  • Finxter Email Computer Science Academy: 20+ free Python and computer science courses delivered in email video lessons. Content: cheat sheets, Python basics, data structures, NumPy, data science, career advancement, coding productivity, and machine learning.

Tools


CategoryPythonInEducation CategoryPythonInEducation

BeginnersGuideChinese (last edited 2025-02-11 10:30:21 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.