【Python簡介】

1、Python的簡介java

1.什麼是python?
python

 Python(發音:[ 'paiθ(ə)n; (US) 'paiθɔn ]),是一種面向對象的解釋性的計算機程序設計語言,也是一種功能強大而完善的通用型語言,已經具備十多年的發展歷史,成熟且穩定。這種語言具備很是簡捷而清晰的語法特色,適合完成各類高層任務,幾乎能夠在全部的操做系統中運行。git

 

  • 特色:

①可擴充性。新的內置模塊(module)能夠用C 或 C++寫成,而咱們也可爲現成的模塊加上Python的接口;程序員

②清晰的語言。由於它的做者在設計它的時候,總的指導思想是,對於一個特定的問題,只要有一種最好的方法來解決就行了。github

③Python的縮進規則。它的做者有意的設計限制性很強的語法,使得很差的編程習慣(例如if語句的下一行不向右縮進)都不能經過編譯。這樣有意的強制程序員養成良好的編程習慣。一個模塊的界限,徹底是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號{}來明確的定出模塊的邊界的,與字符的位置毫無關係)。shell

 

  •  侷限性:

①運行效率低下;編程

②多線程支持欠佳 ;ruby

③獨特的語法。這也許不該該被稱爲侷限,可是它用縮進來區分語句關係的方式仍是給不少初學者帶來了困惑。 即使是頗有經驗的Python程序員,也可能陷入陷阱當中。最多見的狀況是tab和空格的混用會致使錯誤,而這是用肉眼沒法分別的。 網絡

④無類型。做爲一種動態語言,隨時隨地建立和使用變量是Python給咱們帶來的巨大的便利。可是它也會使得程序不嚴謹,某些錯誤只有在運行中才可能出現。因此,使用Python編程的時候,要對類型作到內心有數。多線程

 

2.python的過去

Python的創始人爲Guido van Rossum。1989年聖誕節期間,在阿姆斯特丹,Guido爲了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作爲 ABC 語言的一種繼承。之因此選Python(大蟒蛇的意思)做爲程序的名字,是由於他是一個Monty Python的飛行馬戲團的愛好者。就這樣,Python在Guido手中誕生了。實際上,第一個實現是在Mac機上。能夠說,Python是從ABC發展起來,主要受到了Modula-3(另外一種至關優美且強大的語言,爲小型團體所設計的)的影響。而且結合了Unix shell和C的習慣。

 

3.python的如今

如圖所示,截止17年4月,最新的TIOBE排行榜,python位列第五。

 

Python能夠應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎全部大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯網公司普遍使用Python來作的事通常有:自動化運維、自動化測試、大數據分析、爬蟲、Web 等。

 

 4.python與其餘語言的關係

  • 對比:

Pythond VS C#
① Python跨平臺,能夠運行在Linux、weindows等平臺
② Pythond開源,C#則相反
③Python是解釋型語言,C#須要編譯,因此Python運行要慢點

Pythond VS Java
Python更簡潔,Java過於龐大複雜,語法不少

Python VS C C++ 
Python更容易學習,語法簡單易懂,但他們一般扮演不一樣的角色,Python是一種腳本語言,C和C++一般要和底層硬件打交道

Python VS Ruby Perl
與ruby不一樣,OOP對於Python是可選的,因此Python不會強制用戶選擇OOP開發

java 適合企業級應用,運行效率高
go 語言,網絡請求最好
python 開發成本低
  • 聯繫:

 

C語言: 代碼編譯獲得機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工做(C語言--》機器碼--》計算機)

Python在執行時,首先會將.py文件中的源代碼編譯成Python編程語言的byte code(字節碼),而後再由Python Virtual Machine來執行這些編譯好的byte code。

 

其餘語言: 代碼編譯獲得字節碼 ,虛擬機執行字節碼並轉換成機器碼再後在處理器上執行。(其餘高級語言--》字節碼--》機器碼--》計算機)

 

5.python的種類 

  • Cpython
        Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。
  • Jyhton
        Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。
  • IronPython
        Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)
  • PyPy(特殊)
        Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
  • RubyPython、Brython ...

