笨办法学 Python · 续 第一部分:预备知识

简介: 第一部分:预备知识 原文:Part I: Initial Knowledge 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译你需要学习的第一件事就是一切事情。

第一部分:预备知识

原文:Part I: Initial Knowledge

译者:飞龙

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

你需要学习的第一件事就是一切事情。我知道这是吓人的,但我在介绍中提到,你在整本书中只会练习三个技巧。当你完成其他任务时,每项练习都会强化每项技能。我可能会告诉你“制作cat命令的副本”,但你真正学习的是如何具有创造力。我可能会告诉你“创建一个链表数据结构”,但是你正在做的是将结构化代码审查流程应用到你的编程实践中。这本书的秘诀在于,你只是将项目和练习用作一种工具,来学习三个重要的实践:流程,创造力和质量。

理想情况下,这三个概念并不奇怪。流程只是你用于创建某些内容的步骤。创造力只是你产生和实现想法的方式。质量只是你确保这些实现不是垃圾的方式。如何将流程应用到你的个人开发技能中?如何分析是否已经构建了高质量的软件?如何把一个想法变成现实?所有这三个都是相互关联的,因为你需要一个流程来帮助你获得创造性,然后确保质量,这也需要创造力,因为任何流程都不会始终有效。这是一个出色的、美丽的循环。

完成这本书的过程就是这样:

  • 对于书的一部分,我将为你提供锻炼流程、创造力或质量的目标。通常它每次就是两个概念,也可能只是一个。例如,在第二部分中,你通过在 45 分钟的快速会话中创造一些简单工具,来锻炼创意。你也要分析你的起始流程,因为如果你发现难以开始,你将不会很有创造力。
  • 每个练习的开始都将为你提供一个提示或目标,以便你在练习中进行思考。每一个这些提示都要求你专注于你正在开展的工作的一个或多个方面。第二部分中的练习 4 给了你简单实现一些东西的任务,然后在练习 5 中,你需要开始列出阻碍你的内容,并尝试消除它们或使其更加高效。其他练习要求你查看你的物理环境,并解决任何分散精力的事情。每次你会考虑这些提示,然后在练习中尝试专注于那个特定的任务。
  • 每次练习的结尾都有研究性学习,为你提供更多的挑战。他们可能与该项目有关,或者他们可能更多关于你正在处理的过程,创造力或质量问题。
  • 一些练习是“挑战模式”。这意味着我会给你一个工具的描述来实现,通常基于一个现有的 Unix 工具,然后扔你实现它,但没有任何参照的代码。你可能需要先研究一小段样本代码,但通常在这些挑战中没有 Python 代码。这些答案可以在 Gitub 上的 Git 项目 http://bit.ly/lmpthwsolve 中在线获得。
  • 其他练习是一些东西的教育性描述,你需要根据我的代码实现它。这些练习将解释一些的东西,例如算法,然后你将尽可能准确地实现它们,并发现任何错误。通常这些练习将专注于质量,因为会要求你编写自动测试,跟踪错误率,并在“研究性学习”中找到其他问题的解决方案。
  • 最后,你将使用实验日志来做笔记,并跟踪你可以用于改善工作方式的指标。我非常明确地将此视为一本日志,它的意思是你的改进的个人账户,你不应该与任何人分享,特别是你公司的经理。这种信息可以用来将你看做工人并压榨你,所以要小心谨慎保管好。

在阅读本书时,你的目标不仅仅是实现几个 Unix 工具的副本。你的目标是使用这些小型 Unix 工具项目,来专注于你处理大型项目的能力。

如果我讨厌你的愚蠢的个人流程,会怎么样?

完全没事。这本书是帮助你成长和改进的东西,所以如果你还没有准备好分析你的工作方式,那么请稍等一下。你可以简单地用自己的方式和自己的时间完成所有的挑战,然后回来并使用你的流程中的约束尝试实现项目。每个练习都代表它自己,个人发展部分几乎适用于你所做的任何事情。做你能做的事情,当你需要处理你的工作方式的时候再回来。

如果我发现自己很糟糕,会怎么样?

这是一个非常实际的可能性,但是我的方法可以帮助你了解为什么你是糟糕的,为了解决这个问题需要做些什么。然后这只是一个需要处理的事情,直到你开始变得更好。将你的日记看管好,没有人会知道你是多么糟糕。然后,当你完成时,你就知道,你到底在什么位置,以及你需要做些什么。不要再怀疑你是一个骗子,或者你不能胜任这个任务。你会客观地认识你的优点和缺点,所以你可以不必担心你在这个世界上的位置。

但是,你可能不像你想象的那样糟糕。这本书的目标是成为一个个人课程,来改善你对你的技能的客观评价。这意味着你应该关注的,不是你在某种程度上有多好,而是要改善多少。如果你发现自己对某个特定练习的表现感到沮丧,那么你需要将其拆解,找出可以改进的东西。你还需要站在其他人的角度上看待这个练习,并客观评估你的改进。专注于改进可以帮助你客观地(不是积极或消极地)思考,并继续学习。

相关文章
|
Python C# Java
Python知识梳理
这是个人学习笔记,非教程,内容会有些混乱 极简教程 数据类型 我们可以使用type()函数类获取对象的类型,Python3中内置数据类型包括:None,int,float,complex,str,list,dict,tuple,set,frozenset,range等,Python2中还有long类型,Python中并没有内置数组类型。
12667 0
|
Python
Python知识总结帖
1、面向对象高级编程中----使用__slots__ 注意点:使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的:
537 0
|
C# 数据库 Python
python一些小知识
1、python连接mssql数据库编码问题   python一直对中文支持的不好,最近老遇到编码问题,而且几乎没有通用的方案来解决这个问题,但是对常见的方法都试过之后,发现还是可以解决的,下面总结了常用的支持中文的编码问题(这些方法中可能其中一个就能解决问题,也可能是多个组合)。
828 0
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
探索Python编程的奥秘
【10月更文挑战第7天】本文将带你走进Python的世界,探索其背后的逻辑与魅力。我们将从基础语法开始,逐步深入到函数、面向对象编程等高级特性,最后通过实际项目案例,让你体验Python的强大与便捷。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启发。
|
11天前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!
|
8天前
|
数据采集 开发框架 数据处理
探索Python的灵活性:简化日常编程任务
【10月更文挑战第7天】 【10月更文挑战第9天】 在本文中,我们将深入探讨Python编程语言的强大功能和灵活性。通过具体的代码示例,我们会展示如何利用Python简化日常编程任务,提高效率。无论是数据处理、自动化脚本还是Web开发,Python都能提供简洁而强大的解决方案。我们还将讨论一些最佳实践,帮助你编写更清晰、更高效的代码。
10 1