# 練習 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