為什麼我感覺學 Python,學到後面完全是在學別人封裝好的模組?

時間 2021-05-10 03:21:32

1樓:3cpj

大部分語言類似,不可能一直讓你造輪子,因為一直造輪子很辛苦,還不一定有別人造好的輪子好用,而且後續精力主要放在業務邏輯處理上,當然前提是你的python基礎的確學紮實了。

其實python語言的學習重在實踐,老師教的大部分最基礎的知識,大學的教程也注重基礎,很少涉及到專案經驗,前陣子看的一本高質量python遊戲實戰書籍-----《零基礎入門Python遊戲》,雖然是遊戲類書籍,但是使用的都是python 的基礎語法和常用庫,而且每個例子都是親自除錯執行過的,這點難能可貴,該書作者早年畢業於中國科學院 ,長期從事軟體開發工作,有興趣的朋友可以買一本,好好研讀一下,相信讀完會受益良多!原價70,現在優惠期間5折

該書知識點豐富,幾乎涵蓋了所有的Python知識點,而且還有大量的例項,便於除錯

個人意見,僅供參考。

2樓:xiaoCui

恭喜樓主,發現了程式設計的奧妙。

對於絕大多數服務於特定應用實現的程式設計,整個過程就跟搭積木一樣,各種各樣的模組都是現成的,你的任務是如何搭的快,搭的好。至於這些模組是誰設計的,怎麼製作的,大多數情況下你不需要關心,只要知道哪些能用好用就可以了。

這些模組都是前人的心血,放心用就完了。

當然不排除沒有合適的模組的情況,這時候你就得發揮你自己的主觀能動性,做乙個出來了,這個過程可能稍微有些難度,因為這種情況我猜一定是非常少見的應用,所以前人們沒有做,少見就一定比較難。如果你做的足夠好,也可以把你的模組給大家分享,後邊別人碰到一樣的問題,就可以稱你一聲前輩了。

3樓:shijian

如果要深入可以先學習別人如何實現的,然後自己再編寫模組。有別人的珠玉在前,對你自己的成果實現或是自己編寫基礎模組都有參考意義和實際價值。所以,不管是拿來主義或是自己實現,有別人的模組都是很香的!

4樓:公尺穀

看程式語言的發展,總體趨勢是低階到高階,面向機器發展到面向人類思維。

如果說史前時代的機械開關程式設計和組合語言等面向機器的程式語言,那麼Python語言就是面向人類思維的、更貼近人類思維的高階語言了。

這個趨勢下,越是高階的語言,越是上層語言,就只負責業務邏輯、問題處理與解決,至於下層如果執行與實現,甚至是可以完全不關注的。

可以說,Python的出現以及逐漸流行,就代表著這種趨勢,越來越好用,也越來越靈活使用呼叫,其實也得益於其他語言的成熟與廣泛應用,例如C/C++這些語言,有了更多的封裝庫,然後才發展到Python語言。這個過程下,越上層的,就越複雜,也越依賴於個更層次的分工實現。

對比一下人類社會發展,也是殊途同歸,其實也是完全一樣的邏輯:原始社會、農業時代,都是要自己上山打獵、男耕女織、才能生存的;但到今天網際網路資訊時代、以及後續逐漸邁入的人工智慧時代,一切都分工了,而且越分越細,在這個背景下,也越來越需要依賴人各個人群的分工配合。

——理解了以上,也就知道:要用到別人的東西,而且要用好,高效的用好。

5樓:雷哥

Python的一大優勢就是有豐富的第三方庫,可以讓你把重點轉到業務上而不是基礎編碼上,這也是未來程式設計的趨勢,這樣不香嗎?

6樓:

因為你只學到了調包和會基本語法的第一層,差不多就可以了。如果要繼續接下去就是資料結構,演算法,還有物件導向,這些都有python版本的。

7樓:

本來就是,若果你想做輪子也許這貼會給到一些啟發,https://zhuanlan /p/212130489

用Cython可以為自己做輪子,相對用原生C會高效很多

8樓:Victoria

就像學數學定理一開始要自己證明,後面就直接用別人證好的定理來用就行了,不然每個都自己重新證明一遍,費時間呀。但是遇到新的未被證明的假設,還是要自己上手,這時候就考驗底層邏輯了。

9樓:薄荷香草喵

這種感覺說明你已經出了新手村了,接下來就是讀原始碼,理解模組中構建功能用了哪些基礎功能,或者其他模組,再高階就是理解設計模式,如何優化,優美,加油[愛]

