散文說python半篇 景觀三元論與蓋茨比的對話

2021-09-07 04:49:00 字數 4193 閱讀 4561

今天,

天氣晴朗,風和日麗;

我事實上在說謊……

愛說謊事實上是我的天性

上個禮拜四我就用景觀三元論說了非常多謊話。然後一頭大象自己上吊了。

了不起的大象啊,蓋茨比也要從墳墓裡爬出來了吧,

陳年舊事,

紫露凝煙,

沒有了蓋茨比的墳墓依舊是遺址公園。景觀三元論如是說。

景觀三元論問:蓋茨比,你為何不用c++寫**?非要用ruby或者python這樣的執行非常慢的語言呢?

蓋茨比說:

老兄,你要求快,乾脆直接用組合語言去寫吧。

舉個樣例吧。

你用c++寫乙個實現某個功能的程式,這個程式的執行速度確實非常快。僅僅要0.0001s就可以,

而我用python或者ruby寫相同乙個程式,它的執行速度確實慢非常多。須要0.01s,確實慢了非常多非常多倍。

可是,

你寫那段c++的程式。你花了一天的時間,

而我用python或者ruby寫這段相同的**,僅僅要10分鐘,

而0.01s已經綽綽有餘地滿足了我的功能需求,它和0.0001s對我來說都是一眨眼的功夫。

所以人生苦短,我用python/ruby

接下來我就說python了

由於是散文。所以不會那麼系統地說。

主要就點到為止地說說怎樣像乙個pythonic一樣去寫python

a, b = b, a

在曾經寫排序**的迴圈體內。常常會須要單獨搞個中間變數,然後z=a,a=b,b=z

如今一句話優雅的搞定了,如上。

[ i*2 for i in xrange(3) ]

列表推導式式這類語法糖可謂凶器啊,不僅簡單優雅。並且威力非常大。(相同適用於元組、集合、字典)

>>> isinstance(1, (float, int))

true

>>> isinstance(1.3, (float, int))

true

>>> isinstance("1.3", (float, int))

false

請不要適用type(1.3)去看變數型別,這樣不專業,用isinstance吧,isinstance(1.3, float),並且isinstance還能夠接受型別的元組從而適用多個型別。非常優雅吧。

>>> print "hello %(name)s !" % 

hello james !

>>> print "i am years %(age)i years old" %

i am years 18 years old

>>> print "hello !".format(name="james")

hello james !

有點模板引擎的味道。

def add(x, y):

return x + y

lst1 = [1, 2, 3, 4, 5]

lst2 = [6, 7, 8, 9, 10]

lst_sum = map(add, lst1, lst2)

# lst_sum == [7, 9, 11, 13, 15]

python對haskell這樣的有趣的函式式程式語言的繼承借鑑還是非常多的,在此就點到為止地提一下filter(),reduce(),map(),lambda...由於是散文,就不說細了。

寫**的習慣。排版上。空格上,注意一些,也非常重要。雖說推薦似乎名叫pep8規則,可是我認為基本上注意到一些這些細節就夠了

看過一排how to use python as a pythonic,好像叫這個名字的網頁。

事實上我認為最實用的就是注意括號裡引數的空格,以及等於號前後加個空格,看起來舒服清爽點

注意就可以

不推薦多,就推薦者兩個,乙個中文的,乙個英文的。

做影象識別 建議opencv。骨骼識別openni

對於網路程式設計,建議用request代替urllib和urllib2

非同步的twisted我還沒看。

網路框架嘛。python的網路框架還是有非常多的,比較白話開放。從plone、django(這個詞的d不發音,讀「江go」,可是在中國。入鄉隨俗也沒問題)、flask、bottle、tornado

基本上都接觸過。可是我終於選定了優雅的非同步框架tornado

說說吧django儘管非常多人用,也非常全,非常快,可是太重、耦合性相對較高。不適合做大型站點,用來給普通公司做私活能夠;

flask是個比較新的框架,也非常輕,非常新。社群也比較團結新銳,我本來也用這個,可是後來還是決定不用它,原因是綜合的,乙個是自身喜好吧,我事實上挺喜歡flask的,可是還是似乎認為他位於乙個不輕不重的位置。儘管社群非常不錯,是牛b團隊開發的。可是感覺略微還是有那麼一點亂,有種逐步從webpy的量級向django發展的趨勢。

web.py是個不可逾越的輕量級鼻祖,儘管創始人掛了。可是這個經典的框架很經典。只是似乎又太輕了,以及缺乏創始人維護。

做大型站點就應該松耦合,用輕量級的框架來幹事,用密斯凡德羅的話。少即是多。以小打大。