以上除PyPy以外,其餘的Python的對應關係和執行流程以下:

 

PyPy,在Python的基礎上對Python的字節碼進一步處理,從而提高執行速度!

最經常使用的是Cpython,代碼-》C字節碼-》機器碼(逐行)
pypy:代碼-》C字節碼-》機器碼(所有轉換完)-》執行
其餘python:代碼-》其餘字節碼-》機器碼

 

 

2、Python的基礎

1.python的安裝(MAC)

可參考網站

 

https://github.com/pyenv/pyenv
https://github.com/pyenv/pyenv-virtualenv
https://www.cnhzz.com/pyenv_virtualenv_virtaulenvwrapper/

 

pyenv virtualenv 3.5.3 py3           #建立一個 Python 版本爲 3.5.3 的環境, 環境叫作 py3 pyenv activate py3 #激活 py3 這個環境, 此時 Python 版本自動變爲 3.5.3, 且是獨立環境 pyenv deactivate #離開已經激活的環境

 

 

 

2.第一句Python代碼

 

在 /home/dev/ 目錄下建立 hello.py 文件,內容以下:

1 print "hello,world"

 

執行 hello.py 文件,即: python /home/dev/hello.py

 

python內部執行過程以下:

 

 

 

3.解釋器

 

上一步中執行 python /home/dev/hello.py 時,明確的指出 hello.py 腳本由 python 解釋器來執行。

 

若是想要相似於執行shell腳本同樣執行python腳本,例: ./hello.py ,那麼就須要在 hello.py 文件的頭部指定解釋器,以下:

1 #!/usr/bin/env python 
2 print "hello,world"

 

如此一來,執行: ./hello.py 便可。

補充:

①執行前需給予 hello.py 執行權限,chmod 755 hello.py

②腳本語言的第一行,目的就是指出,你想要你的這個文件中的代碼用什麼可執行程序去運行它,就這麼簡單
#!/usr/bin/Python是告訴操做系統執行這個腳本的時候,調用/usr/bin下的python解釋器;
#!/usr/bin/env python這種用法是爲了防止操做系統用戶沒有將python裝在默認的/usr/bin路徑裏。當系統看到這一行的時候,首先會到env設置裏查找python的安裝路徑,再調用對應路徑下的解釋器程序完成操做。
#!/usr/bin/python至關於寫死了python路徑;
#!/usr/bin/env python會去環境設置尋找python目錄,推薦這種寫法。

 

4.編碼

 python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼。

注:python3默認utf-8,python2默認是ASCII

 

ASCII(American Standard Code for Information Interchange),是一種單字節的編碼。主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256,因此,ASCII碼最多隻能表示 256 個符號。

顯然ASCII碼沒法將世界上的各類文字和符號所有表示,好比中文,因此,就須要新出一種能夠表明全部字符和符號的編碼,即:Unicode

 

Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是至少2個字節(16位),可能更多

 

gbk,gb2312 ,只適用於中國,支持繁體,中文須要2個字節表示

 

UTF-8,是對Unicode編碼的壓縮和優化,遵循能用最少的表示就用最少的表示,他再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...

 

因此,在寫代碼時,爲了避免出現亂碼,推薦使用UTF-8,會加入 # -*- coding: utf-8 -*-

#!/usr/bin/env python # -*- coding: utf-8 -*-
  
print "你好,世界"

 

5. IDE

pycharm
- 使用
1. new project
2. new 建立文件夾
3. new 建立py文件
4. 在py文件中右鍵, run xx.py
- 文件編碼
- 文件模板
- 改變大小

 

6.註釋

當行注視:# 被註釋內容

 

多行註釋:""" 被註釋內容 """

選中註釋,ctrl+?

 

7.pyc文件

執行Python代碼時,若是導入了其餘的 .py 文件,那麼,執行過程當中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯以後產生的字節碼。

注:代碼通過編譯能夠產生字節碼;字節碼經過反編譯也能夠獲得代碼。

相關文章
相關標籤/搜索