《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.
编程人
HOWTO: Downgrade from nYNAB to YNAB4

HOWTO: Downgrade from nYNAB to YNAB4 This page explains how to move from nYNAB to YNAB4 while retaining as much information as possible. See Appendix

Tobias Kunze 10 Dec 29, 2022
Snek-test - An operating system kernel made in python and assembly

pythonOS An operating system kernel made in python and assembly Wait what? It us

TechStudent10 2 Jan 25, 2022
A reminder for stand-up roster

roster-reminder A reminder for stand-up roster Run the project Setup database The project use SQLite as database. You can create tables refer to roste

Jason Zhang 5 Oct 28, 2022
To effectively detect the faulty wafers

wafer_fault_detection Aim of the project: In electronics, a wafer (also called a slice or substrate) is a thin slice of semiconductor, such as crystal

Arun Singh Babal 1 Nov 06, 2021
Backend/API for the Mumble.dev, an open source social media application.

Welcome to the Mumble Api Repository Getting Started If you are trying to use this project for the first time, you can get up and running by following

Dennis Ivy 189 Dec 27, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
Research on how Gboard Stickers work.

Google-Sticker-Mashup-Research Research on how Gboard Stickers work. Contribute Contributing is nice, and you will be listed below for contributing. C

Jeremiah 45 Oct 28, 2022
A simple script that can watch a list of directories for change and does some action

plot_watcher A simple script that can watch a list of directories and does some action when a specific kind of change happens In its current implement

Charaf Errachidi 12 Sep 10, 2021
Open source book about making Python packages.

Python packages Tomas Beuzen & Tiffany Timbers Python packages are a core element of the Python programming language and are how you create organized,

Python Packages 169 Jan 06, 2023
Lightweight Scheduled Blocks Checker for Current Epoch. No cardano-node Required, data is taken from blockfrost.io

ReLeaderLogs For Cardano Stakepool Operators: Lightweight Scheduled Blocks Checker for Current Epoch. No cardano-node Required, data is taken from blo

SNAKE (Cardano Stakepool) 2 Oct 19, 2021
Using graph_nets for pion classification and energy regression. Contributions from LLNL and LBNL

nbdev template Use this template to more easily create your nbdev project. If you are using an older version of this template, and want to upgrade to

3 Nov 23, 2022
A Python wrapper for Matrix Synapse admin API

Synapse-admin-api-python A Python wrapper for Matrix Synapse admin API. Versioning This library now supports up to Synapse 1.45.0, any Admin API intro

Knugi 9 Sep 28, 2022
IEEE ITU bunyesinde komitelere verilen Python3 egitiminin dokumanlastirilmis versiyonlari bu repository altinda tutulmaktadir.

IEEE ITU Python Egitimi Nasil Faydalanmaliyim? Dersleri izledikten sonra dokumanlardaki kodlari yorum satirlari isaretlerini kaldirarak deneyebilirsin

İTÜ IEEE Student Branch 47 Sep 04, 2022
A Python program that generates a maze that solves itself using DFS

Maze Generator And Solver Program Purpose: Generates a maze that then solves itself Language: Python and Pygame Algorithm: Randomized DFS / Floodfill

Joshua Liu 1 Jul 25, 2022
Automatically remove user join messages when the user leaves the server.

CleanLeave Automatically remove user join messages when the user leaves the server. Installation You will need to install poetry to run this bot local

11 Sep 19, 2022
ICEtool - ICEtool plugin for QGIS

ICEtool ICEtool is an all in one QGIS plugin to easily compute ground temperatur

Arthur Evrard 13 Dec 16, 2022
CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用。

CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用。 基本功能 置顶功能 是否使窗体一直保持在最上面。 简洁模式 简洁模式使窗体更加简洁。 此模式下不可调整大小,请提前在普通模式下调整大小。 设置功能 修改主窗体背景颜色,修改计时模式。 透明设置 调整窗体的透明度。 修改

gaoyongxian 130 Dec 01, 2022
SQL centered, docker process running game

REQUIREMENTS Linux Docker Python/bash set up image "docker build -t game ." create db container "run my_whatever/game_docker/pdb create" # creating po

1 Jan 11, 2022
p5 is a Python package based on the core ideas of Processing.

p5 p5 is a Python library that provides high level drawing functionality to help you quickly create simulations and interactive art using Python. It c

p5py 645 Jan 04, 2023
pvaPy provides Python bindings for EPICS pvAccess

PvaPy - PvAccess for Python The PvaPy package is a Python API for EPICS7. It supports both PVA and CA providers, all standard EPICS7 types (structures

EPICS Base 25 Dec 05, 2022