最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python的由來與使用介紹

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 14:13:59
文檔

Python的由來與使用介紹

Python的由來與使用介紹: Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發(fā)展歷程又是怎樣的呢,下面我們來簡單的了解下。 追溯Python語言的起源,是從20世紀90年代初由Guido van Rossu
推薦度:
導(dǎo)讀Python的由來與使用介紹: Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發(fā)展歷程又是怎樣的呢,下面我們來簡單的了解下。 追溯Python語言的起源,是從20世紀90年代初由Guido van Rossu

Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發(fā)展歷程又是怎樣的呢,下面我們來簡單的了解下。

追溯Python語言的起源,是從20世紀90年代初由Guido van Rossum,在阿姆斯特丹,開發(fā)一個新的腳本解釋程序。不知道Guido當初有沒有想到,Python有一天會成為最受歡迎的程序設(shè)計語言之一呢?

有些人喜歡用膠水語言來形容Python,是因為它可以很輕松的把許多其它語言編寫的模塊結(jié)合在一起,至于過程這里不多講,如果你感興趣隨處都可以查到。要知道的是,國內(nèi)外的許多高校也把python語言做為必修課來學習,并且國內(nèi)的使用Python語言來工作的單位數(shù)量也在增加,會python的程序員可是炙手可熱啊。

問問學過Python語言的朋友們,它有哪些吸引人的地方呢?大多數(shù)人會這樣認為,它是一門容易上手,易讀同時也易維護的語言,所以才會有許許多多的用戶喜歡使用和學習,它真的是一門用途廣泛的語言。

Python語言最基本語法有:縮進、控制語句、表達式、函數(shù)、對象方法、類型和數(shù)學運算。只有學習了python基礎(chǔ)的語法之后,才可以開始正式應(yīng)用的學習,如:圖形處理、數(shù)學處理、文本處理、數(shù)據(jù)庫、WEB編程、爬蟲等等的實際應(yīng)用。

python 3.3是目前最新的版本,但是很多人還是喜歡從python 2開始學習。因為之前也有講過python 3的第三方支持還不完善,學習過程中會遇到莫名的問題。不如從已經(jīng)很完善的python 2開始學習。之后過渡到python 3也是很簡單的。

2017年6月TIOBE編程語言排行榜:

由上圖可見,python語言使用率呈上升趨勢,而排名前三的語言使用率呈下降趨勢。

Python的優(yōu)缺點

優(yōu)點:

  1. Python的定位是“優(yōu)雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復(fù)雜的程序。

  2. 開發(fā)效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現(xiàn)任何功能,Python官方庫里都有相應(yīng)的模塊進行支持,直接下載調(diào)用后,在基礎(chǔ)庫的基礎(chǔ)上再進行開發(fā),大大降低開發(fā)周期,避免重復(fù)造輪子。

  3. 高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細節(jié)

  4. 可移植性————由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就幾乎可以在市場上所有的系統(tǒng)平臺上運行

  5. 可擴展性————如果你需要你的一段關(guān)鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。

  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

缺點:

  1. 速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑于使用Python的主要原因,但其實這里所指的運行速度慢在大多數(shù)情況下用戶是無法直接感知到的,必須借助測試工具才能體現(xiàn)出來,比如你用C運一個程序花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非??鋸埩?,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數(shù)情況下Python已經(jīng)完全可以滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種情況下,當然還是建議你用C去實現(xiàn)的。

  2. 代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應(yīng)該用Python來去實現(xiàn)。

  3. 線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設(shè)計語言解釋器用于同步線程的工具,使得任何時刻僅有一個線程在執(zhí)行,Python的線程是操作系統(tǒng)的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統(tǒng)調(diào)度線程的執(zhí)行。一個python解釋器進程內(nèi)有一條主線程,以及多條用戶程序的執(zhí)行線程。即使在多核CPU平臺上,由于GIL的存在,所以禁止多線程的并行執(zhí)行。關(guān)于這個問題的折衷解決方法,我們在以后線程和進程章節(jié)里再進行詳細探討。

二、Python安裝

windows

1、下載安裝包

2、安裝
安裝在C:Python36
3、配置環(huán)境變量
【右鍵計算機】--》【屬性】--》【高級系統(tǒng)設(shè)置】--》【高級】--》【環(huán)境變量】--》【在第二個內(nèi)容框中找到 變量名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用;分割】

linux:

1.解壓
tar xf Python-3.6.2.tgz
2.編譯安裝
cd Python-3.6.2
./configure --prefix=/usr/local/Python3.6
make
make install
3.配置環(huán)境變量
vim /etc/profile
PATH=/usr/local/Python3.6/bin:$PATH
source /etc/profile
4.測試
python3.6

三、第一個程序(hello,world)

打開pycharm,新建python項目,新建python文件。

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

print("hello,world")

四、變量

變量來源于數(shù)學,是計算機語言中能儲存計算結(jié)果或能表示值抽象概念。變量可以通過變量名訪問。在指令式語言中,變量通常是可變的;但在純函數(shù)式語言(如Haskell)中,變量可能是不可變(immutable)的。在一些語言中,變量可能被明確為是能表示可變狀態(tài)、具有存儲空間的抽象(如在Java和Visual Basic中);但另外一些語言可能使用其它概念(如C的對象)來指稱這種抽象,而不嚴格地定義“變量”的準確外延。

聲明變量

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = "yanglei"
print(name)

上述代碼聲明了一個變量,變量名為: name,變量name的值為:"yanglei"

變量定義的規(guī)則:

  • 變量名只能是 字母、數(shù)字或下劃線的任意組合

  • 變量名的第一個字符不能是數(shù)字

  • 以下關(guān)鍵字不能聲明為變量名 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

  • 五、用戶輸入

    #!/usr/binl/env python
    #encoding: utf-8
    #author: YangLei
    
    input_name = input("Please enter your name: ")
    print("hi,%s" % input_name)

    六、數(shù)據(jù)類型

    1、數(shù)字

    int(整型)

      在32位機器上,整數(shù)的位數(shù)為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647   在64位系統(tǒng)上,整數(shù)的位數(shù)為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807long(長整型)    跟C語言不同,Python的長整數(shù)沒有指定位寬,即:Python沒有限制長整數(shù)數(shù)值的大小,但實際上由于機器內(nèi)存有限,我們使用的長整數(shù)數(shù)值不可能無限大。     注意,自從Python2.2起,如果整數(shù)發(fā)生溢出,Python會自動將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長整數(shù),所以如今在長整數(shù)數(shù)據(jù)后面不加字母L也不會導(dǎo)致嚴重后果了?! ∽⒁猓涸赑ython3里不再有l(wèi)ong類型了,全都是intfloat(浮點型)  浮點數(shù)用來處理實數(shù),即帶有小數(shù)的數(shù)字。類似于C語言中的double類型,占8個字節(jié)(64位),其中52位表示底,11位表示指數(shù),剩下的一位表示符號。2、布爾值  真或假  1 或 03、字符串
    "hello world"

    字符串拼接:

      python中的字符串在C語言中體現(xiàn)為是一個字符數(shù)組,每次創(chuàng)建字符串時候需要在內(nèi)存中開辟一塊連續(xù)的空,并且一旦需要修改字符串的話,就需要再次開辟空間,萬惡的+號每出現(xiàn)一次就會在內(nèi)從中重新開辟一塊空間。字符串格式化輸出
    #!/usr/binl/env python
    #encoding: utf-8
    #author: YangLei
    
    name = "yanglei"
    print("hi,%s" % name)
    
    #
    輸出hi,yanglei

    注:字符串是 %s;整數(shù) %d;浮點數(shù)%f

    字符串常用功能:
  • 移除空白

  • 分割

  • 長度

  • 索引

  • 切片

  • 4、列表創(chuàng)建列表:
    #!/usr/binl/env python
    #encoding: utf-8
    #author: YangLei
    
    name = ["yanglei","jack","marry","andy"]

    基本操作:

  • 索引

  • 切片

  • 追加

  • 刪除

  • 長度

  • 切片

  • 循環(huán)

  • 包含

  • 5、字典(無序)

    創(chuàng)建字典:
    #!/usr/binl/env python
    #encoding: utf-8
    #author: YangLei
    
    user_info = {"name":"yanglei","age":23,"job":"IT"}

    常用操作:

  • 索引

  • 新增

  • 刪除

  • 鍵、值、鍵值對

  • 循環(huán)

  • 長度

  • 七、數(shù)據(jù)運算  

    算數(shù)運算:

    比較運算:

    賦值運算:

    邏輯運算:

    成員運算:

    身份運算:

    位運算:

    運算符優(yōu)先級:

      

    八、if判斷

    場景一、用戶登陸驗證

    #!/usr/binl/env python
    #encoding: utf-8
    #author: YangLei
    
    input_user = input("Please enter your user name: ")
    input_password = input("Please enter your password: ")
    if input_user == "yanglei" and input_password == "123456":
     print("