bottle可謂乙個玩具,上手非常快,非常適合給小學生玩。也算經典吧。

tornado我最推崇。很優雅的乙個基於web.py發展而來的非同步框架,即使不用他的非同步,他也是乙個值得推崇的東東。不不過由於其能承受高併發、非同步、安全cookie、防止xsrf攻擊等。而更是由於這個框架的架構高明,優雅。

在此之前。我實踐了ruby on rails,django, flask, web.py, nodejs ,儘管這些都是傑出的框架,可是自從我遇到了tornado,我已經決定tornado是我的歸宿。

一把利器啊。經過大半年的實踐。我總結到centos+nginx+tornado+memercached+nosql+mysql+python。為何沒人從一開始就告訴我這個,這樣就不用走彎路了,所以天才都不是憑爹的,而是拼哥的,我真羨慕我堂弟有我這樣乙個哥哥。等他中考後就去教他這個,瞬間認為自己高中三年,大學四年,研究生兩年半真是糊里糊塗地走了好多彎路啊,被三元論這類。

。事實上三元論還不錯。是乙個不錯的思想。可是假設稱同濟景觀為中國最好的景觀學,那太不夠了。眼下中國根本沒有景觀學專業,回過頭。發現被騙了好多年啊。。

假設上天在給我一次機會,我會在高一後就退學,然後自行軟硬兼修外加學規劃設計。如今老了。。。。幸虧去年受到了松本行弘的思想的感染,讓我斷筋再續。儘管不用ruby了。可是這樣的思想已然扔不掉了。。

曾經寫的都是技術部落格,今天寫了一篇技術散文,

正所謂形散而神不散。松耦合。強內聚。我又說謊了,事實上想到什麼寫什麼吧,為所欲為。

python上手非常快,未來每乙個人都必須會程式設計,而python和ruby是非常人性化的語言。所以會有大部分人都會python或者ruby的

python上手非常快,可是**質量以及把**寫得跟機器合二為一還是須要境地的,要充分《深入了解計算機系統》,事實上講簡單點。不說套話,最基礎的乙個步驟就是充分利用cpu的運算能力,注意記憶體,非同步的核心我原以為僅僅是釋放cpu資源,後來發現非堵塞不僅僅是釋放cpu,也同一時候釋放網路資源,說的比較土,原因非常easy,沒學過計算機系統那門課。那本書也沒看完。。

從產品設計層面就考慮到**架構,從而花時間在畫「草圖」上,而不是直接拿著「cad來畫草圖」。儘管是景觀與建築設計的經驗,可是這是通用的。

松本行弘,他讓程式猿更加舒服地程式設計。

弓長一葦,他讓程式猿更少乃至不用程式設計。

跳出圈圈看世界。無所謂你是碼農。還是建築師。無所謂你是vc還是cto,無所謂你是教授還是學生,

那些都不重要。

重要的是生活。

生活乃天賦人權。

所謂名利乃身外之物,

無法捨棄追求的不是名利,

而是那種自我的成就感,

可是,我時常提醒朕,

生死由命

富貴在天

人之生,

乃天賦人權。

我並不是生來為了寫**,

我生來也並不是為了寫**,

我生來也並不是為了做設計繪圖。

這些不是必須的,

這些是沒有必要的,

關鍵在於你是否有勇氣去選擇。

選擇在於每乙個人的自己手中。

發現寫的太直白了,

不能這樣。

我應該寫的高深一點。

清晨,我撞死一輛卡車。

可惜這首我的成名詩,失傳了,可惜。。

我自己也忘了當年怎麼寫的。

Python 元程式設計 三 元類

str type 和 lineitem 是object 的子類 str object 和 lineitem 是 type 的例項,因為它們都是類 object 類和 type 類之間的關係很獨特 object 是 type 的例項,而 type 是 object 的子類。這種關係很 神奇 無法使用 ...

python 之 三元運算

三元,是那個三元奶粉嗎,no!no no!你想多了 三元運算也叫三目運算 就是,把乙個簡單的條件語句 收縮成一行,可以實現同樣的功能,沒錯就是同樣的功能,減價不減量哦!三元運算的好處是什麼呢,減少 量,還有很重要的一條就是 xx 沒錯,就是xx 來看例子吧 m input enter first n...

python 三元運算子

三元運算子通常在python裡被稱為條件表示式,這些表示式基於真 true 假 not 的條件判斷,在python 2.4以上才有了三元操作。下面是乙個偽 和例子 偽 如果條件為真,返回真 否則返回假 condition is true if condition else condition is ...