日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

我的python学习之路_我的Python学习之路

發布時間:2024/4/11 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的python学习之路_我的Python学习之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單算來,接觸Python有些時日了。想要做個簡單的總結,算是為想要入門Python的童鞋做一個簡單的介紹吧。

什么是Python

Python,是一種面向對象、直譯式的計算機程序語言。它包含了一組功能完備的標準庫,能夠輕松完成很多常見的任務。它的語法簡單,與其它大多數程序設計語言使用大括號不一樣,它使用縮進來定義語句塊。

與Scheme、Ruby、Perl、Tcl等動態語言一樣,Python具備垃圾回收功能,能夠自動管理內存使用。它經常被當作腳本語言用于處理系統管理任務和網絡程序編寫,然而它也非常適合完成各種高級任務。Python虛擬機本身幾乎可以在所有的作業系統中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉換成可以脫離Python解釋器運行的程序。

Python的官方解釋器是CPython,該解釋器用C語言編寫,是一個由社區驅動的自由軟件,目前由Python軟件基金會管理。

Python支持命令式程序設計、面向對象程序設計、函數式編程、面向側面的程序設計、泛型編程多種編程范式。

---引用自中文維基百科

簡而言之,Python是一門語法簡單,功能強大,有豐富第三方支持的動態高級編程語言。在最新的TIOBE編程語言排行榜上,Python僅位于Java,C++,C,C#之后,排名高居第五,且排名一直在上升(1996年24位,2006年6位,2016年10月排名升至第5位)。在Google Trends的搜索排名上,Python也和Java,C等傳統意義上的主流語言越來越接近。

為什么選擇Python

在我看來,至少有以下原因使我們選擇Python:

語法簡單,相比去大多數語言用花括號區分語句塊,Python選擇用縮進來作為語意單元的分隔,由于豐富的內建數據結構和強大的第三方擴展庫,Python可以寫出比較簡潔的代碼(至少在代碼量上會優于大多數語言)。

下面以快速排序作為一個例子來簡單比較一個對于同一個問題,Python和Java,C,C++之間的代碼量差距。

C版本

void sort(int *a, int left, int right)

{

if(left >= right)

{

return ;

}

int i = left;

int j = right;

int key = a[left];

while(i < j)

{

while(i < j && key <= a[j])

{

j--;

}

a[i] = a[j];

while(i < j && key >= a[i])

{

i++;

}

a[j] = a[i];

}

a[i] = key;

sort(a, left, i - 1);

sort(a, i + 1, right);

}

C++版本

include

using namespace std;

void Qsort(int a[], int low, int high)

{

if(low >= high)

{

return;

}

int first = low;

int last = high;

int key = a[first];

while(first < last)

{

while(first < last && a[last] >= key)

{

--last;

}

a[first] = a[last];

while(first < last && a[first] <= key)

{

++first;

}

a[last] = a[first];

}

a[first] = key;

Qsort(a, low, first-1);

Qsort(a, first+1, high);

}

int main()

{

int a[] = {57, 68, 59, 52, 72, 28, 96, 33, 24};

Qsort(a, 0, sizeof(a) / sizeof(a[0]) - 1);

for(int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

{

cout << a[i] << "";

}

return 0;

}

Java版本

private>

voidquickSort(T[]targetArr,intstart,intend)

{

inti=start,j=end;

Tkey=targetArr[start];

while(i

{

while(j>i&&targetArr[j].compareTo(key)>=0)

{

j--;

}

if(i

{

targetArr[i]=targetArr[j];

i++;

}

while(i

{

i++;

}

if(i

{

targetArr[j]=targetArr[i];

j--;

}

}

targetArr[i]=key;

this.quickSort(targetArr,start,i-1);

this.quickSort(targetArr,j+1,end);

}

最后,來看看Python版本

def qsort(seq):

if seq==[]:

return []

else:

pivot=seq[0]

lesser=qsort([x for x in seq[1:] if x

greater=qsort([x for x in seq[1:] if x>=pivot])

return lesser+[pivot]+greater

至少在上面這個例子當中,Python在簡潔上還是有一定的優勢的。簡潔和縮進帶來的直接優勢就是代碼的可讀性提高(這也是我要說的Python的第二點優勢),Python里有很多開源框架的代碼量都不大,這為大多數人通過源代碼來學習帶來了方便。

由于python的設計哲學就是“以最優雅,明確,簡單的方法解決問題”,所以大多數Python代碼的實現都是簡單易讀,也就是常說的Pythonic寫法。

3.廣闊的應用范圍

Web后端 目前常見的Python web后端框架包括Django,flask,Pyramid,web.py,Tornado等,目前使用Python作為后臺開發語言的網站有Gmail,YouTube,Reddit,Spotify,DropBox等,國內的網站有知乎,豆瓣,餓了么,Bilibili等

自動化運維 也就是時下比較火的DevOps的概念,相關的工具庫包括:psutil,Ipy,dnspython,pexpect,paramiko,fabric等

數據分析師 大數據時代,不會做一點數據分析怎么說的過去?python本身就可以很方便的對excel進行讀寫(xrlt),除此之外,python還有很多強大的數據處理庫,比如Scipy,Numpy,pandas,Dato GraphLab等等。在數據處理領域,python的地位和R不相上下。

網絡爬蟲 從基礎款的urllib,request,到selenium,再到比較成熟的Scrapy,pySpider Python在爬蟲上給了很多可供選擇的方案

我的Python學習資料

說了這么多Python的好處,接下來分享一點Python的學習資料

當然,最好的Python學習材料就是Python文檔和PEP

相應的,如果你想要學習某個python擴展第三方庫,它的官方文檔永遠應該是你的第一選擇學習資料,只要在搜索引擎上打上對應庫的名字,一般都能找到它的documents。

教材:

MOOC:

最后,有幾個程序員應該知道的網站

轉載請注明原地址和出處

總結

以上是生活随笔為你收集整理的我的python学习之路_我的Python学习之路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。