首頁>Club>
為什麼覺得,Python學習起來容易,但是實際開發應用難以掌握?語法都懂,但是實際開發中總是報錯,難以掌握。語法非常嚴謹,縮排格式需要非常注意細節,python是門偏向資料處理分析,適合做理論研究的語言,跟傳統的實際開發語言不同,使用python做大型開發很少?對嗎?而且使用python需要掌握數理邏輯方面的知識
10
回覆列表
  • 1 # 愛資料的小司機

    其實很多人認為Python學起來容易,但是這緊緊限於入門學習,看起來簡單,但是學精並不是一件容易的事。

    Python的入門的確是很簡單,我當初之所以能堅持自學就是被這種簡潔驚豔到了,沒有繁瑣的語法,格式也是優美的縮排方式,真的是可以像散文那樣讀寫。Python其實也可以稱之為指令碼語言,一個指令碼實現一個功能簡直不要太方便,還有許多人可能剛開始都會被爬蟲指令碼著迷,日常一個小指令碼實現一個想要的功能美滋滋。但是你覺得學成這樣就可以找工作了?圖樣圖森破?這樣還是僅僅在入門階段!

    Python的高階語法遠比我們想的強大,比如類物件,程序,非同步,裝飾器等等

    日常小指令碼根本很少會用到高階的語法,Python真正強大之處在於他是面相物件程式設計,類物件才是Python的大殺器,尤其是內建的強大的魔法方法,讓你眼花繚亂。我們日常使用的模組基本上都是透過類來實現的,透過呼叫類來呼叫類方法,我們經常會遇到匯入模組的類,但是有的可以直接使用有的需要先例項化,這牽扯到類的三種方法,例項方法,類方法,靜態方法等。

    比如Python中的執行緒程序還有非同步,其內建了強大的功能模組,雖說Python內建了全域性鎖(GIL),但是程序和非同步都是很有用的。

    再比如Python中的騷操作~裝飾器,這玩意剛開始學的時候一直搞不懂這玩意在什麼地方會有什麼用?還有語法糖的寫法,就覺得很流弊的樣子!

    再說說實際開發應用

    其實Python還是可以做開發的,比如國內的豆瓣、知乎等都使用了Python開發。尤其是當你實際做開發專案的時候,你可能會有一種錯覺,我去,以前學的都是假Python嗎?還可以這樣寫,為毛現在都看不懂。

    我現在在用Python做資料探勘,曾經還專門報個班學Python開發,主要是後端開發,用的都是Python的高階用法。1~主要是透過Python類來實現功能。2~和資料庫互動的ORM模式,一個表就是一個類,表中一行資料就是一個類的例項。3~許可權限制透過裝飾器實現,還有一類特殊的裝飾器property,讓你把類方法變成屬性的方式來呼叫,用來設定密碼,修改密碼,加密密碼十分的方便。4,透過魔法方法__str__,__repr__進行除錯。

    總的來說,Python的入門比較簡單,但是Python的進階就難了,掌握Python中精妙的用法才能體會到作者創造這門語言背後的哲學思想。

    人生苦短,我用Python

  • 2 # 愛生活愛技術

    簡單明瞭的告訴你,覺得難那是因為程式碼量不夠,練習不夠。

    出色的程式設計師長年累月地寫程式碼,做一個任務和目標的時候能做到心中有數,自然覺得不難。

    而剛學會python語法的程式設計初學者,因為程式碼量,練習不夠所以覺得難以下手,這個是正常現象,所要做的就是多練習,找一份相關的工作才能真正地提高水平。

  • 3 # Jeff大牛

    剛寫完一個應用花了10個小時。其它行業用python做些小應用是完全足夠了。專業人士只會python真的不夠。各語言要互補。下面這個程式,python在程序排程上怎麼做都不完美。呼叫幾行C的程式碼。輕鬆搞定。但是C來寫整個程式。開發效率完全比不了python。

  • 4 # 偶爾來逛逛隨便來瞧瞧

    所謂好學,好用都是相對的,如果這個世界上真有又好學,又好用的語言,那語言排行榜早就不存在了。python入門簡單,但想用好,例如同規模的專案要達到java的效能,安全,併發,那付出的成本可能更高

  • 5 # 碼農視界

    python其實一開始是很多大學導師在用的程式語言,你能想象到一個生物老師正在用python程式語言在爬生物相關資料嗎?python一是簡單,二是有用,有一個很大的資料庫,非常方便進行資料採集和分析。

    現在python程式設計也是因為大資料和人工智慧火起來的吧,很多學習python程式設計的已經不再只限於學習這一門語言了,都是打算將python作為基礎,然後參加資料分析或者人工智慧方面的工作。

    python入門很簡單,深入的確很難,畢竟感覺跟資料和數學相關的知識都容易讓人頭大。對於程式設計師來講已經不單單是要思維嚴謹的那麼簡單了,還要注意很多細節。突然想到一句話“python很好,就是學習起來頭有點冷”

  • 6 # 玩著學程式設計

    幾乎所有的人都說Python易學,容易理解,可以說是所有的程式語言裡面最簡單的了。

    為什麼會有學起來容易,而在實際的專案中用起來難的感覺呢?究其原因:

    1、基礎掌握的不夠牢固,平時練習的少,很多人在學習的程式設計的時候,看書或者是看影片教程都能夠很好的理解,但是真正做練習,做專案的時候就不知道如何下手了,所以說在學習的過程中加強實踐。

    2、專案經歷的較少,對程式設計不是那麼敏感,就需要時間倆彌補了。你要是不經歷幾個專案,怎麼知道Python為什麼容易學,怎麼知道python好理解,怎麼知道python有哪些超級好用的框架,比如django,tonado之類的。可能是做的專案少,做專案是最快的提高方式了,解決任何實際的需求,都是煎熬和提高的過程。

    所以說,要想很好的掌握Python,除了日常的學習之外,更多的是需要多操作,多實踐,提升自己的實踐能力,去檢驗自己的理論成果,提升自己的專案經驗,才能體會作者創造Python這門語言背後的哲學思想。

  • 7 # 技術信仰

    路子走錯了,Python開發是培訓機構用來騙錢才這樣說。Python主要功能是用來計算的。

    傳的最多的是ig用Python開發的,其實,只是一開始,人家早已轉其他語言。

    真正用來開發的web或者軟體的是Java。

    學習Python不是要掌握數理邏輯方面的知識,而是把數理模型用python表達出來,或者呼叫別人的包來表達出來。

    python做程式設計效率高是因為有很多的包供可以呼叫,覺得沒有掌握,主要是使用的少,看的資料少,需要的包都不知道叫什麼還在埋頭造輪子。

    多上同性交友網站GitHub。

  • 8 # NC少年

    先看下python官網中解釋人們偏向用python的原因:Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.These are some of the reasons people who use Python would rather not use anything else.

    從某種程度上說, Python的強大(Powerfull), 和容易學習(easy to learn)是有點矛盾的,這麼NB的一個玩意兒, 讓你幾天就全部解鎖所有功能,怎麼可能?

    再說下我這些年來學python的幾個階段性體會:

    剛開始花幾天時間鼓搗python,就開始用機械鍵盤碼python程式碼了,和C比起來,感覺飛起來了,感覺自己可以在python的海洋裡任意遨遊了,總之很膨脹。(python的皮毛學起來很容易,這些皮毛也能解決絕大多數問題)

    過了一段時間,發現自己的程式碼跑得很慢(遊得很慢),才發現簡單的語句下很多坑:比如python的list的append和extend,內部實現差別很大,一不留心就跑慢了,開始沮喪。這時候開始看python的內部實現,結合資料結構和演算法來理解python。(python的內部實現,和資料結構和演算法密不可分)

    又過了一段時間, 自己的程式碼總算跑得比較快了,開始學習大牛寫的Python程式碼。發現很多語法沒見過,發現程式碼也可以這樣寫,再回頭看自己的自己的歷史程式碼,自己讀起來都覺得很噁心(遊得很醜)。(大神寫的python很優雅)

    Python的大型開發很多都用python, 比如tensorflow, pytorch等等,套路基本都是核心程式碼用c、c++實現, 非核心程式碼、API用python包裝一下。

    總之: python入門容易,準確的說是一些基本語法容易學習,並且用這些基本語法能實現絕大多數功能性需求。而python的難以掌握,是指需要長時間的積累(演算法、設計模式等),才能寫出高效能、優雅的程式碼。

    PS: 所有的語言語法都是嚴謹的,建議找個順手點的編輯器,就能解決很多縮排的問題。

  • 9 # 贊哥哥

    相對於C、C++、Java這些語言來說,python是比較簡單的,入門很容易。對有些基礎和毅力的同學來說,自學一個月左右就能入門了。

    python能做後端開發、網路爬蟲、資料分析、人工智慧等專案。開發上面隨便一個專案,都不是件容易的事。

    對於後端開發,你可以使用大包大攬的Django框架,可以使用支援高併發的Tornado框架,還可以使用易於擴充套件的Flask框架。對於這些框架的選擇就不是一件容易的事,剛入門的新手就更不用說。就算選好了框架,開始高興的擼程式碼,這樣就開始了嗎?總得考慮程式碼的擴充套件性、可維護性、邏輯是否嚴密等問題。寫程式碼是件簡單的事,但要想把程式碼寫好,卻是件非常不簡單的事。

    對於做網路爬蟲,把程式碼寫出來就完了嗎?你不得考慮是否並行、防止反爬,你不得掌握瀏覽器的知識嗎?

    同樣的,對於做資料分析和人工智慧相關專案,你要學習機率、傅立葉變換、線性代數等知識;你要熟悉決策樹、隨機森林、貝葉斯等演算法。

    看到這裡,你是不是感覺開發應用非常複雜?對於剛入門的小夥伴來說,確實有些複雜;但是當你硬著頭皮幹下去的時候,你就會感覺越來越簡單,越來越得心應手。

    對於碼農來說,還是要有信心的,不能畏手畏腳。不懂就要問,不懂就要查資料,大神就是這樣一步步走來的。

  • 10 # 傳智播客

    感覺Python很簡單,可是實際開發應用的時候覺得都是報錯,這種情況我帶過的很多學生出現過。因為在這之前沒有相關領域的經驗,沒開發過軟體的時候,我們很那理解oop。學習重要的是一個過程,下面一一回答題主的一些問題。

    Python學習起來容易,但是實際開發應用難以掌握?

    在說這個話題之前,首先我們要知道Python重要優勢就在於語法簡潔,而簡潔是要付出代價的。就是犧牲了一些看起來不是很重要的細節,比如函式的引數型別和返回型別。但是缺少了這些看起來不抬起眼的細節以後,程式設計師就會容易出現題主所說的很多BUG,而且這些Bug是很難發現的那種。

    跟傳統的實際開發語言不同,使用python做大型開發很少?

    如果我們對Python更容易寫出來一些很難發現的BUG沒有太多的異議的話,我們可以繼續說了。(很多人會在這時候說可以小心就沒問題了,都是自己沒有注意等等的言論)這邊給大家找了PegasusWang的對於在大型專案上,Python是個爛語言的採訪中的回答:

    我們對程式語言和使用進行了大規模的研究,因為它涉及到軟體質量。我們使用的 Github 上的資料,具有很高的複雜性和多個維度上的差異的特性。我們的樣本數量允許我們對程式語言效果以及在控制一些混雜因素的情況下,對程式語言、應用領域和缺陷型別之間的相互作用,進行一個混合方法的研究。研究資料顯示,函式式語言是好於過程化語言的;不允許隱式型別轉換的語言是好於允許隱式型別轉換的語言的;靜態型別的語言是好於動態型別的語言的;管理記憶體的語言是好於非管理的語言的。進一步講,程式語言的缺陷傾向與軟體應用領域並沒有關聯。另外,每個程式語言更多是與特定的 bug 類別有關聯,而不是與全部 bug。

    動態語言“靈活快速”表達能力強還不用寫型別標註自己就可以scale,但是不存在的,scale起來還是得當靜態語言寫,該加的約束一樣不漏的加回來。

    使用python需要掌握數理邏輯方面的知識

    之前使用Python的話基本上是關於Python網頁開發等。但是近幾年由於大資料、人工智慧比較火,所以使用的側重點就不一樣了。如果你要是單純的做個web是可以的,但是要深入的話,需要掌握數理邏輯方面的知識。學習步驟如下:

    學習Python課程(影片)--->入門書籍---->論壇+技術部落格

    在社群找到志同道合或者一起學習的小夥伴

    專案實踐,從小到大的專案用來練手

    上述學習路線的配套影片都可以直接找我要,上述有關知識點是很系統全備的。如果要做到資料探勘方面的工作的話,那麼一直到第七個階段都要全部學習的。如果還想要發展人工智慧方面最後一個階段也要拓展學習。那麼深度學習和機器學習相關的內容就要多多看書了。其實有關資料方面的工作,數學基礎並不是很難的,相對來說就是高數相關的代數等等會公式推導。

  • 中秋節和大豐收的關聯?
  • 有人說明英宗朱祁鎮做了兩次皇帝,這是怎麼回事?