在職,想學Python,又是零基礎,去那學習合適呢?

郝多餘媽媽


你好,老修來分享一下你的問題。

想學Python,又是零基礎,可以選擇自學,你在職,也只能選擇自學,參加培訓班在線培訓,效果和自學沒什麼太大的區別,那自己是有一定的前提條件,我有專門寫三篇文章是給零基礎自學的萌新們的,老修自己也是自學的,你有興趣可以去看一下(12個月,零基礎自學Python語言心得分享-上篇(內含建議和方法)),希望能幫到你;


那這裡分享一下,學完基礎以後,我們可以用Python幹嘛?最好是一開始就選擇好方向去學,不要為了想學而學,或者現在到處在宣傳一門流行的語言,我們就去學它,這樣的意義不大,我們先來看一張圖:

這裡可以看到,你學完Python基礎以後,還要學數據庫,比較建議是學MySQL,然後根據你實際工作能用得上的去學一個方向,這裡一共被細分了九個方向,去選擇一個能用的上的方向,比如自動化,或者前端開發,不然花了時間學完了,學了沒能應用上,這樣不久你就又忘了。

希望我的分享能幫到你。


紀老修


轉行零基礎學Python編程開發難度大嗎?從哪學起?近期很多小夥伴問我,如果自己轉行學習Python,完全0基礎能否學會呢?Python的難度到底有多大?今天,小千就來為大家詳細解讀一下這個問題。


1

學習Python難嗎?


首先,我們普及一下編程語言的基礎知識。用任何編程語言來開發程序,都是為了讓計算機幹活,比如下載一個MP3,編寫一個文檔等,而計算機幹活的CPU只認識機器指令,所以,儘管不同的編程語言差異極大,最後都得“翻譯”成CPU可以執行的機器指令。而不同的編程語言,幹同一個活,編寫的代碼量,差距也很大。


比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。


所以Python是一種相當高級的語言。





是不是越低級的程序越難學,越高級的程序越簡單?


表面上來說,是的。


但是,在非常高的抽象計算中,高級的Python程序設計也是非常難學的,所以,高級程序語言不等於簡單。


但是,對於初學者和完成普通任務,Python語言是非常簡單易用的。


2

我0基礎學Python可以嗎?


我贊成把Python作為入門語言:


1、語法簡單明瞭。第一門語言,其實就是語法+Flow control(控制),而Python的語法簡單,代碼可讀性高,容易入門。


2、Python的哲學是「做一件事情應該只有一種最好的方法」,對於初學者規範自己的學習有很大的幫助,同時也幫助初學者能夠讀懂其他人的代碼。


3、養成良好的習慣。Python對於代碼的要求嚴謹,特別是縮進(Indentation),對於初學者養成良好的代碼習慣很有幫助。



計算機屏幕上的文本



4、Python的語法設計非常優秀,思想也比較現代,可以更快的理解現代編程語言的一些思想。


5、Python仍然是傳統基於Class的OO,和Java、C#、Ruby一樣,比較大眾。從Python去學Design Pattern也是比較合適的。


6、Python的內置數據結構清晰好用,優秀的代碼很多。



Php code on laptop's display with cellphone and



7、Python免費的書很多(英文),可以找到許多資料啃。同時(國外)社區比較集中,有問題可以向高手問。


8、Python在其他領域,比如科學計算等等有廣泛的運用,對於學一門語言作為工具來說,Python很合適。


3

如何學Python?


1、選擇好方向


我要學習Python的目的不是為了解這門語言,而是為了要學會運用這門語言來解決問題。


但Python的應用方向,實在太廣了。在Python基礎知識學完之後,如果應用方向不同,要學習的東西也會大不同。


我不能說我要做web開發,學完Python基礎知識,跑去學numpy、pandas等知識;也不能說我要用Python做數據分析,學完Python基礎知識,然後就跑去學django、flask框架。



在監視器上的腳本代碼



這個道理,就跟我們想要去泰國旅行,肯定不會買去日本的機票一樣,很簡單。但是我們不得不承認,還是會有人犯迷糊,上來就開幹。


我學習Python,是因為在工作中慢慢了解到Python在數據分析方面,基本涵蓋了“數據獲取→數據處理→數據分析→數據可視化”這個流程中每個環節,是數據分析的利器,話說這風騷的操作,也是沒誰了。


2、規劃好路徑


當我確定好方向後,下一步驟就是順著這個方向,建立好我自己的學習路徑地圖。


