# 练习 2:创造力
> 原文:[Exercise 2: On Creativity](https://learncodethehardway.org/more-python-book/ex2.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
创造力没有什么特别之处。如果你是一个智力平均或以上的人,那么你拥有创造力。能够让你的想法变成现实,只是人类智慧和思想的一个方面。问题是创意已经成为特殊类别人士的一张电话卡,叫做《The Creative》。有整个一本书,描述了艺术世界的这个神话牧师,他可以想象出一个概念,并用他们疯狂创意的点金术,制作纯粹的情感上的、智慧的、投入感情的艺术作品,使天上的宝宝们的泪水变成纯粹的白金。坦白地说,“创造力”这个词是一个过度使用的陈词滥调,用于将人们从想法的实现中分离,但我别无选择,只能在这本书中使用这个词。
在我的书中,“创造力”一词只意味着“形成一个想法,并在现实世界实现”。我并不是指这个词的任何优越性,对于擅长实现思想的人也不会有任何神奇的意义。我是一个据说非常有创意的人,我和你之间唯一的区别,是我已经实践了我所拥有的想法,使他们变成现实。我拥有一个想法的笔记本,并尝试定期实现它们。我学习绘画,音乐,写作和编程,作为实现想法,以及在现实创造它们的手段。仅仅通过尝试定期创建一些东西,我已经变得擅长这样做,而且没有任何魔法。我只是不断尝试,直到我能做到。
创造我已经在大脑中拥有的东西的学习过程,已经产生了史诗般数量庞大的垃圾堆,但在垃圾堆的顶部是我欣赏的一些作品。如果你想要使用你的创造力,那么你也必须自己制作垃圾堆。但是,你不能随便地创建一堆垃圾,并希望在你到达顶部时变得很棒。成为有生产力的创意人士的技巧是,在一个流程或一系列约束条件下,学着实现你的想法,引导你走上学习的道路,但要避免严格流程的陷阱,它会抹杀你的创造力。一个有想象力的人的平衡法是一条线,这条线在引导你的流程和杀死你想法的流程之间。我希望在这本书中你会发现那个最佳位置。
## 挑战练习
要进行你的创意流程,你首先需要随机处理一些东西。我认为我的主要优点之一是能够采取两个看似随意的想法,并把它们变成有趣或有用的东西。你可以每天做这个小小的练习来开始工作:
+ 写下至少三个随机组合的单词。愚蠢的森林鬣蜥。 象征主义的法式薄饼。Python 可以召唤外星人。
+ 然后花10分钟写一篇关于这三个词的文章,或者其中一个,通过尽可能多的你可以想象到的感官 - 视觉,声音,平衡感,味道,气味。查看人类实际上有多少不同的感官,来了解你可以写的内容。不要自我审查,只是让这些话流出来。你也可以画出想法,绘画或写诗。
+ 在此期间,你可能会突然拥有实际想法,它们与软件或其他感兴趣的主题相关。将它们写在更显眼的位置,以便后续探索,甚至可以绘制它们。
无论相信与否,在你坐下来实现软件的时候,这个简单的小小练习会改善很多事情:
+ 它教会你让你的想法流动,而不是审查他们。
+ 它训练你自由地将看似不连贯的想法联系起来找到可能的连接。
+ 它打开了你自己的想法,没有自我批评。
+ 它提高了你在写作或绘画中,表达自己想法的能力,这通常是将想法变成现实的第一步。
+ 它迫使你想象你的感觉如何工作,以及他们如何为其他人工作,这有助于你在现实世界中实现它们。
+ 它也使人们认为,你是大牛和艺术家。你也可以自己去买一个贝雷帽,并在此之后搬到巴黎。
这个随机写作和思考荒谬概念的过程,对于那些习惯于专注软件细节和担心质量的人来说,可能是困难的。这是完全可以理解的,你肯定还需要你形成的这种质量意识。没有严格的质量意识的创造力只会产生垃圾。然而,没有创造力的质量缺乏必要的想象力,来查看你创造的东西错在哪里。你需要的是创造力和质量的混合,可以帮助你创建软件并确保其健壮。
## 深入学习
如果写下随机单词的想法是这样的,像是“Unitarians tend to fly omelets”,那么你可以从字典中简单地选择一个随机单词,并使用你的感官来写出来。这样做也是一样,也不会很无聊,但我会鼓励你随意一些。没有人因为在珍珠海岸上创作有关金色蜜蜂的诗歌而被解雇。另一个选择是从所有感官的角度,来表达你的感受。这也可以使你有创造力,而且有益于健康。
- 笨办法学 Python · 续 中文版
- 引言
- 第一部分:预备知识
- 练习 0:起步
- 练习 1:流程
- 练习 2:创造力
- 练习 3:质量
- 第二部分:简单的黑魔法
- 练习 4:处理命令行参数
- 练习 5:cat
- 练习 6:find
- 练习 7:grep
- 练习 8:cut
- 练习 9:sed
- 练习 10:sort
- 练习 11:uniq
- 练习 12:复习
- 第三部分:数据结构
- 练习 13:单链表
- 练习 14:双链表
- 练习 15:栈和队列
- 练习 16:冒泡、快速和归并排序
- 练习 17:字典
- 练习 18:性能测量
- 练习 19:改善性能
- 练习 20:二叉搜索树
- 练习 21:二分搜索
- 练习 22:后缀数组
- 练习 23:三叉搜索树
- 练习 24:URL 快速路由
- 第四部分:进阶项目
- 练习 25:xargs
- 练习 26:hexdump
- 练习 27:tr
- 练习 28:sh
- 练习 29:diff和patch
- 第五部分:文本解析
- 练习 30:有限状态机
- 练习 31:正则表达式
- 练习 32:扫描器
- 练习 33:解析器
- 练习 34:分析器
- 练习 35:解释器
- 练习 36:简单的计算器
- 练习 37:小型 BASIC
- 第六部分:SQL 和对象关系映射
- 练习 38:SQL 简介
- 练习 39:SQL 创建
- 练习 40:SQL 读取
- 练习 41:SQL 更新
- 练习 42:SQL 删除
- 练习 43:SQL 管理
- 练习 44:使用 Python 的数据库 API
- 练习 45:创建 ORM
- 第七部分:大作业
- 练习 46:blog
- 练习 47:bc
- 练习 48:ed
- 练习 49:sed
- 练习 50:vi
- 练习 51:lessweb
- 练习 52:moreweb