课程设置与概述

欢迎访问本课程(Practical Python Programming)。这个页面包含一些关于课程设置的重要信息。

课程周期和时间要求

该课程最初是作为一个由讲师主导的,持续 3 -4 天的现场培训。要全部完成本课程,您应该最少计划用25-35小时进行学习。大部分的参与者发现,在不浏览题解代码的情况下,学习材料是相当具有挑战性的(见下文)

设置和 Python 安装

您只需要安装 3.6 或者更新版本的 Python 即可。不依赖于任何特定的操作系统,编辑器,IDE,或者其它与 Python 相关的工具。没有第三方依赖。

也就是说,本课程大部分内容涉及学习如何编写脚本与小型程序,这些脚本与小型程序涉及从文件中读取数据。因此,您需要确保您处在一个可以轻松处理文件的环境中。这包括使用编辑器创建 Python 程序,并能够从 shell 或终端运行这些程序。

您可能倾向于使用更具交互性的环境来学习本课程,例如 Jupyter Notebooks。我建议不要这样做。尽管 Jupyter Notebooks 非常棒,但本课程中的许多练习教授与程序组织的相关的观念,包括使用函数,模块,导入语句以及重构源代码跨越多个文件的程序。以我的经验,很难在 Jupyter Notebooks 环境中重复这样的环境。

派生(Forking)/克隆(Cloning) 课程仓库

为了准备本课程的环境,我推荐您从本课程的仓库 https://github.com/dabeaz-course/practical-python 派生您自己的 GitHub 仓库。完成后,您可以将其克隆到本地计算机上:

bash % git clone https://github.com/yourname/practical-python
bash % cd practical-python
bash %

请在 practical-python/ 目录下完成所有的练习。如果将解题代码提交回派生的仓库,那么您的所有代码会保存到一个地方。完成后,您将拥有良好的学习记录。

如果您不想派生一个自己的 GitHub 仓库或者您没有 GitHub 账号,您仍然可以将本课程的仓库克隆到您自己的计算机上:

bash % git clone https://github.com/dabeaz-course/practical-python
bash % cd practical-python
bash %

如果这样做,除了对计算机的本地副本进行更改外,您将无法提交代码更改到 GitHub 上。

课程排版

在 Work/ 目录下完成所有的编程工作。在Work/ 目录里面,有一个 Data/目录。 Data/ 目录包含各类在课程中使用的数据文件及其它脚本。您将会经常访问位于 Data/目录下的文件。课程练习假定您在 Work/ 目录下创建程序。

课程顺序

课程材料应该从第 1 节开始,按章节顺序完成。后面章节中的课程练习以前面章节中编写的代码为基础。后面的许多练习涉及对现有代码的微小重构。

题解代码

Solutions/ 目录包含选定练习的题解代码。如果您需要一些提示,请随时查看。为了最大限度地利用课程,您应该首先尝试创建自己的题解。

目录 | 下一节 (1 Python 简介)

