01-初識python

介紹python以前,先來講一下編譯型語言和解釋型語言,面向對象和麪向過程的區別:
 

編譯型語言和解釋型語言

計算機高級語言按照程序的執行方式能夠分爲編譯型語言和解釋型語言。

編譯型語言:是指代碼寫好之後,須要使用專門的編譯器進行編譯,一次性將代碼轉換成特定的系統平臺(操做系統)能夠識別並運行的機器語言(機器碼)。python

優勢:編譯器通常會有預編譯的過程對代碼進行優化。在運行代碼以前,對其編譯只作一次,生成一個系統可直接運行的機器碼文件,運行時不須要再次編譯,因此編譯型語言的程序執行效率高,能夠脫離語言環境獨立運行。linux

缺點:編譯以後若是須要修改,就須要整個模塊從新編譯,編譯的時候根據對應的運行環境(操做系統)生成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執行文件。c++

好比c, c++, Go, Swift, Object-C, Pascal...算法


解釋型語言:是指代碼寫好之後,須要使用該語言的解釋器將代碼轉換成一種易於執行的中間代碼(字節碼),而後再將字節碼轉換成特定的系統平臺可識別的機器碼,能夠這樣理解:每次執行解釋型語言的程序都須要進行一次編譯,才能夠放到特定的系統中去運行。編程

優勢:有良好的平臺兼容性,在任何環境中均可以運行,前提是安裝了對應平臺的解釋器,具備靈活性,修改代碼的時候直接修改源代碼,而後作一下轉換工做就能夠,能夠快速部署,不用停機維護。windows

缺點:每次運行的時候都要解釋轉換一遍,不能生成系統平臺直接可運行的程序,性能上不如編譯型語言。

好比JavaScript, Python, Ruby, PHP, Perl, Eriang...瀏覽器

 
舉個例子:
A和B是兩個國家的人,由於語言不通沒法交流。若是想要彼此交流,聽懂對方的語言,就須要翻譯。編譯型語言就是A學會了B的語言,交流的時候,直接將本身的想法用B的語言說出來,這樣B就能直接聽懂,反之易然;解釋型語言呢,就是A本身找了一個懂得多國語言的翻譯官,想要表達本身的意思,須要先跟這個翻譯官說,而後這個翻譯官在把A的意思,翻譯給B聽,因爲中間多了一個翻譯的過程,速度上要比編譯型語言慢一些,可是好處也是有的,就是這個翻譯官懂得多種語言,A要和其餘國家的人交流,直接找他就行,可是編譯型語言呢,你要想跟C交流,首先本身要學會C的語言才行,大概就是這個意思吧。
 

面向對象和面向過程

面向對象:以數據爲重心,全部的處理代碼都是圍繞數據展開,數據即對象;就是一件事‘讓誰來作’,這個‘誰’就是對象,他要怎麼作是他本身的事,反正最後一羣對象協力能把這件事作好就好了;好比,本身組裝電腦
 
面向過程:以指令爲中心,由指令處理數據,這些指令構成了過程;就是一件事該怎麼作,由誰來作咱們無論,可是你必須按照咱們規定的步驟去作就好了;好比本身造電腦
 

Python簡介

python創始人是Guido van Rossum(吉多.範羅蘇姆),於1989年開發,1991年公開發行;函數

python是一種解釋型、面向對象(也支持面向過程)、動態數據類型的高級程序設計腳本語言,語法簡潔清晰,採用縮進來定義語句塊,具有來及自動回收功能,可以自動管理內存空間使用,python虛擬機自己幾乎適用於全部系統,使用諸如py2exe、PyPy、Pyinstaller之類的工具可將源代碼轉換成脫離python解釋器執行的程序,這裏咱們主要參考的是CPython,是基於C語言開發的一種自由編程軟件。工具

python重要思想:一切皆對象
 

Python的分類

Cpython性能

    Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。

Jyhton

    Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。

IronPython

    Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)

Shed Skin

    Python編譯器,可以將python代碼轉換成優化的C++代碼

