1. 程式人生 > >Python基礎學習筆記(一)python發展史與優缺點,崗位與薪資

Python基礎學習筆記(一)python發展史與優缺點,崗位與薪資

  相信有好多朋友們都是第一次瞭解python吧,可能大家也聽過或接觸過這個程式語言。那麼到底什麼是python呢?它在什麼機緣巧合下誕生的呢?又為什麼在短短十幾年時間內就流行開來呢?就請大家帶著疑問,讓我們來探索python的奧祕吧!

 

一:python發展史與優缺點

  1.發展史

  python,英文翻譯為巨蟒,爬蟲。是荷蘭計算機學家吉多·範羅蘇姆(著名的G叔),在1989年聖誕節期間,為了打發聖誕節的無趣,開發的一個指令碼解釋程式,結合了Unix shell和C的習慣。。而python這個名字就是取自英國20世紀70年代首播的電視喜劇《蒙提.派森的飛行馬戲團》(Monty Python's Flying Circus)。

  python第一個公開發行版發行於1991年,還不太成熟。在1994 1月,Python 1.0 增加了 lambda, map, filter 和 reduce。在2000年10月,python2.0釋出,穩定版本是Python 2.7,加入了記憶體回收機制,構成了現在Python語言框架的基礎。2004年, 目前最流行的python的WEB框架Django 誕生。自從2004年以後,python的使用率呈線性增長。Python 3於2008年12月3日釋出,不完全相容Python 2。好多種語法進行了大規模翻新。現在python已經更新到python3.7版本。

  在眾多的程式語言中,為什麼python會不斷地上升,成為現今世界最流行的語言之一呢。讓我們先來看幾個圖來體會一下python的重要性:

 

 

  

  2.優缺點

  哈哈,有沒有體會到python的重要性,下面就向大家介紹為什麼python這麼受人追捧:
  (1)Python語言簡潔、易讀、可擴充套件性。

  (2)Python語言開源,每個人都能為python做貢獻。

  (3)Python有一些很高階,開源的科學計算軟體包,比如Anaconda。

  (4)Python庫很多,不僅僅有很簡單的庫,還有很多高階庫,比如著名的計算機視覺庫Opencv、三維視覺化庫VTK、醫學影象處理庫ITK都與python有關。

  (5)Python是個"膠水語言",可以和其他眾多語言相配合使用。

  (6)Python的縮排風格對於一些"程式碼潔癖"的人來說很友好。

  (7)Python方向眾多,而且每一個方向都有與其有關的實用高階庫。

  (8)Python可移植性很好,在多個平臺,如Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基於linux開發的Android平臺都能夠很好地執行。

  (9)Python一定程度上可以當作虛擬碼,也是利用過了其簡潔的風格。

  (10)在計算機內部,Python直譯器把原始碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並執行。就讓使用者不再需要擔心如何編譯程式,如何確保連線轉載正確的庫等等。

  (11)Python的面向物件機制功能強大。

 

  但是python作為程式語言也是有缺點的,如下:

  (1)執行速度一直是python的詬病,雖然現在有了多程序與多執行緒技術。

  (2)Python的開源性讓Python語言不能加密,這也造成python語言有時候不太安全,使得眾多黑客技術人員都在研究python,python也成為一種有關網路資訊保安的語言。

  (3)Python的庫比較多,這也造成了解決一個問題的可供選擇的範圍大,不同人可能會利用不同的python技術解決同一個問題。

  

  綜上,python是一種優點眾多的語言,而python在很多領域都有了很大的突破,在系統程式設計,圖形處理,數學建模計算,文字處理,資料庫程式設計,網路程式設計,Web程式設計,多媒體應用,黑客程式設計,自動化運維,網路爬蟲,資料分析,機器學習,人工智慧方面應用廣泛。

 

 

二:python程式設計師與工程師薪資

  只有不斷磨練自己的技術,並融入實踐,發現問題,思考問題,突破問題,才能從一個小碼農逐漸變為工程師水平。這裡主要向大家介紹不同學歷畢業後適合的python崗位以及一些比較python崗位的薪資。

  1.畢業大學生畢業適合的python崗位

   web開發、爬蟲、資料分析、自動化運維等(主要偏向應用)。

  2.研究生畢業適合的python崗位

   web開發、資料分析、科學運算、機器學習,人工智慧初級及中級(偏向資料之類)。

  3.研究上以上適合的python崗位

   web開發,更高階的資料分析,機器學習,人工智慧等。

  4.一些python崗位的薪資

   我們先用一小段簡單程式碼抓取一些網上python薪資圖片,檢視下python的就業崗位薪資:

     程式碼如下:
   

 1 import requests
 2 from bs4 import BeautifulSoup
 3 
 4 def get_message(url):
 5     m = 1
 6     r = requests.get(url)
 7     soup = BeautifulSoup(r.text,'lxml')
 8     for i in soup.select('.image-block span'):
 9         this_img = requests.get(str(i.attrs['dataurl']))
10         with open('{name}.jpeg'.format(name = m),'wb') as f:
11             f.write(this_img.content)
12         m = m + 1
13 
14 def main():
15     get_message('https://cloud.tencent.com/developer/news/327697')
16 
17 if __name__ == '__main__':
18     main()

 

  一共用了18行不到吧(其實為了美觀,有些空白行不佔記憶體)。

  結果如下:

  

  

  額,好像有些模糊,我們再用python處理下影象灰度化:

  

 1 from PIL import Image
 2 import numpy as np
 3 img = Image.open("E://python學習//1.jpeg")
 4 img_array = np.array(img)
 5 arr1 = img_array[:]
 6 print(arr1.shape)
 7 for x in range(1,arr1.shape[0]):
 8     for y in range(1,arr1.shape[1]):
 9         a = img_array[x,y][1]
10         b = img_array[x,y][2]
11         c = img_array[x,y][1]
12         arr1[x,y] =(a,a,a)
13 image_arr = Image.fromarray(arr1)
14 image_arr.show()

  暫時比較清晰了,下面是其他崗位資訊:

  

 

  

&n