來電(diàn)咨詢
191-1582-9360

【雲駐共創】華爲名師揭秘編程界“網紅”Python

時間:2021-12-15 16:45:10

【摘要】 華爲名師揭秘編程界“網紅”Python


  1. 計算機與程序員(yuán)

    1. 吃瓜群主眼中(zhōng)的程序員(yuán)

    2. 實際上的計算機專業

    3. 不同"品種"的程序員(yuán)

  2. Python程序員(yuán)

    1. Python的前生(shēng)今世

    2. Python聲名鵲起

    3. Python:我(wǒ)長這樣誰用啊?

    4. Python爲何受人追捧

    5. Python并不是十全十美

    6. Python與其他語言對比分(fēn)析

  3. Python廣泛的應用領域

    1. Python與人工(gōng)智能

    2. Python與大(dà)數據

    3. Python與爬蟲

    4. Python與網站開(kāi)發

    5. Python與數據分(fēn)析

  4. 如何成長爲Python程序員(yuán)

    1. web方向

    2. web方向

    3. AI方向

    1. 從Python語言學起

    2. 掌握數據結構

    3. 涉獵C/C++/java

    4. 選擇Python應用方向

    5. Python編碼

  5. Python專家答疑解惑

    1. 問題1 學習python有哪些學習課程?

    2. 問題2 如果不是專業的程序員(yuán),可以在哪裏找到Python的學習資(zī)源

    3. 問題3 學習完Python後,并沒有感覺收獲很多?

    4. 問題4 Python近期的就業情況和發展前景?

    5. 問題5 高級語言都是相似的,Python擅長的領域有哪些?



計算機與程序員(yuán)

吃瓜群主眼中(zhōng)的程序員(yuán)

一(yī)提到計算機程序員(yuán),大(dà)部分(fēn)人的印象可能是修電(diàn)腦的


或者敲代碼的


或者會盜号的黑客


總之,要麽是什麽電(diàn)腦都會修的電(diàn)腦維修店(diàn)師傅,要麽就是能盜号,會破解程序的大(dà)神黑客,其實這都是對我(wǒ)們程序員(yuán)的一(yī)種誤解

實際上的計算機專業

百度百科的解釋:程序員(yuán)(英文Programmer)是從事程序開(kāi)發、程序維護的基層工(gōng)作人員(yuán)。一(yī)般将程序員(yuán)分(fēn)爲程序設計人員(yuán)和程序編碼人員(yuán),但兩者的界限并不非常清楚。
首先關于修電(diàn)腦這個問題,作爲計算機專業的程序員(yuán),在專業知(zhī)識中(zhōng)除了學習軟件,硬件開(kāi)發外(wài),當然也要了解一(yī)些計算機構造的基本知(zhī)識,當然程序員(yuán)可以會修電(diàn)腦,但不是必須要求。修電(diàn)腦和編程沒有直接關系。
當然程序員(yuán)也不一(yī)定要敲代碼
舉個例子:你會開(kāi)車(chē)不代表不會修車(chē)或者造車(chē),你會寫文章不代表你會造字。


計算機專業是個很寬泛的專業,可以具體(tǐ)細分(fēn)到很多類别。
計算機主要可以分(fēn)爲==軟件方向==(軟件工(gōng)程)和==硬件方向==(計算機科學與技術),軟件工(gōng)程和計算機科學與技術又(yòu)可以接着細分(fēn)。現在的人工(gōng)智能也比較火(huǒ)。

不同"品種"的程序員(yuán)

在1.2中(zhōng)我(wǒ)們已經介紹了程序員(yuán)有很多不同的分(fēn)類,計算機編程語言也有很多種,我(wǒ)們主要根據使用的編程語言對程序員(yuán)進行分(fēn)類。
現在主流的高級編程語言主要有下(xià)面幾種