PyPy(特殊)

    Python實現的Python解釋器,將Python的字節碼字節碼再編譯成機器碼。

    Python語言的動態編譯器,是Psyco的後繼項目

    可運行在linux,MacOSX(32),Windows(32)平臺中

其餘

RubyPython、Brython ...

 

python能作什麼

腳本

自動執行常見的管理任務,如在系統中新增用戶,將文件上傳到網站,在不使用瀏覽器的狀況下下載網頁等。

 

網站開發

做爲快速建立動態網站的工具,Django,Bottle,Zope等衆多Python項目深受開發人員的歡迎。

 

文本處理

Python在字符串和文本文件處理方面提供了強大支持,包括正則和Unicode

 

科學計算

Python科學計算庫,提供了用於統計,數學計算和繪圖的函數

 

Python的優缺點

優勢

簡單易學,入門容易。

高級語言,無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

可移植性,你的全部python程序無需修改就幾乎能夠在市場上全部的系統平臺上運行。

可擴展性,若是你須要你的一段關鍵代碼運行的更快或者但願某些算法不公開,你能夠把你的部分程序用c或c++編寫,而後在你的python程序中使用它們。

可嵌入性,你能夠把python嵌入你的c/c++程序,從而向你的程序用戶提供腳本功能。

 
缺點
速度慢;代碼不能加密;線程不能利用多cpu問題;
 

python的運行方式

1,交互式解釋器

直接啓用python自帶的解釋器,也就是一個命令行窗口,能夠直接執行python代碼,通常做爲調試代碼用,而且,執行完之後,難以再次運行

例如:

 

2,python程序文件

將python代碼保存到一個文件中,並以.py結尾,能夠方便屢次運行

例如:新建一個名字爲test的.py文件,內容以下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import platform
print platform.uname()
#第一行爲shebang,指定執行下面內容的解釋器 #第二行指定編碼格式,python2默認爲ascii #第三行經過import來導入一個python的模塊platform #第四行打印platform模塊的uname方法的執行結果

模塊:事先寫好的能夠被調用的函數集合的程序文件

腳本:用於調用模塊而且運行的程序文件,即python整個程序構成的全部文件的頂層文件(入口)

 

windows系統運行方式

打開命令提示符[dos],輸入python,進入python解釋器,直接輸入代碼,回車便可運行,如:

 
也能夠事先把代碼寫進一個文件中,而後在這裏直接調用執行此文件便可,如:

python的程序文件

可分解成模塊,語句,表達式和對象,它們的關係是:

程序由模塊構成,模塊包含語句,語句包含表達式,表達式創建並處理對象

例如:

1+1,是某件事,即表達式

print(1+1) 是作某件事,即語句

 

Python註釋

Python中單行註釋採用#開頭,多行註釋採用三個單引號(''' ... ''')或三個雙引號(""" ... """)引發來;

註釋也能夠用在行的結尾,用來表示註釋信息;

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#FileName:hello.py
#這是單行註釋
'''
這是多行註釋
這是多行註釋
這是多行註釋
'''
"""
這是多行註釋
這是多行註釋
這是多行註釋
"""

.pyc文件

執行python代碼時,若是導入了其餘的.py文件,那麼在其執行過程當中會自動生成一個同名的.pyc文件,該文件就是python解釋器編譯後產生的字節碼文件,代碼通過編譯能夠產生字節碼,字節碼經過反編譯也能夠獲得代碼。

 

行和縮進

python的代碼塊使用縮進來控制類、函數及其餘邏輯判斷的模塊,這也是python不一樣於其餘語言的地方。

如:

if Ture:
    print ("True")  #前面以空格縮進:
elseprint ("False") #前面以空格縮進

注意:行首縮進的空格數量是可變的,但必須保證全部的代碼塊語句,縮進的空格數是一致的,建議在每一個縮進層次使用單個製表符或兩個空格或四個空格,切記不能混用。

相關文章
相關標籤/搜索