這個路徑是一個系統性的邏輯主線,這個主線會讓我知道每個部分需要完成的目標是什麼,需要學習哪些知識點,哪些知識是暫時不必要的。然後每學習一個部分,我就能夠有一些實際的成果輸出,利用成果產出來形成正向刺激,激勵後續的學習。



在咖啡館裡用手提電腦聊天的婦女手機



而且,如果我們身在職場,大多時候我們是沒有很大塊的時間來集中學習的。我們的學習時間被分割在了一些碎片化的時間裡。在碎片化的時間裡,系統性的學習一門知識,更需要有一個貫穿前後,系統的邏輯主線,來串聯所有相關碎片化的時間的學習。


當我確定好學習Python的數據分析知識,就按照數據分析的流程“數據獲取→數據處理→數據分析→數據可視化”這個路徑,給自己建立了學習地圖:


1、Python基礎知識
2、爬蟲基本知識+sql
3、。。。(按自己需求選擇)


3、對基本概念建立認知


Python是我學習的第一門編程語言,我在開始學習Python的時候,是一個連什麼是字符串都不知道小白。所以對我來說,最重要的開始是,首先對這一領域的基本概念建立認知!


事實上,對一門領域完全零基礎的人,想要開始學習它的話,真正重要的工作是先對這門領域的基本概念建立認知。


比如我在看到教程中有句話是“為變量賦值”,那我至少得知道,什麼是變量?賦值是什麼意思?



Midsection Of Businessman Using Laptop At Desk In



不知道為什麼這麼重要的一個開始,很多人都不在意,不知道是大家都天賦異稟,覺得不屑於提起這基礎的步驟,還是很多人已經忘記了從小白一路走過來的痛苦和掙扎。人是會篡改記憶的,會認為現在擁有的都是輕鬆獲得的,但真實的經歷永遠都是坎坷曲折的。


所以網上一些教程典型的通病就是,教學者用一個我們不懂的概念去解釋另一個我們不懂的概念,然後我們還是不懂。因為教學者提前預設了作為0基礎的我們的立場:已經有其他編程語言基礎,只是沒有接觸Python。



藍色幽靈符號漂浮在二進制地板幽靈圖標網絡安全3d 插圖



但其實,對真正如我一樣的0基礎的小白來說,大多時候,Python是我們學習的第一門編程語言。所以這個時候,對我們來說,學習Python,不僅是學習這門語言本身,還是在藉著這門語言,幫我們建立對編程世界的一些基本概念的認知。


當我入了門之後,就是順著在第二步建立的學習路徑,一路升級打怪,畢竟,我的征途是星辰大海!


4、最後學習中需要注意的問題


⑴、一開始絕不陷入底層原理和細枝末節的糾纏


這個坑,是把我坑的最深的坑。


舉個例子,我學到函數的時候,我在開始的時候只需要學會怎麼定義函數,怎麼調用函數這些基礎知識,完全不需要一開始就深入到研究函數參數的傳遞規則,到底是值傳遞,還是引用傳遞。



抽象的黑色背景



不是說這底層知識不重要,至少在入門的時候,我們不用一上來就深入這個層面。因為知識的學習,是一個線性的,從潛入深的順序。如果一開始,就眉毛鬍子一把抓,不分主次,可能我們很快就會體會到“從入門到放棄”是一種什麼樣的感覺。


而且我們在後續的學習過程中,其本身就是在“運用中深入理解,在深入理解中優化應用”。相互印證理解,是一種自然而然的深入學習過程。


⑵、最好是按照系統性的課程或書本來學習


既然在這個領域是新手,先接受一個已經存在的系統,再在上面修修改改,是最適合的方案。作為新手,根據我的經驗,我認為最好的老師,是一套成體系的課程或書本。


網上的文章或帖子,其實非常不適合充當我們系統性的學習一門知識的教材,因為它是非常碎片化的知識,東一榔頭西一棒子,不成體系。不要指望自己能把散落的信息整合成系統的,那是高手要做的事情。不過這些東西,可以作為我們對某些細節的查漏補缺的參考。


⑶、以能用起來,解決問題為指導原則


在工作中,需要的更多的是一種解決問題的工程性思維,所以很多時候,我們能掉包解決問題,就沒必要自己造輪子。



Interior Of Office



舉個例子,boss要去機場,那我只要會開車,驅車把boss送到目的地就行,而不需要我去研究怎麼怎麼造車輪,怎麼造發動機,怎麼造電瓶。。。。。。