0、Python
Python被稱爲膠水語言,哪裏都可以用。
有句話(huà)說:人生(shēng)苦短,我(wǒ)用Python。


有程序員(yuán)網友調侃,python最适合女生(shēng)學……因爲包多!
python有很多方便的庫,丢棄c語言複雜(zá)的指針,簡化語法,它的存在就是解決問題,而不是讓你理解語言本身。
1、C


C語言是通用的基礎編程語言,編程開(kāi)發人員(yuán)加班加點必備武器。
它的特點在于偏向計算機底層操作,多用于性能要求嚴格的領域。
C語言相對來說會難點,光一(yī)個指針就足以把你搞暈。入門一(yī)般都是啃着譚浩強的C程序設計。
在硬件、虛拟現實VR/AR,C語言和C++占據主導地位。
2、C++


C++以C發展而來,它比C語言多增加了類、繼承、重載、類模闆、C++标準庫、模闆庫等。
一(yī)句話(huà),C面向過程,C++面向對象。
3、Java


Java可能是目前運用最廣的項目語言。
它的特點是,概念簡單,無數的庫,輕松入門so easy!
可應用于服務端編程、高性能網絡程序、分(fēn)布式計算、安卓移動終端應用開(kāi)發等。
4、PHP


PHP被程序員(yuán)網友稱爲是世界上最好的語言,但是可能也是被黑的最慘的一(yī)門語言。
PHP語法和C類似,有很多的模闆和框架,簡單易懂,也許你可以在短短幾天做出web app。
它主要用于web端,快速建站網絡開(kāi)發必備。
5、JS


JS是JS是目前所有主流浏覽器上唯一(yī)支持的腳本語言,僅用10天的時間設計出來。
在前端開(kāi)發中(zhōng),占有不可替代的地位。
當然這些語言不是說隻能做某些東西,隻是說他們各有所長
下(xià)面主要介紹本文的主角Python

Python程序員(yuán)

Python的前生(shēng)今世