10樓:Kevin

很正常,比如做機器學習,不可能自己去寫乙個支援向量機或者神經網路演算法吧?了解機理,熟悉調參就夠了,當然能自己寫的大神除外

11樓:李一邨-量化投資

這即是高階語言的好處,也是高階語言的壞處。因為封裝好了,所以你的工作量就小了,呼叫起來更加方便,開發量少。但是壞處是沒從底層開始,知識結構缺乏系統化,程式細節不清晰。

所以學習程式設計要有取捨,如果你面對的問題比較根本,比如要做通訊協議,做架構管理,那不要學python,學習c++更加合適,從底層開始解決問題。如果是程式實現,軟體工程,爬蟲,機器學習,這些問題不涉及底層硬體,也不涉及記憶體控制等問題,所以直接掉包會更加快捷。基於自己合適的問題方向來挑選語言。

12樓:機智豪SAMA

在深點想,我們為什麼能用程式語言呢?為什麼計算機能識別程式語言呢?為什麼我們不用10來寫程式呢。程式語言也是別人做出來的。

如果只是分析語言表面,其實使用任何語言都是呼叫別人封裝好的庫。

13樓:

用模組和用好模組是兩個概念

另外,允許我武斷一下,你應該還學沒後面!

我能感受到你的迷茫,但是這真的是一件非常正常的事情。繼續學下去吧,帶著這些疑問,多去思考怎麼學以致用,在工程實踐中用好。

14樓:逍遙

因為國內教育分級制度不明顯,大學交的東西足夠研究生用,研究生教的足夠博士用,本質上是交的東西比較或許深刻了點…說白了就是奔著教出大佬用的

說白了對考100分和60分的比較友好但是考75分的人,就很尷尬了

15樓:尚學堂官方

其實題主所說的問題是絕大部分初學者都會存在的困惑,為什麼非要學別人封裝好的模組呢?

舉個最簡單的例子讓你明白,在高中讀書的時候,凡是高分作文會不會被老師當做范文給大家朗讀?遇到優美的詞句會不會讓你摘抄記憶?語文作文還好一些,那英語作文呢?

誰能說沒有背過幾篇范文?為什麼要去記憶、要去模仿、要去學習別人現成的東西呢,因為它足夠優秀也足夠完善。

凡事都可以有乙個模板,就像作演示的PPT一樣,現成的模板給你往裡面套自己的內容就可以了,框架都是相同的,不同的是內在,記不住也是正常現象,說明你用的還不夠多,好記性不如爛筆頭,下足了手上功夫自然就記得住了。

學習別人封裝好的模組是為了以後自己能夠編寫出更加優秀的程式。

16樓:

如果別人比我秀,我還可以站在他們的肩膀上,為什麼不呢?

造輪子,是多麼蠢的一件事,對於我這樣的小白而言!

import 就夠了!

yeayee:Python資料分析及視覺化例項目錄

17樓:grace wang

語言就是個工具,你學習的目的不是那些語法和模組,而是怎麼用這個工具解決你的問題。而且是有效率的解決,並且易擴充套件易維護的解決。

你著只是乙個腳踩在門框上了而已,路還長著呢。自己嘗試做一些小的專案就能有更多體會了

18樓:從零開始

因為python就是這樣的,它的主要作用就是膠水,可以方便的呼叫各種模組。如果你想自己實現模組的話,一般都是用其他語言寫的,如c,c++等

19樓:改行做園丁

本來就是工具,當然能用現成的就用現成的,沒現成的再自己造。除非你目的不是做自己的專案,而是做庫啊做工具。因為乙個從業者存在的價值是解決本行業的問題以換得自己的生存和發展,而不是喜歡什麼做什麼,組裝廠不會自己去做螺絲刀,物流公司也不需要自己造車是吧。

各有分工啊。

20樓:山海皆可平z

有這麼多庫工具難道還不好嗎

不要自己造輪子,你知道這輪子是怎麼用的就好,進一步的話你知道這輪子怎麼造的就OK,不一定非得自己造輪子的

21樓:淡淡傷De微微涼

我們所使用的關鍵字也是別人封裝好的函式

使用別人封裝好的模組就是站在巨人的肩膀上

Python一大優勢就是有成熟強大的第三方庫

22樓:haoran

至少很多機器學習的模組都是數理統計和各種演算法的結合,而且不少是拿C/C++寫的,執行效率高。自己寫難度確實大,能用就行了。當然有些時候可能需要改包。