當然,如果我們學有餘力,能深入,肯定是隻好不壞。但還是那句話,開始的時候,不眉毛鬍子一把抓。


⑷、沒有什麼牛逼的事情是能夠速成的,越是底層的、收益週期越長的技能越是這樣。


“大道甚夷,而人好徑,終為所誤”。我們總會在踩了無數的坑後,才恍然大悟:捷徑往往是最長的彎路。學習一門領域的知識,對於普通人人在短時間內從0到1入個門,倒是不難,但是從1到10,到100,進階為高手,沒有長時間的投入和刻意練習,無異於痴人說夢。


就是以上這些,希望你能有所收穫。


用戶名澍翊


學習Python編程的最好的7本書:

Learning Python

這本書涵蓋了Python編程相關的基礎知識。這本基礎性書籍是為那些編程初學者準備的,以幫助他們獲得更好的理解,並且可以幫助他們建立一個堅固的程序設計的基礎。

ython Cookbook

這本書包含了Python語言相關的關鍵知識並且介紹了大量實用的Python技術,包括從簡單的字符串拼接至遞歸下降分析程序等的寫法。本書的部分章節還包含了大量的關於Python生成器與迭代器的技術。

Python For Data Analysis

這本書是Python關於數據處理、數據清理、數據聚集等方面的全面的指導書籍。它是為數據密集型應用而著,並且提供了對數據分析問題的一些詳盡的介紹。它可以讓讀者很好得理解及使用多種數據工具。

Python Essential Reference

這本書是一本優秀的學習Python語言的參考書。它提供了一個清晰的對Python背景的理解,以及Python背後所發生的事情。它同樣也包含了對Python的詳細概述,可以幫助讀者獲得許多實戰經驗

Python Programming: An Introduction To Computer Science

這是一本非常棒的計算機科學世界的介紹書籍。它以清晰簡單,易於理解的方式介紹了計算機科學的基本概念。

Python In A Nutshell

本書作為一門Python程序語言入門級嚮導,對於諸如標準庫以及語言參考等方面來說,是一份完美的資源。這本書適合於那些已經對Python有很好的基礎的人來閱讀。它解決了許多高級領域的複雜問題。

Violent Python: A Cookbook For Hackers, Forensic Analysts, Penetration Testers And Security Engineers

這本書是Python語言的一個很好的指導書籍。它是一本對Python編程語言的基礎的介紹的圖書,並且它提供了Python多個方面的一個清晰的認識,例如工具和觀念。一旦涉及到安全領域,解決諸如取證,複雜協議工具(如SMB)的整合等問題時,這本書是最好的讀物。本書十分適合那些對於Python語言已經有了一個很好理解的程序員使用。

————————————————

Python 可以用來做什麼?

在我看來,基本上可以不負責任地認為,Python 可以做任何事情。無論是從入門級選手到專業級選手都在做的爬蟲,還是Web 程序開發、桌面程序開發還是科學計算、圖像處理,Python都可以勝任。

或許是因為這種萬能屬性,周圍好更多的小夥伴都開始學習Python。 Python 現在到底有多熱呢?我覺得我們可以看以下的這2組數據。

第一:Python 排名穩居前五

得益於 Python 在多個領域的應用都在逐漸變熱,Python 在TIOBE榜上已經是穩居前5了。

技能掌握

1、Python核心技術,網絡編程技術。

2、WEB前端開發技術:HTML5、CSS、Javascript、JQuery庫、網頁設計技能。

3、多種網絡協議及數據格式,如:HTTP協議、JSCON。

4、數據庫技術:MySql、MongoDB、Redis。

5、Django Web框架技術

6、Python SMTP smtplib、email模塊

7、Python項目部署、測試技術

8、軟件工程管理技能、Git、Pydoc等工具使用

掌握技能

1.掌握計算機的構成和工作原理

2.會使用Linux常用工具

3.熟練使用Docker的基本命令

4.建立Python開發環境,並使用print輸出

5.使用Python完成字符串的各種操作

6.使用Python re模塊進行程序設計

7.使用Python創建文件、訪問、刪除文件

8.掌握import 語句、From…import 語句、From…import* 語句、方法的引用、Python中的包

掌握技能

1.能夠使用Python面向對象方法開發軟件

2.能夠自己建立數據庫,表,並進行基本數據庫操作

3.掌握非關係數據庫MongoDB的使用,掌握Redis開發。

