《practical python programming》的中文翻译

Overview

欢迎光临

大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。本课程自 2007 年面世以来,已经被应用到400多个团体的面对面教学中。这些团体中包含了交易员、系统管理员、天文学家、修理工以及上百名使用 Python 帮助火星探测器着陆的火箭科学家。现在,我很高兴能够在知识共享协议下将这份课程共享给大家。

GitHub Pages | GitHub Repo.

--David Beazley (https://dabeaz.com), @dabeaz

这是什么?

你在这里看到的这份材料是以讲师为主导的 Python 培训课程的核心内容。该课程用于企业培训和职业发展。自 2007 年以来,这门课程一直在不断地完善,并且在现实课堂中经受了实战的检验。一般来说,这门课程在3至4天内被面授给学习者——大约需要25至35个小时的高强度学习。这包括完成大约 130 道动手编程练习。

课程受众

本课程的学员通常是专业的科学家、工程师和程序员,他们已经有至少一种其它编程语言的经验。不需要事先掌握 Python 的相关知识,但是需要具备通用的编程知识。大部分学员觉得这门课程具有挑战性——尽管他们已经使用过 Python 进行编程。

课程目标

本课程的目标是涵盖 Python 编程的基础方面,重点是脚本编写、数据操作和程序组织。在本课程结束时,学员应该能够开始独立地编写有用的 Python 程序,或者能够理解和修改合作者编写的代码。

课程要求

要完成本门课程,需要安装 Python 3.6 或者更高的版本,以及腾出学习本课程的时间。

本课程不包含的内容

这不是一门为计算机编程初学者开设的课程。本课程假设你已经有 Python 语言或者其它语言的编程经验。

这不是一门关于 web 开发的课程。那是另一个“马戏团”,然而,如果你留在这个“马戏团”,你仍会看到一些有趣的表演——只是没有动物。(译者注:原文这里使用的是 circus,可以理解为:本课程不涉及 web 开发, web 开发是另一个主题,但是如果你仍留下来学习本课程,你也会有所收获。)

这不是一门为软件工程师开设的关于如何编写和维护一个百万行 Python 应用程序的课程。我不写那样的程序,大多数使用 Python 的公司也不这样做,同样,你也不需要。这样的内容已经删除了。

马上带我访问课程

请点击 这里

社区讨论

想要讨论课程吗?你可以在 Gitter 上加入会话。我不一定能够回复每个人,但其他人也许可以帮上忙。

致谢

Llorenç Muntaner 在将课程内容从 Apple Keynote 转换为你在这里看到的在线版本方面发挥了重要作用。

在过去的 12 年里,不同的讲师曾在不同的时间讲过这门课程。这其中包括(按字母顺序):Ned Batchelder, Juan Pablo Claude, Mark Fenner, Michael Foord, Matt Harrison, Raymond Hettinger, Daniel Klein, Travis Oliphant, James Powell, Michael Selik, Hugo Shi, Ian Stokes-Rees, Yarko Tymciurak,Bryan Van de ven, Peter Wang, and Mark Wiebe。

还要感谢成千上万学习过本门课程的学员,你们对本课程进行反馈以及讨论,为本课程的成功做出了贡献。

问题和解答

问题:有课程视频可以观看吗?

没有,这门课程是让你写代码的,而不是看别人写代码。

问题: 这门课程是如何授权的?

本课程采用知识共享协议 ShareAlike 4.0 国际许可协议进行授权。

问题: 我教自己的 Python 课程时可以使用这份材料吗?

可以,只要注明出处即可。

问题: 我可以制作衍生作品吗?

可以,只要这些作品遵循相同的许可条款并且提供出处。

问题:我可以把这门课程翻译成其它语言吗?

可以,这非常棒。完成后请给我发送一个链接。

问题: 我可以直播课程或者制作视频吗?

可以,去做吧。如果你这样做,你将会学到很多 Python 知识。

问题: 为什么没有包含某个内容?

在 3 -4 天的时间里,只能安排这么多内容了。如果没有讲某个内容,很可能是因为曾经讲了这个内容,但是大家头都炸了,或者一开始就没有足够到时间去讲。另外,这是一门课程,而不是 Python 参考手册。

问题: 你接受拉取请求(pull requests)吗?

如果你能为本课程报告 Bug,我们将不胜感激,可以通过 issue tracker 进行提交。

除非是被邀请,否则不接受拉取请求,请先提交 issue。

Owner
编程人
Life is short, you need Python.
编程人
A collection of design patterns and idioms in Python (With tests!).

Python Patterns Help the project financially: Donate: https://smartlegion.github.io/donate/ Yandex Money: https://yoomoney.ru/to/4100115206129186 PayP

5 Sep 12, 2021
Remove Sheet Protection from .xlsx files. Easily.

🔓 Excel Sheet Unlocker Remove sheet protection from .xlsx files. How to use Run Run the script/packaged executable from the command line. Universal u

Daniel 3 Nov 16, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

anipy-cli Little tool in python to watch anime from the terminal (the better way to watch anime) Has a resume playback function when picking from Hist

sdao 97 Dec 29, 2022
Let's pretend you want to create a AWS Lambda project called "sns-processor".

Usage Let's pretend you want to create a AWS Lambda project called "sns-processor". Rather than using lambda and then editing the results to include y

1 Dec 31, 2021
Gives criticality score for an open source project

Open Source Project Criticality Score (Beta) This project is maintained by members of the Securing Critical Projects WG. Goals Generate a criticality

Open Source Security Foundation (OpenSSF) 1.1k Dec 23, 2022
A tool for checking if the external data used in Flatpak manifests is still up to date

Flatpak External Data Checker This is a tool for checking for outdated or broken links of external data in Flatpak manifests. Motivation Flatpak apps

Flathub 76 Dec 24, 2022
A simple but fully functional calculator that will take multiple operations.

Functional-Calculator A simple but fully functional calculator that will take multiple operations. Usage Run the following command through terminal: p

Uzziel Ariel 1 Dec 22, 2022
SymbLang are my programming language! Insired by the brainf**k.

SymbLang . - output as Unicode. , - input. ; - clear data. & - character that the main line start with. @value: 0 - 9 - character that the function

1 Apr 04, 2022
Implements a polyglot REPL which supports multiple languages and shared meta-object protocol scope between REPLs.

MetaCall Polyglot REPL Description This repository implements a Polyglot REPL which shares the state of the meta-object protocol between the REPLs. Us

MetaCall 10 Dec 28, 2022
Karte der Allgemeinverfügungen zu Schulschließungen oder eingeschränktem Regelbetrieb in Sachsen

SNSZ Karte Datenquelle: Allgemeinverfügungen zu Schulschließungen oder eingeschränktem Regelbetrieb in Sachsen Sächsisches Staatsministerium für Kultu

Jannis Leidel 3 Sep 26, 2022
Project issue to website data transformation toolkit

braintransform Project issue to website data transformation toolkit. Introduction The purpose of these scripts is to be able to dynamically generate t

Brainhack 1 Nov 19, 2021
A basic ticketing software.

Ticketer A basic ticketing software. Screenshots Program Launched Issuing Ticket Show your Ticket Entry Done Program Exited Code Features to implement

Samyak Jain 2 Feb 10, 2022
A TODO-list tool written in Python

PyTD A TODO-list tool written in Python. Its goal is to provide a stable posibility to get a good view over all your TODOs motivate you to actually fi

1 Feb 12, 2022
Script to change official Kali repository to mirrors

Script to change official Kali repository to mirrors. This helps increase packages update and downloading for some user.

Vineet Bhavsar 2 Nov 29, 2021
This is the key combo trainer for League of Legends and Dota 2 players.

This is the key combo trainer for League of Legends and Dota 2 players. Place the mouse cursor on the blue point and press the key combo from the upper-left side of the screen.

Ilya Shpigor 1 Jan 31, 2022
The Zig programming language, packaged for PyPI

Zig PyPI distribution This repository contains the script used to repackage the releases of the Zig programming language as Python binary wheels. This

Zig Programming Language 100 Nov 04, 2022
Click2call for asterisk with python

Click2call para Asterisk com Python Este projeto disponibiliza uma API construíd

Benedito Marques 1 Jan 17, 2022
The tool helps to find hidden parameters that can be vulnerable or can reveal interesting functionality that other hunters miss.

The tool helps to find hidden parameters that can be vulnerable or can reveal interesting functionality that other hunters miss. Greater accuracy is achieved thanks to the line-by-line comparison of

197 Nov 14, 2022
Attempt at a Windows version of the plotman Chia Plot Manager system

windows plotman: an attempt to get plotman to work on windows THIS IS A BETA. Not ready for production use just yet. Almost, but not quite there yet.

59 May 11, 2022
Find Transposon Element insertions using long reads (nanopore), by alignment directly. (minimap2)

find_te_ins find_te_ins is designed to find Transposon Element (TE) insertions using long reads (nanopore), by alignment directly. (minimap2) Install

Ming Wang 1 Feb 09, 2022