不過寫程式不是會掉個包就行的,很多時候僅僅資料處理就讓人頭大。

23樓:HenryQIU

可能你學的課比較奇怪,一般CS系是不教Python的,要用的時候翻下文件就能即插即用了。

至於為啥光教調庫,一來方便快捷的呼叫庫函式是Python這門語言為數不多的優點,二來別的東西老師不一定會,就算會也不一定能教會你們,就算能教會一般也不會拿Python來教。

24樓:

程式語言除了語言基礎語法之外,都是在學習各種庫。再就是學習各種資料結構。

程式設計不可能白手起家,都是站在巨人的肩膀上進行的,而庫就是這個巨人的肩膀。

25樓:惠文

我們都是站在巨人的肩膀上,寫程式的基本原則就是不要重複造輪子,有現成的輪子多好,讓我們把更多的注意力集中在業務邏輯本身。

26樓:

分國內國外。

國內就是要用別人的模組,準確來說,是用國外寫的模組。

反正乙個定律,國內偏應用,國外偏技術。

有些語言不是調人家的模組,但那些語言國內的人是看不上的,因為不好用,都說了國內偏應用,你去寫模組是生存不了的。

27樓:

說明程式設計行業在成熟:

食品行業,都是在用別人提供的食材。

建築行業,都是在用別人做好的物料。

機械行業,都是在用別人做好的機器。

電子行業,都是在用別人做好的電路圖、電路板;

晶元行業,都是在用別人做好的架構、演算法、IP核。

軟體程式設計行業,雖然是所有行業中最具有柔性、最具有可變化性的產品,但是也慢慢形成了一些標準化、無需二次開發的模組,所謂不必重複開發的輪子,

在這個階段,軟體行業需要更多的是1%的架構+99%的組合應用,於是python + 包管理 + Git 滿足了大部分的應用,你的感覺就是在學別人封裝好的模組。

不同的是,高手不滿足於僅僅用別人封裝好的模組,而要不斷的試著去理解背後的原理,打破最小的砂子,從而理解軟體執行的規律。

題主的感覺是趨勢,「完全」兩字是你自己不上心,缺乏沉進去的勇氣和耐心,如果還做不到,別怪python。

28樓:subway

不去學用別人家的輪子,難道要自己造?那可就太難了,往往吭哧吭哧一頓操作,整出來的輪子還是個漏氣的。

初級的程式設計師,事要用現成的零件組裝出乙個成品來。

中級的程式設計師,要考慮怎麼從設計上改進成品。

高階的程式設計師:「這個螺絲釘的硬度不行啊,我得重新發明一種新合金。」

29樓:巫見

不管學什麼,目的不是為了學習,而是為了解決問題。

python語言只是工具,python的庫也是工具,只要你能解決問題,用什麼無所謂。

重要的是,你學習的python語法和python庫都是工具的使用方法,至於如何解決問題沒人關心,你怎麼用你的工具也沒人關心,別人關心的只是你是否解決了問題。

為什麼我覺得我學佛什麼都沒學到?

sailx 看不懂就別學了唄,反正我見過的極少一部分的學成的人也是被一種幻覺給麻痺了 經書裡講的東西有時甚至還不如自己平時吃喝拉撒學習工作總結出來的東西來的是在來的有用 Huang yanping 1 了凡四訓 佛教歌曲通俗 2 各種佛菩薩和釋迦牟尼佛的經歷 3 心經 金剛經 地藏經 3 普門品 阿...

為什麼學完慕課網上python的課程,感覺還是一無所知?

湖畔荷花 我覺得還挺靠譜的,上線好像已經有七八年了,我剛學那會還只有免費課呢,現在有了一些大體量的付費課程,質量更好了。感覺乙個平台能持續這麼久,應該不會差。就python這門語言而言,和其他開發語言比不算難呀,我之前作為第二語言學過一段時間,感覺入門還挺簡單的,但是後面工作忙起來,就停了。按照題主...

你感覺大學到底學什麼好,是學有錢途的,還是學自己想學的。?

文玩匯 1 就業和很多事情有關係,比如你家的背景 你家親戚的能力以及和你家的親疏程度,你自己的奮鬥精神和闖勁等等,唯獨和你的專業關係不大,尤其是是專科 無歧視 2 三年或者四年後的前途,反正我是看不透,也許你家人比較厲害,能夠看透。3 我的建議是 按照1裡面分析以後你最可能的就業方向,然後去學習 大...