4.能夠獨立完成TCP/UDP服務端客戶端軟件開發,能夠實現ftp、http服務器,開發郵件收發軟件。

5.能開發多進程、多線程軟件。




正全雕刻


如果有條件肯定是報培訓班,沒有就只能自學,去B站或者頭條搜學習視頻,謝謝!


97沒人帶


可以在報網絡班,費用少,學時安排自由,方便入門。


湖南張家界鄉里一伢仔


這個問題我來答一下應該挺合適的。

先介紹一下背景,從業經歷可謂豐富,大學是測控專業,畢業後做過自動化,做過網絡管理員(和網吧的網管還是有點區別的),做過銀行信貸客戶經理,涉足過計算機零售行業,做過老師。。。目前是一枚技術還算過得去的一線碼農。嗯,除了金融業的從業經驗之外總體上還是和IT都沾一點邊的。

先來說說做老師時期的經驗吧,我之前從事的是職業培訓教育,沒錯就是你打算參加的這種培訓,只不過不是Python開發,是前端開發,教過的學生算起來也有千八百了吧,我的學生中有不少完全零基礎(就是和IT行業八竿子也打不著的)在最後也成功走上了工作崗位,他們中有的是做人力資源的,有的是學漢語言文學的,有年近40工作不順利要轉行的,當然也有更多是在學習之後發現自己不適合吃這碗飯,最後仍舊另謀出路的。

我們只說那些學習成功的,他們給我的統一感覺是——堅持。你如果已經有了要好好學的覺悟了,那就先拋開‘零基礎’,‘文科生’這些標籤,因為這種身份認定只會讓你在學習過程中萌生退意,要知道我教過的最棒的一批學生在學習階段經常為了解決某些問題奮戰到凌晨兩三點。

再來討論下自學還是找培訓機構的為題,你如果看我其他的一些回答的話就會發現我其實是培訓機構黑,其實我很不喜歡當前一些培訓機構的風氣,程序開發絕非學習編程語言這麼簡單的事情,實際學習中你會發現 任何編程語言只要每天花費三四個小時的時間,只需要一週足夠你學會所有的語法,對於Python這麼簡單的語言來說可能還要更少一些,但是從來沒有人說過一週能學會編程對吧,就算再敢吹的教育機構應該也不敢這麼做廣告。真實的開發需要大量的積累,對於非科班出身的人來說還要額外花時間來補充一些更基礎的知識。

很多培訓機構急功近利,在兩個月的填鴨式教育後就開始著手統一開發模板項目、包裝簡歷。所以很多時候培訓機構只是給你提供了一個比較有針對性的進入這個行業的入口而已,畢竟教育培訓機構的就業部門才是真正的核心,他們往往會和一些公司有人才往來的合作。

不過事物總有兩面性,接下來再和你說說培訓可取的地方,那就是他們不管再怎麼注水但總要有一套能夠覆蓋大多數基礎場景的教學大綱和教學內容,這可以幫助零基礎的學生快速建立起應該學什麼和怎麼學習的一套體系。在這個框架之下,只要你足夠的努力刻苦,如果你再有一些天賦異稟,那也是很有可能出類拔萃的。

說了這些其實我本人還是推薦自學的,給你一點自學的建議吧,培訓機構裡系統的課程學費上萬塊,自學的話可以省下不少,但也不是完全免費的。

首先是基礎的python語言語法,免費的話廖雪峰的博客裡那套Python教程是行業典範,如果我講課的話很可能也是按照這個套路設計課程,缺點是純文字的,很多初學者可能看不下去,這裡推薦一下慕課網,有很多免費資源,裡面有你需要的基礎Python教程,如果肯花錢的話可以買一個300課程,比免費的精良一點。

基礎部分完了之後一般會用一個Python的爬蟲作為練手,這裡就開始有意思了,你能寫一點真正有用的東西了,同時這裡也能體現一個人是否適合進入IT這個行業,適合進入的人會學會思考,瀏覽器裡的內容都是怎麼來的(網絡基礎知識),一個個網址的背後都隱藏著什麼(網絡協議知識),這些資源保存在哪裡(網絡後端知識),我有沒有可能做一個網站(服務器操作系統Linux,數據庫知識),我的網站只有我一個人可以訪問麼?別人也要看怎麼辦(VPS),是能給100個人看還是給100萬個人看(大規模集群)。

所以你看,學習Python只是一顆種子,但是我們的最終目的是一片森林。說這個不是讓你退卻,是希望你保持對技術的敬畏。


分享到:


相關文章: