本文目錄一覽:
新人學Python最難的是什麼?
最難的點就在於沒有基礎,看不懂專業術語和抽象的概念。許多人都認為python最適合編程初學者學習,語言簡單,傻瓜式編程語言,是最接近自然語言的一種,就感覺像是在讀英語一樣。
其實對於編程完全0基礎的人是很困難的。可能很多人網上找了很多免費教程,每一個操作步驟都寫的清清楚楚,明明白白,還加上了代碼案例。一下子接收到很多新的知識點,並依葫蘆畫瓢比划起來,但是當自己實踐的時候,卻總是報錯。教材看不懂,很多專業術語、抽象概念都不理解,因此視頻課程操作不出來節奏也跟不上。所以入門很難,在入門前會走很多的彎路。Python的確是很容易上手學習的,並且門檻也是十分的低,但是,Python這門語言對於小白的真實門檻其實是在於體系知識,這和是什麼編程語言沒有太大關係。所以首先要了解Python中的各個知識點,以及概念。然後在學習核心的算法、數據結構;除此之外還有模式設計、框架思想、基礎語法、內部機制、底層原理及實現。再學習起來就輕鬆許多了。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛Python人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,是一家性價比極高的教育機構。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛Python人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,是一家性價比極高的教育機構
「Python」有什麼缺點?
python的整個系統,我其實有非常多的不滿。但是用任何一門語言都是取捨問題,如果有一門語言,庫夠多,已讀,易用,性能高,我毫不猶豫立刻轉過去。python的強處在於龐大的庫,還有非常好的易讀和易用性。但是相比來說,性能一直是個問題。python的實現性能大約和C相差五倍上下。如果是大規模計算問題,大約能差10倍以上。當然,我們可以寫C擴展,但是這就不是使用python了。我們也可以說,很多時候我們不需要這麼快的速度。這是個事實,但是不改變python性能差的事實。 python不但性能差,還有GIL這個玩意。以至於我現在對高並發計算都採取多進程的模式。多進程模式的通訊效率肯定比多線程低,而且麻煩。
另外,python在底層設計上,也表現出很強的實用主義傾向。這是比較外交術語的詞彙,更加直白的說法應當是,混亂,不知所謂。在閉包設計上採用free variable設計,而不是lisp中的environs設計。區別?你試試看在外層閉包中from lib import *。由於引入不定個數名稱,free variable無法處理。類似的問題還有LEGB規則,新手往往要花很長時間研究這個例子究竟是怎麼錯的: a = 1 def f(): print a a = 2 我勒個去,這種反直觀反人類的事情都有,還敢說自己易讀。
還有坑爹的元編程,這東西根本是坑爹中的坑爹貨。如果你用過多重繼承,大概就知道python的整個OO系統看起來根本是大型的仿真,到處都是亂糟糟的。C++怎麼解決多重繼承的?你最好別用(真心說,這可比python更加坑爹)。java怎麼解決多重繼承的,只能繼承Interface。其實這是變相的變成了Interface-Implement模式。python怎麼解決的?MRO!為什麽一個類加個__metaclass__就會改變性質啊,為什麽一個類去生成另一個類的寫法是——我基本不記得了,反正web.py裏面有用到,需要的話去炒栗子吧。為什麽方法要隱藏居然要改名字加__啊。你到底是在做OO還是在看起來像OO的東西上狂打補丁啊魂淡。
lambda表達式弱智。我和人討論過,lambda是否是圖靈完備的。結論還是完備的,不過需要藉助Y combinator。何必呢?由於強調lambda的快速特性,因此將lambda強制在一行以內(沒有結束標記),導致python其實是沒有匿名函數的。一個callback數組寫的難過死。
語法糖太多了點,當然,這是純粹的個人感覺。語法糖是把雙刃劍,用的好,可以簡化編寫和閱讀,但是太多,往往容易引入語法混亂和額外的約束。
另外,語言的自構建特性混亂。雖說不是每門語言都強調自構建特性,但是通常而言,都是使用C實現一個內核,由內核實現一些基礎操作。再由基礎操作實現更複雜的操作。每層的邊界都是比較清晰的。誰來告訴我,python中有多少庫在移植時是由純python實現的?庫的相互依賴層級是?
python的沙盒化也是個問題,如果沙盒做的夠好,我完全可以把python作為一個客戶級別的平台。用C寫一個很簡單的類似瀏覽器的東西,下載一個URL的python包回去運行(或者僅僅檢查更新)。從而保證本地效果/跨平台/安全性。現在?一個都保證不了。我連把一個python包轉移到另一台同構設備上都很麻煩(如果兩者不是嚴格匹配,例如系統差異,系統版本差異)無論是web開發還是移動終端開發都必須走傳統模式。
python學習有什麼難處嗎?
學Python並不難,因為Python是一門非常適合初學者入門的編程語言。Python語法簡單明了,代碼可讀性很高,容易入門。但Python對代碼的要求非常嚴謹,而對於初學者更利於養成良好的代碼習慣。
首先,對於初學者來說學習Python是不錯的選擇,一方面Python語言的語法比較簡單易學,另一方面Python的實驗環境也比較容易搭建。
通常來說如果學習者具備一定的計算機基礎,那麼學習Python語言的基礎語法部分還是相對比較容易的,你能夠比較快的掌握基本的Python語法,然後再利用幾周的時間完成一些實驗通常就可以了。
如果基礎比較薄弱,或者乾脆沒有任何計算機基礎,學習Python的基本語法也不會有太大的困難,但是學習時間會有一定的延長,你只有熟練掌握基本語法之後才能完成一些簡單的實驗。
但是我們要知道一點:互聯網更迭迅速,你在學習的同時,企業的需求也在不斷變化,為了確保所學即企業所需,學到不落伍的技術,你必須緊跟潮流。結合學習效率和學習效果,自學顯然是一種不明智的選擇,如果你真的想要入行Python,就要進行系統的學習培訓。
目前市場上大大小小的Python班有那麼多,該如何選擇呢?結合學的內容、老師、口碑、以及就業是比較不錯的方法。如果有條件的話,最好實地考察一下、試聽體驗。
原創文章,作者:HAZA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/144087.html