python發展曆程

  • 1991年,第一(yī)個正式版解釋器誕生(shēng)(c語言實現)

  • 2000年,Python2。

  • 2008年,Python3。

  • 2021年,Python3.9.x
    截止到2021年5月4日,根據python官方網站(
    https://www.python.org/)消息,Python3.10已經發布。

    Python是目前非常流行的一(yī)種編程語言,但它并不是一(yī)種新語言,三十年前就已經開(kāi)發出來(1991年)。
    可以看到python進行了兩個重大(dà)的更新,也就是Python2到Python3的更新,如果按照大(dà)家的正常思維來想,應該python2到python3是向下(xià)兼容的,在python2開(kāi)發的軟件在python3版本也可以運行。實際上python2和python3
    是兩個完全不相同的版本,并不互相兼容,所以在進行python開(kāi)發時,一(yī)定要注意版本選擇。
    大(dà)部分(fēn)情況下(xià)我(wǒ)們使用的都是Python3.X版本,但Python的版本并不是越高越好,不建議使用最新發布的版本,可能會存在一(yī)下(xià)BUG和漏洞,目前比較穩定的版本爲Python3.7

Python聲名鵲起

Python在發布之初還隻是一(yī)個小(xiǎo)衆語言,當時(指上個世紀九十年代)的流行語言主要還是C語言。但是在2021年5月發布的最新==編程語言排名表==可以發現Python的熱度已經到達第2名,僅次于編程語言鼻祖C語言,而且還在處于上升趨勢。

上圖編程語言排名圖來自網頁 https://tiobe.com/tiobe-index/



上圖編程語言排名圖來自網頁 https://tiobe.com/tiobe-index/


上圖爲2001年1月-2021年5月主流編程語言排名占比可以看出在2018年後,python語言的上升趨勢很明顯主要原因有:

  1. 部分(fēn)國内外(wài)中(zhōng)小(xiǎo)學已經把python列爲學習科目

  2. 少兒編程培訓機構對python的宣傳

  3. 人工(gōng)智能的發展火(huǒ)熱
    不難看出,既然可以在中(zhōng)小(xiǎo)學生(shēng)中(zhōng)推廣,必然說明Python相對其他編程語言來說十分(fēn)簡單,也很有潛力

上圖編程語言排名圖來自網頁 https://tiobe.com/tiobe-index/


上圖爲近十年每年評選出的明星語言,可以看到在2018和2020年python均爲明星語言,表現已經和C語言不分(fēn)伯仲

Python:我(wǒ)長這樣誰用啊?

目前使用python語言的主要知(zhī)名公司有

  • Google:==python==,java和c是其主要三大(dà)開(kāi)發語言

  • NASA:使用python進行數據分(fēn)析運算

  • 豆瓣,知(zhī)乎

  • Dropbox:使用python處理十億級别數據

  • YouTube:用python構建網站

Python爲何受人追捧

  • 動态,解釋性語言
    在python使用數據時,無需提前定義,可提前執行腳本

  • 開(kāi)源,跨平台
    python支持linux,mac,window等多種平台運行

  • 學習成本低
    語法簡單,上手性牆

  • 開(kāi)發效率高,工(gōng)具多多
    python開(kāi)發效率非常高,内置多種第三方工(gōng)具庫

  • 擴展性強
    被稱爲"膠水語言",可以使用python去(qù)實現其他語言的功能,連接在一(yī)起

Python并不是十全十美

正如世界上沒有完美的人一(yī)樣,python作爲一(yī)種高級編程語言,也并不是沒有缺點

  • 動态,解釋性語言
    動态性對于後期維護不方便

  • 運行效率
    python的運行效率相對其他c,java,go語言來說很低

  • 代碼維護
    代碼維護效率低

  • 多線程
    python的多線程存在問題

  • 語法古怪
    python的語法相對于其他語言來說過于固定格式。

Python與其他語言對比分(fēn)析


上述表格中(zhōng),灰色爲缺點,藍(lán)色爲優點
相對于C和shell,python的第三方工(gōng)具庫十分(fēn)豐富,且可以自動管理内存,無需人工(gōng)操作

Python廣泛的應用領域

在講如何成爲python程序員(yuán)之前,我(wǒ)們先說一(yī)下(xià)python程序員(yuán)能幹啥

Python與人工(gōng)智能

當下(xià),在人工(gōng)智能方面,python可以說是如日中(zhōng)天,人工(gōng)智能學習所需要的工(gōng)具python基本都有。
人工(gōng)智能以計算機技術爲基礎,所以也要以編程語言爲依托,python恰好是适合這樣應用場景的語言==之一(yī)==。某種程度上來說也是最适合的。
在這裏插入圖片描述


Python爲人工(gōng)智能領域提供了一(yī)大(dà)批工(gōng)具:

  • Tensorflow,pytorch,MXNet

  • Scikie-learn,numpy,dcikit-image,NLTK …
    借助python,可以在人工(gōng)智能領域開(kāi)發過程中(zhōng)減少大(dà)量代碼的編寫

Python與大(dà)數據

Python在處理大(dà)數據方面優勢十分(fēn)明顯。
Python由于能夠很好的支持協程(Coroutine)操作,基于此發展起來很多并發庫,在大(dà)數據處理和數據可視化方面潛力巨大(dà)。

Python與爬蟲

爬蟲是python的特點之一(yī),利用python的爬蟲庫,可以輕易的快速爬取個人所需要的數據。
python常用的爬蟲庫有:

  • urllib

  • Requests

  • Scrapy

  • Pyspuder

  • Scrapy-redis

    關于爬蟲這裏多說一(yī)句,爲了防止"面向監獄"編程,一(yī)定要學習計算機信息安全法

Python與網站開(kāi)發

Python對網站開(kāi)發提供了多種框架,例如:

  • Diango

  • Flask

  • web.py

  • tornado

  • 數據庫,前端

Python與數據分(fēn)析

python在數據分(fēn)析方面有明顯優勢


常用的數據分(fēn)析庫有:

  • pandas

  • Numpy,scipy

  • matplotlib,seaborn,pyecharts

  • Scikit-learn(機器學習)

如何成長爲Python程序員(yuán)

從Python語言學起

在基礎階段,要先掌握Python的基礎語法,數據類型,函數和面向對象,這基本在所有語言都是通用的
在進階階段,要掌握Python的I/O,異常,進程/協程,語言特性等相關思想
同時,我(wǒ)們也要對Python的工(gōng)具有所了解

掌握數據結構

數據結構在計算機算法領域十分(fēn)重要,也是程序員(yuán)在面試過程中(zhōng)常考的内容,可以提現一(yī)個程序員(yuán)的語言功底

涉獵C/C++/java

python由于封裝性過高,我(wǒ)們無法通過python去(qù)了解代碼的底層邏輯,并且在實際工(gōng)作中(zhōng)不可能隻是用Python一(yī)種語言,所以對于其他高級語言也要有所了解。

選擇Python應用方向

Python的應用方向主要由三個

web方向

web方向主要所學有數據庫原理,web基礎知(zhī)識,web框架,組件,消息隊列,前端等等

web方向

Python在爬蟲領域應用廣泛,主要所學内容有網絡基礎,抓包共苦,爬蟲框架,反爬等,同時也要注意遵守法律規定。切勿違法亂紀。

AI方向

AI方向除了對Python有所掌握外(wài),也要對數學知(zhī)識精通,了解AI主要算法和常用AI框架

Python編碼

在Python進行代碼編寫時,一(yī)定要注意Python編碼規範,我(wǒ)們在實際工(gōng)作中(zhōng),大(dà)概率是團隊協作開(kāi)發,所以,有一(yī)個良好的編碼風格十分(fēn)重要。幫助後續開(kāi)發節約大(dà)量時間

Python專家答疑解惑

問題1 學習python有哪些學習課程?

問:學習python有哪些學習課程?
答:目前python的學習課程有很多,學習那些,怎樣學主要取決于大(dà)家學習Python的目的。首先要找到自己的定位,然後去(qù)學習相關基礎知(zhī)識,可以看一(yī)下(xià)圖靈系列的python圖書(shū)或者Python的官方文檔。

問題2 如果不是專業的程序員(yuán),可以在哪裏找到Python的學習資(zī)源

問:如果不是專業的程序員(yuán),可以在哪裏找到Python的學習資(zī)源

答:github網站()提供了很多國内外(wài)程序員(yuán)的開(kāi)源項目,大(dà)家可以下(xià)載下(xià)來學習

問題3 學習完Python後,并沒有感覺收獲很多?

問:學習完Python後,并沒有感覺收獲很多?

答:學習Python不能從衆,人雲亦雲,一(yī)定要有自己的興趣愛好。同樣也可以去(qù)github下(xià)載優秀開(kāi)源代碼進行學習分(fēn)析。

問題4 Python近期的就業情況和發展前景?

問:Python近期的就業情況和發展前景?

答:從上面Python的使用情況排名來看,Python還是十分(fēn)火(huǒ)熱的,就業機會和崗位也很多。

問題5 高級語言都是相似的,Python擅長的領域有哪些?

問:高級語言都是相似的,Python擅長的領域有哪些?

Python擅長與Web開(kāi)發,且在爬蟲方向沒有競争對手 在AI,數據分(fēn)析,自動化運維方向也具有很多優勢。

本文整理自華爲雲社區内容共創活動第三期之【線上直播】華爲名師揭秘編程界”Python”

查看活動詳情:https://bbs.huaweicloud.com/live/HDZ_live/202103111830.html



來源:https://bbs.huaweicloud.com/blogs/266297