1樓:匿名使用者
熟知主流硬體體系(x86, x64)
熟知 cpython 的具體實現,如若可能至少通讀原始碼三遍以上
熟知每條 python bytecode 如何被解釋執行
熟知每條 python 語句如何 compile 成 bytecode
熟知 python 主要資料結構所採用的優化手段
熟知 jit 以及哪些場合下 pypy 會比 cpython 有較大效能提高、以及有什麼代價
所以我一直只敢稱自己為 「中級 pythonista」。對於那些僅僅知道怎麼用 python 就敢自稱「精通」的人:專家不是那麼好當的,沒有金剛鑽別攬瓷器活。
不懂那麼多底層細節就不要隨便說自己「精通」,說自己「擅長」不會被人看不起。
@米嘉 引用的 stackoverflow 上列的那幾項條件是作為將 python 用於主要工作語言所需要的基本條件,敢於因此而稱自己「精通 python」要讓不少人笑掉大牙。況且那幾項還有幾個嚴重問題:
第3點:如若可能,儘量避免 map/reduce/fitler,而用 list/generator/set comprehension,**要清晰得多,gvr 如此說。xrange 和 range 的區別在 python 3 中馬上就要滾蛋了,所以如非必要,不要大量使用 xrange。
第5點:敢於在 cpython 中大量使用遞迴是對 cpython 實現的公然侮辱。python 的多個穩定實現都沒有 tco,遞迴會讓效能迅速下降。
記住一點:python 中函式呼叫非常昂貴,可讀性、可維護性影響不大的情況下,能函式呼叫的時候儘量、遞迴能轉化成迴圈的儘量轉化。遞迴也不是人類自然的思考方式。
第7點:看書是對的,但不要把 python 當作一門經典函式式語言對待,因為它不是。你當它是,它會很痛苦(“為毛要這樣濫用我!?
”),你也會很痛苦(“為毛你不這樣實現 blah blah!?”)。sicp 是本好書,但不要因此而教條。
要清楚的知道什麼時候用函式式,什麼時候用物件導向,什麼時候用程序導向,什麼時候用面向任務,什麼時候用面向結果。在一棵樹上吊死是大多數非理性死忠的表現。
2樓:蝸牛漫步者
我python還行啊,你要做什麼?
3樓:匿名使用者
什麼算高手,做哪方面的?
python高手煉成要多久
4樓:育知同創教育
我的總結主要集中在四個基本題目上:函數語言程式設計,效能,測試,編碼規範。如果一個程式設計師能將這四個方面的內容知識都吸收消化,那他/她不管怎樣都會有巨大的收穫。
函數語言程式設計
命令式的程式設計風格已經成為事實上的標準。指令式程式設計的程式是由一些描述狀態轉變的語句組成。雖然有時候這種程式設計方式十分的有效,但有時也不盡如此(比如複雜性)——而且,相對於宣告式程式設計方式,它可能會顯得不是很直觀。
如果你不明白我究竟是在說什麼,這很正常。這裡有一些文章能讓你腦袋開竅。但你要注意,這些文章有點像《駭客帝國》裡的紅色藥丸——一旦你嘗試過了函數語言程式設計,你就永遠不會回頭了。
效能你會看到有如此多的討論都在批評這些“指令碼語言”(python,ruby)是如何的效能低下,可是你卻經常的容易忽略這樣的事實:是程式設計師使用的演算法導致了程式這樣拙劣的表現。
這裡有一些非常好的文章,能讓你知道python的執行時效能表現的細節詳情,你會發現,通過這些精煉而且有趣的語言,你也能寫出高效能的應用程 序。而且,當你的老闆質疑python的效能時,你別忘了告訴他,這世界上第二大的搜尋引擎就是用python寫成的——它叫做youtube(參考 python摘錄)
編碼規範
並非所有的**生來平等。有些**可以被另外的任何一個好的程式設計師讀懂和修改。但有些卻只能被讀,而且只能被**的原始作者修改——而且這也只是在他或她寫出了這**的幾小時內可以。
為什麼會這樣?因為沒有經過**測試(上面說的)和缺乏正確的程式設計規範。
下面的文章給你描述了一個最小的應該遵守的規範合集。如果按照這些指導原則,你將能編寫出更簡潔和漂亮的**。作為附加效應,你的程式會變得可讀性更好,更容易的被你和任何其他人修改。
請教python高手?
5樓:我是v同學
是不是您**的問題?我試著寫了一下,結果見圖。
匯入前的xls格式**
輸出的csv**
示例**
6樓:境西恍睋邦翄
的方式匯入,匯入之後,我新增了一行日期,
7樓:匿名使用者
匯出的**呢,你怎麼寫的
請教python高手?
8樓:匿名使用者
主要是返回語句的bai位置du不對,
python是靠語句zhi位置決定它是屬dao於哪個語句塊的,你現在的寫內法說明,return屬於if語句,容那麼執行完js=js+1後,遇到return就從子程式返回主程式了。
其它還有迴圈變數用的也不對。
9樓:匿名使用者
調整後的**及錯誤說明見**:
python高手請進
10樓:
1\定義一個過程p2(x),它接受一個字元變數x,如果x大於1,則該過程返回一個小於x的最大的2的乘方。否則,返回0。使用迴圈。
2、定義一個過程compare(x,y),如果x大於y則返回1,如果x等於y返回0,x小於y返回-1。使用elif語句來完成比較。
我順便幫你把檔案寫出來好了
# -*- coding: cp936 -*-i=0def p2(x):
if x>i :
i=i*2
else :
return i/2
p2(x)
def compare(x,y):
if x>y:
return 1
elif x==y :
return 0
elif x return -1 執行python指令碼的幾種方法 一.終端命令列下 python name.py 二.python環境中 若指令碼名稱為name.py,其內容為 a head b hehe print a,b 則使用 impport name 針對此種方法我們使用下面的語句來顯示內容 print name.a he... 木澂 使用轉義符輸出。如 print 可列印雙引號,print 可列印單引號。若要成對列印,可通過 print 或 print 實現。所有的ascii碼都可以用 加數字 一般是8進位制數字 來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,... 學python的話北上廣深就業還不錯,工資不低。廣州python工程師的平均薪資是11790,還是很不錯的,深圳北京這種網際網路重鎮工資更高 國內機會 如果想學python的話一定要給自己選好方向,每一種語言都有自己的優勢,python也不例外,但這種優勢能否被體現,是大環境決定的,國內目前用pyt...python的指令碼如何執行,如何執行Python指令碼
python中如何輸出引號,為什麼在python程式中輸出結果中雙引號變成了單引號
python的就業現在怎麼樣,現在的Python的就業前景怎麼樣