Differences between revisions 7 and 20 (spanning 13 versions)
Revision 7 as of 2022-11-23 01:20:59
Size: 10658
Editor: AtmanAn
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:
英文版在此: 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:
没玩过编程? Python语言是免费的,如果你知道从何处开始,它很容易上手! 本指南将帮助你快速入门。 /* 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:
先读一下[[BeginnersGuide/Overview]]:通过一个简短的介绍了解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 12: Line 13:
== 获取Python ==  * '''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 14: Line 15:
接下来,在你的电脑上安装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 16: Line 17:
它用来读取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 18: Line 19:
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. 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 20: Line 21:
目前Python有两个主要版本:Python 2和Python 3.通过[[Python2orPython3]] 页面提供的建议,你可以决定哪个版本最适合你。在撰写本文时(2010年6月21号),以下内容假设你决定使用Python 2。 == Interactive Courses ==
These sites give you instant feedback on programming problems that you can solve in your browser.
Line 22: Line 24:
See [[BeginnersGuide/Download]] for instructions for downloading the correct version of Python. /* please keep this list alphabetized */
Line 24: Line 26:
查看文章 [[BeginnersGuide/Download]],按步骤下载正确的Python版本。  * [[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in Python 3.
Line 26: Line 28:
At some stage, you'll want to edit and save your program code. Take a look at HowToEditPythonCode for some advice and recommendations.  * [[https://www.codedex.io|Codédex]] is a learn to code platform for K-12 and college students.
Line 28: Line 30:
在某些阶段,你想编辑并保存你的程序代码。看一下 HowToEditPythonCode 以听取一些意见和方法推荐。  * [[https://www.codecademy.com/search?query=python|Codecademy]](Python)
Line 30: Line 32:
== Learning Python ==
== 学习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 33: Line 34:
Next, read a tutorial and try some simple experiments with your new Python interpreter.  * [[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 35: Line 36:
接下来,阅读教程,并尝试用你的新Python编译器做一些简单的练习。  * [[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 37: Line 38:
      * 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://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 45: Line 40:
绝大部分教程都假设你掌握如何在你的电脑上运行程序。  * [[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
Line 47: Line 42:
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]].  * [[https://hackinscience.org|HackInScience]] - 50+ Python exercises on a free, adless, simple, and open-source platform.
Line 49: Line 44:
如果你使用Windows操作系统,可以参考[[http://www.python.org/doc/faq/windows/#how-do-i-run-a-python-program-under-windows|我如何在Windows平台上运行程序]]以获得帮助  * [[https://www.learnpython.org/|LearnPython]] is an interactive Python tutorial that is suitable for absolute beginners.
Line 51: Line 46:
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.
 * [[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 57: Line 52:
当你读完教程后,可以浏览[[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语法的完整解释(有些枯燥)  * [[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 59: Line 54:
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.
== 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 62: Line 57:
在准备写第一个程序前,你需要一个文本编辑器。开始时使用你任何你熟悉的编辑器-即使像Notepad记事本-但当你有经验后,你会想使用带有Python编程辅助功能的文本编辑器。参考 PythonEditors 包含了一个带有友好的Python代码编辑功能的程序列表。 /* please keep this list alphabetized */
Line 64: Line 59:
== Need Help? ==
== 需要帮助吗? ==
 * [[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 67: Line 61:
Need help with any of this? Read [[BeginnersGuide/Help]] for mailing lists and newsgroups.  * [[http://jasonrbriggs.com/python-for-kids/index.html|Python for Kids]] by Jason R Briggs. Book with sample code and puzzles.
Line 69: Line 63:
需要以下帮助吗?阅读 [[BeginnersGuide/Help]],加入邮件列表和新闻组。  * [[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 71: Line 65:
Most Python books will include an introduction to the language; see IntroductoryBooks for suggested titles.  * [[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 73: Line 67:
绝大多数的Python书会包含本编程语言的介绍:查看 IntroductoryBooks中的建议标题。 == Tutorials and Websites ==
/* please keep this list alphabetized */
Line 75: Line 70:
Consult [[BeginnersGuide/Examples]] for small
programs and little snippets of code that can help you learn.
 * [[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 78: Line 72:
参考[[BeginnersGuide/Examples]],里面的小程序和小代码段会对你的学习有帮助。  * [[https://www.afternerd.com/|Afternerd]], by Karim Elghamrawy, is a Python tutorials blog that is geared towards Python beginners.
Line 80: Line 74:
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.
 * [[https://askpython.com/|Ask Python]] Absolute Beginners Python Tutorial.
Line 83: Line 76:
或者,如果你喜欢通过听课的方式学习Python,你可以参加培训课或请一位培训人员到你公司上课。  * [[http://anh.cs.luc.edu/handsonPythonTutorial/|Hands-on Python Tutorial]] Beginners' Python, graphics, and simple client/server introduction, with videos.
Line 85: Line 78:
Consult the PythonEvents page to see if any training courses are scheduled in your area, and the PythonTraining page for a list of trainers.  * [[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 87: Line 82:
参考 PythonEvents 页面看在当地有无定期的培训课程,在PythonTraining页面有培训人员列表。  * [[https://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]]
Line 89: Line 84:
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.  * [[http://letsfindcourse.com/python|Letsfindcourse - Python]]: Best Python tutorials and courses recommended by experts.
Line 91: Line 86:
老师可以加入 [[http://www.python.org/sigs/edu-sig/|EDU-SIG]],在该邮件列表中讨论从K-12到大学的各级别中的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 93: Line 88:
== Complete list of Beginner's Guide pages ==  * [[https://www.coursesonline.co.uk/courses/python/|Online Python Courses]] Compare online Python courses from learning providers from across the UK
Line 95: Line 90:
<<PageList(BeginnersGuide/)>>  * [[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners.
Line 97: Line 92:
== 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]]
 
 * The [[http://pythontips.com/|Python tips]] blog includes Python tips and tutorials for beginners and professional programmers.
Line 103: Line 94:
== Looking for a particular Python module or application? ==
== 如何查找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 106: Line 96:
 * The first place to look is the [[http://pypi.python.org/pypi|Python Package Index]].  * [[http://www.python-course.eu/python3_course.php|The Python-Course.eu's extensive tutorial for complete beginners]], with lots of illustrations.
Line 108: Line 98:
 * 首先参考 [[http://pypi.python.org/pypi|Python Package Index]].  * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.
Line 110: Line 100:
 * 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]].
 * [[http://thepythonguru.com/|The Python Guru]] A beginner-friendly guide for aspiring programmers.
Line 115: Line 102:
 *如果在目录中找不到相关的内容,参考 [[http://www.python.org/search/|searching python.org]] -这里你可以找到Python网站上涉及的全部内容,包括[[http://www.python.org/doc/faq/|常见问题]],或者新闻组。详情:[[http://www.python.org/search/|在哪里查找]]  * [[https://coderslegacy.com|CodersLegacy]] A website + blog geared towards both new and experienced programmers. Mainly focused on teaching Python.
Line 117: Line 104:
 * 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.
 * [[https://www.patternsgameprog.com/series/discover-python-and-patterns/|Discover Python & Patterns with game programming]] Discover Python by programming video games.
Line 120: Line 106:
 * 接下来,尝试 [[http://www.google.com|Google]]或其它你使用的搜索引擎。搜索“python”或其它关键字通常可以找到有用的信息。  * [[https://www.quizcure.com/topic/python/|QuizCure: A Python Learning Platform]] Contains a list of Commonly asked Python Questions and Answers with Examples.
Line 122: Line 108:
 * Finally, you can try posting a query to the comp.lang.python Usenet group. == Tutorial Aggregators / lists ==
Line 124: Line 110:
 * 最后,(注:如果实在搞不定了)你可以在comp.lang.python 用户组中发帖寻求帮助。  * [[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 126: Line 115:
== 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 127: Line 118:
 * [[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 128: Line 120:
== Want to contribute? ==  * [[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 130: Line 122:
== 如何做出贡献? == == 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 132: Line 125:
 * 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. == Videos ==
/* please keep this list alphabetized */
Line 134: Line 128:
 * Python来源于[[http://www.python.org/psf/|Python Software Foundation]],该非营利组织拥有其版权。[[http://www.python.org/psf/donations/|向PSF捐款]]在美国是免税的,你可能通过信用卡或[[http://www.paypal.com|PayPal]]来捐助。  * [[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP
Line 136: Line 130:
 * To report a bug in the Python core, use the [[http://bugs.python.org/|Python Bug Tracker]].  * 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 138: Line 132:
 * 通过[[http://bugs.python.org/|Python错误跟踪]]向Python核心组报告错误。 == Email Academies ==
/* Python courses in your INBOX - please add only free resources */
Line 140: Line 135:
 * 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.  * [[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 142: Line 137:
 * 向python核心组提供问题修复或补丁前,先阅读[[http://www.python.org/dev/|Python开发者指南]]获取关于Python开发进程的更多信息。 == Tools ==
 * [[http://thonny.org|Thonny, Python IDE for beginners]]
Line 144: Line 140:
 * 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. {{{#!wiki comment/dashed
Dead Links / Broken Sites
Line 146: Line 143:
 * 想编辑Python官方文档[[http://www.python.org/doc/|Python文档]],请加入[[http://www.python.org/sigs/doc-sig/|Documentation SIG],写信给docs@python.org或者使用[[http://bugs.python.org/|问题跟踪]]贡献文档修改内容。 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 148: Line 145:
 * 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.  * 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 150: Line 147:
 * 想在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 157: 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.