翻译:《实用的Python编程》00_Setup的更多相关文章

  1. 翻译:《实用的Python编程》InstructorNotes

    实用的 Python 编程--讲师说明 作者:戴维·比兹利(David Beazley) 概述 对于如何使用我的课程"实用的 Python 编程"进行教学的问题,本文档提供一些通用 ...

  2. 翻译:《实用的Python编程》README

    欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了.15 年前,我自己也将这种乐趣教授给别人.教学的结果就是本 ...

  3. 翻译:《实用的Python编程》05_02_Classes_encapsulation

    目录 | 上一节 (5.1 再谈字典) | 下一节 (6 生成器) 5.2 类和封装 创建类时,通常会尝试将类的内部细节进行封装.本节介绍 Python 编程中有关封装的习惯用法(包括私有变量和私有属 ...

  4. 翻译:《实用的Python编程》04_02_Inheritance

    目录 | 上一节 (4.1 类) | 下一节 (4.3 特殊方法) 4.2 继承 继承(inheritance)是编写可扩展程序程序的常用手段.本节对继承的思想(idea)进行探讨. 简介 继承用于特 ...

  5. 翻译:《实用的Python编程》01_02_Hello_world

    目录 | 上一节 (1.1 Python) | 下一节 (1.3 数字) 1.2 第一个程序 本节讨论有关如何创建一个程序.运行解释器和调试的基础知识. 运行 Python Python 程序始终在解 ...

  6. 翻译:《实用的Python编程》03_03_Error_checking

    目录 | 上一节 (3.2 深入函数) | 下一节 (3.4 模块) 3.3 错误检查 虽然前面已经介绍了异常,但本节补充一些有关错误检查和异常处理的其它细节. 程序是如何运行失败的 Python 不 ...

  7. 翻译:《实用的Python编程》03_04_Modules

    目录 | 上一节 (3.3 错误检查) | 下一节 (3.5 主模块) 3.4 模块 本节介绍模块的概念以及如何使用跨多个文件的函数. 模块和导入 任何一个 Python 源文件都是一个模块. # f ...

  8. 翻译:《实用的Python编程》03_05_Main_module

    目录 | 上一节 (3.4 模块) | 下一节 (3.6 设计讨论) 3.5 主模块 本节介绍主程序(主模块)的概念 主函数 在许多编程语言中,存在一个主函数或者主方法的概念. // c / c++ ...

  9. 翻译:《实用的Python编程》04_01_Class

    目录 | 上一节 (3.6 设计讨论) | 下一节 (4.2 继承) 4.1 类 本节介绍 class 语句以及创建新对象的方式. 面向对象编程(OOP) 面向对象编程是一种将代码组织成对象集合的编程 ...

随机推荐

  1. JAVA编程环境与基本数据类型

    <JAVA编程环境与基本数据类型> 随笔目录 # <JAVA编程环境与基本数据类型> 随笔目录 - Java小实例 java的编程环境 java数据类型 Java小实例 jav ...

  2. 4.5万字手把手教你实现MySQL TB级数据存储!!

    写在前面 业界对系统的高可用有着基本的要求,简单的说,这些要求可以总结为如下所示. 系统架构中不存在单点问题. 可以最大限度的保障服务的可用性. 一般情况下系统的高可用可以用几个9来评估.所谓的几个9 ...

  3. TensorFlow 基础概念

    初识TensorFlow,看了几天教程后有些无聊,决定写些东西,来夯实一下基础,提供些前进动力. 一.Session.run()和Tensor.eval()的区别: 最主要的区别就是可以使用sess. ...

  4. NP问题/NP完全问题(NP-complete problem)如何判断是否是NP完全问题

    在算法复杂度分析的过程中,人们常常用特定的函数来描述目标算法,随着变量n的增长,时间或者空间消耗的增长曲线,近而进一步分析算法的可行性(有效性). 引入了Big-O,Big-Ω,来描述目标算法的上限. ...

  5. CSS_rules

    CSS 特性 1)控制灵活,功能强大 元素-->标签 针对html的元素 2)可以设置html元素的属性,与html框架的进行分离 3)执行效率更高 CSS语法 text-indent 文字缩进 ...

  6. PHP 导出到Excel表格中

    /** * 导出excel * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception * @throws \PHPExcel ...

  7. Python——绘制埃菲尔铁塔

    from turtle import * import turtle colormode(255) #设置turtle颜色模式 speed(0) #速度 setup(800,800,720,0) #画 ...

  8. 【MySQL】使用WHERE子句 - 过滤数据

    第6章 过滤数据 文章目录 第6章 过滤数据 1.使用WHERE子句 2.WHERE子句操作符 2.1.检查单个值 2.2.不匹配检查 2.3.范围值检查 2.4.空值检查 3.小结 简单记录 - M ...

  9. 【Linux】快速创建文件的命令方法

    [root@centos7 dir1]# ll total 0 -rw-r--r-- 1 root root 0 Aug 15 02:39 file1 -rw-r--r-- 1 root root 0 ...

  10. oracle rac搭建单实例DG步骤(阅读全篇后再做)

    环境介绍 主库: 主机名 rac01 rac02 实体IP 10.206.132.232 10.206.132.233 私有IP 192.168.56.12 192.168.56.13 虚拟IP 10 ...