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 這句話應該不是說你feature太多了,而是說for迴圈中,使用了兩個變數去unpack featuresets太多了。所以應該是你內的資料結構有問題 容,featuresets可能不是適合兩個變數來解包的資料結構,或者中文編碼有問題。如何用python做情感分析 可以使用snownlp包,也可以用... 可以使用xlsxwriter 庫實現 如下 import xlsxwriter import sys reload sys 解決中文編碼問題 sys.setdefaultencoding utf 8 建立一個絕對路徑為.test.xlsx的excel檔案workbook xlsxwriter.wor... 好吧。1 python是個怪物。用了10年了,感覺它與其它語言不太一樣。所以c語言是必學的。python語言有些特別。如果同時學可能混淆。如果你時間不足夠,兩個同時學也沒有大問題。2 不過最好還是先學習c語言。把它學成優秀,然後緊接著再學習python。3 c語言學習並不會花多長時間。我曾經教一個沒...如何用Python做情感分析,怎樣用python處理文字情感分析
用Python生成excel,如何用Python實現exce
初學python感受和c的不同,初學python,感受和C的不同