2023-12-10 12:57:33 +08:00
|
|
|
|
---
|
|
|
|
|
doc_type: weread-highlights-reviews
|
|
|
|
|
bookId: "3300024033"
|
|
|
|
|
author: 仲平
|
|
|
|
|
cover: https://cdn.weread.qq.com/weread/cover/33/3300024033/t7_3300024033.jpg
|
|
|
|
|
reviewCount: 2
|
|
|
|
|
noteCount: 17
|
|
|
|
|
title: Python编程轻松进阶
|
|
|
|
|
description: 本书分为三大部分,共计17章。第一部分(第1~2章)介绍了基础知识,包括如何配置开发环境和在网上寻求帮助。第二部分(第3~14章)介绍了Python编程的最佳实践、实用工具和技巧,不仅涵盖了如何编写高质量的Python代码、什么是高级的Python语法、如何使用专业开发者所用的命令行工具,还介绍了性能测量和大O算法分析,并用游戏实例演示了什么是最佳实践。第三部分(第15~17章)介绍了面向对象的Python,内容包括如何编写类、什么是类的继承,以及Python独有的面向对象功能。
|
|
|
|
|
keywords:
|
|
|
|
|
- Python编程轻松进阶
|
|
|
|
|
- 阿尔·斯维加特 著
|
|
|
|
|
tags:
|
|
|
|
|
- 阅读/计算机-编程设计
|
2024-04-26 21:00:41 +08:00
|
|
|
|
- 阅读/笔记
|
2023-12-10 12:57:33 +08:00
|
|
|
|
date: 2023-12-10
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 简介
|
|
|
|
|
|
|
|
|
|
- **书名**:《Python编程轻松进阶》
|
|
|
|
|
- **作者**: 阿尔·斯维加特 著
|
|
|
|
|
- **分类**: 计算机-编程设计
|
|
|
|
|
- **ISBN**:9787115592422
|
|
|
|
|
- **出版社**:人民邮电出版社有限公司
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
|
|
|
|
本书分为三大部分,共计17章。第一部分(第1~2章)介绍了基础知识,包括如何配置开发环境和在网上寻求帮助。第二部分(第3~14章)介绍了Python编程的最佳实践、实用工具和技巧,不仅涵盖了如何编写高质量的Python代码、什么是高级的Python语法、如何使用专业开发者所用的命令行工具,还介绍了性能测量和大O算法分析,并用游戏实例演示了什么是最佳实践。第三部分(第15~17章)介绍了面向对象的Python,内容包括如何编写类、什么是类的继承,以及Python独有的面向对象功能。
|
|
|
|
|
|
|
|
|
|
## 划线
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 在面对错误信息中的一大段技术性文本时,很多程序员会下意识地选择忽略。但程序出错的原因就在其中,我们需要用以下两个步骤找到它:检查回溯信息[插图],以及在网上搜索错误信息。
|
|
|
|
|
|
|
|
|
|
> 借助linter避免错误修复错误的最佳方式是压根儿不犯错。静态代码格式分析工具(也称作linter)是通过分析源代码来报告潜在错误的一类程序。
|
|
|
|
|
|
|
|
|
|
> 使用timeit模块衡量性能
|
|
|
|
|
|
|
|
|
|
> 使用enumerate()而不是range()
|
|
|
|
|
|
|
|
|
|
> 使用with语句代替open()和close()
|
|
|
|
|
|
|
|
|
|
> 用is跟None做比较而不用==
|
|
|
|
|
|
|
|
|
|
> 在字典中使用get()和setdefault()
|
|
|
|
|
|
|
|
|
|
> # Python风格的示例if 42 < spam < 99:
|
|
|
|
|
|
|
|
|
|
> 但大体上看,所有的编程错误都可以被分为3类:语法错误、运行时错误和语义错误。
|
|
|
|
|
|
|
|
|
|
> 库、框架、SDK、引擎、API
|
|
|
|
|
|
|
|
|
|
> 上述代码的执行演示过程见https://autbor.com/addingloopfixed/。
|
|
|
|
|
|
|
|
|
|
> 但是,正如变量包含的只是值的引用而非实际值,列表包含的也是值的引用。
|
|
|
|
|
|
|
|
|
|
> getPlayerMove()函数是唯一会被程序其他部分调用的函数,其他5个函数仅被getPlayerMove()调用。由于函数数量比较多,因此这个事实并不那么明显。
|
|
|
|
|
|
|
|
|
|
> 函数最好少于30行,至多不超过200行。
|
|
|
|
|
|
|
|
|
|
> 副作用是指函数对自身代码和局部变量之外的其他部分所做的任何改变。
|
|
|
|
|
|
|
|
|
|
## 笔记
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> ·先询问是否可以提问,而非直接提出问题。
|
|
|
|
|
·拐弯抹角而非直截了当地提问。
|
|
|
|
|
·在不适合的论坛或网站上提出问题。
|
|
|
|
|
·帖子名称或者邮件主题不够具体,比如“我有一个问题”或“求助”这样的主题。
|
|
|
|
|
·只说程序不能正常工作,但不解释预期的正确行为是什么。
|
|
|
|
|
·不提供完整的错误信息。
|
|
|
|
|
·不分享代码。
|
|
|
|
|
·分享的代码格式不好。
|
|
|
|
|
·不说明你已经尝试过的方案。
|
|
|
|
|
·不提供操作系统或者版本信息。
|
|
|
|
|
|
|
|
|
|
💭 沟通的艺术
|
|
|
|
|
|
|
|
|
|
> 在阐述问题时,你会下意识地认为别人听得懂你在说什么,但编程是一个非常宽泛的领域,别人有可能在你所遇到的问题的具体领域中缺乏经验,所以用实际问题的形式陈述问题是很有必要的。
|
|
|
|
|
|
|
|
|
|
💭 问题背景
|
|
|
|
|
|
|
|
|
|
## 书评
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 点评
|