Python基礎(chǔ)篇之初識(shí)Python必看攻略
Python簡介
python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時(shí)間,決心開發(fā)一個(gè)新的腳本解釋程序,作為ABC語言的一種繼承。
Python和其他語言的對(duì)比:
C 和 Python、Java、C#等
C語言: 代碼編譯得到 機(jī)器碼 ,機(jī)器碼在處理器上直接執(zhí)行,每一條指令控制CPU工作
其他語言: 代碼編譯得到 字節(jié)碼 ,虛擬機(jī)執(zhí)行字節(jié)碼并轉(zhuǎn)換成機(jī)器碼再后在處理器上執(zhí)行
Python 和 C Python這門語言是由C開發(fā)而來
對(duì)于使用:Python的類庫齊全并且使用簡潔,如果要實(shí)現(xiàn)同樣的功能,Python 10行代碼可以解決,C可能就需要100行甚至更多.
對(duì)于速度:Python的運(yùn)行速度相較與C,絕逼是慢了
Python 和 Java、C#等
對(duì)于使用:Linux原裝Python,其他語言沒有;以上幾門語言都有非常豐富的類庫支持
對(duì)于速度:Python在速度上可能稍顯遜色
所以,Python和其他語言沒有什么本質(zhì)區(qū)別,其他區(qū)別在于:擅長某領(lǐng)域、人才豐富、先入為主。
Python的種類
•Cpython
Python的官方版本,使用C語言實(shí)現(xiàn),使用最為廣泛,CPython實(shí)現(xiàn)會(huì)將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。
•Jyhton
Python的Java實(shí)現(xiàn),Jython會(huì)將Python代碼動(dòng)態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行。
•IronPython
Python的C#實(shí)現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運(yùn)行。(與Jython類似)
•PyPy(特殊)
Python實(shí)現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。
•RubyPython、Brython ...
安裝Python
windows:
1、下載安裝包
https://www.python.org/downloads/
2、安裝
默認(rèn)安裝路徑:C:\python27
3、配置環(huán)境變量
【右鍵計(jì)算機(jī)】--》【屬性】--》【高級(jí)系統(tǒng)設(shè)置】--》【高級(jí)】--》【環(huán)境變量】--》【在第二個(gè)內(nèi)容框中找到 變量名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python27,切記前面有分號(hào)
linux:
無需安裝,原裝Python環(huán)境
ps:如果自帶2.6,請(qǐng)更新至2.7
更新Python
windows:
卸載重裝即可
linux:
查看默認(rèn)Python版本
python -V
1、安裝gcc,用于編譯Python源碼
yum install gcc
2、下載源碼包,https://www.python.org/ftp/python/
3、解壓并進(jìn)入源碼文件
4、編譯安裝
./configure
make all
make install
5、查看版本
/usr/local/bin/python2.7 -V
6、修改默認(rèn)Python版本
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum執(zhí)行異常,修改yum使用的Python版本
vi /usr/bin/yum
將頭部 #!/usr/bin/python 修改為 #!/usr/bin/python2.6
Python入門
一、解釋器
如果想要類似于執(zhí)行shell腳本一樣執(zhí)行python腳本,例: ./hello.py ,那么就需要在 hello.py 文件的頭部指定解釋器,如下:
#!/usr/bin/env python print "hello,world"
ps:執(zhí)行前需給予 hello.py 執(zhí)行權(quán)限,chmod 755 hello.py
二、內(nèi)容編碼
python解釋器在加載 .py 文件中的代碼時(shí),會(huì)對(duì)內(nèi)容進(jìn)行編碼(默認(rèn)ascill)
ASCII(American Standard Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言,其最多只能用 8 位來表示(一個(gè)字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個(gè)符號(hào)。
顯然ASCII碼無法將世界上的各種文字和符號(hào)全部表示,所以,就需要新出一種可以代表所有字符和符號(hào)的編碼,即:Unicode
Unicode(統(tǒng)一碼、萬國碼、單一碼)是一種在計(jì)算機(jī)上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,規(guī)定雖有的字符和符號(hào)最少由 16 位來表示(2個(gè)字節(jié)),即:2 **16 = 65536,
注:此處說的的是最少2個(gè)字節(jié),可能更多
UTF-8,是對(duì)Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個(gè)字節(jié),而是將所有的字符和符號(hào)進(jìn)行分類:ascii碼中的內(nèi)容用1個(gè)字節(jié)保存、歐洲的字符用2個(gè)字節(jié)保存,東亞的字符用3個(gè)字節(jié)保存...
所以,python解釋器在加載 .py 文件中的代碼時(shí),會(huì)對(duì)內(nèi)容進(jìn)行編碼(默認(rèn)ascill),如果是如下代碼的話:
報(bào)錯(cuò):ascii碼無法表示中文
#!/usr/bin/env python print "你好,世界"
改正:應(yīng)該顯示的告訴python解釋器,用什么編碼來執(zhí)行源代碼,即:
#!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界"
三、注釋
當(dāng)行注視:# 被注釋內(nèi)容
多行注釋:""" 被注釋內(nèi)容 """
四、執(zhí)行腳本傳入?yún)?shù)
Python有大量的模塊,從而使得開發(fā)Python程序非常簡潔。類庫有包括三中:
•Python內(nèi)部提供的模塊
•業(yè)內(nèi)開源的模塊
•程序員自己開發(fā)的模塊
Python內(nèi)部提供一個(gè) sys 的模塊,其中的 sys.argv 用來捕獲執(zhí)行執(zhí)行python腳本時(shí)傳入的參數(shù)
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys print sys.argv
五、 pyc 文件
執(zhí)行Python代碼時(shí),如果導(dǎo)入了其他的 .py 文件,那么,執(zhí)行過程中會(huì)自動(dòng)生成一個(gè)與其同名的 .pyc 文件,該文件就是Python解釋器編譯之后產(chǎn)生的字節(jié)碼。
ps:代碼經(jīng)過編譯可以產(chǎn)生字節(jié)碼;字節(jié)碼通過反編譯也可以得到代碼。
六、變量
1、聲明變量
#!/usr/bin/env python # -*- coding: utf-8 -*- name = "zhangyanlin"
上述代碼聲明了一個(gè)變量,變量名為: name,變量name的值為:"zhangyanlin"
變量定義的規(guī)則:
變量名只能是 字母、數(shù)字或下劃線的任意組合變量名的第一個(gè)字符不能是數(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/bin/env python # -*- coding: utf-8 -*- # 將用戶輸入的內(nèi)容賦值給 name 變量 name = raw_input("請(qǐng)輸入用戶名:") # 打印輸入的內(nèi)容 print name
輸入密碼時(shí),如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
#!/usr/bin/env python # -*- coding: utf-8 -*- import getpass # 將用戶輸入的內(nèi)容賦值給 name 變量 pwd = getpass.getpass("請(qǐng)輸入密碼:") # 打印輸入的內(nèi)容 print pwd
八、流程控制和縮進(jìn)
需求一、用戶登陸驗(yàn)證
#!/usr/bin/env python # -*- coding: encoding -*- # 提示輸入用戶名和密碼 # 驗(yàn)證用戶名和密碼 # 如果錯(cuò)誤,則輸出用戶名或密碼錯(cuò)誤 # 如果成功,則輸出 歡迎,XXX! import getpass name = raw_input('請(qǐng)輸入用戶名:') pwd = getpass.getpass('請(qǐng)輸入密碼:') if name == "zhangyanlin" and pwd == "123456": print "歡迎,zhangyanlin!" else: print "用戶名和密碼錯(cuò)誤"
九、while循環(huán)
1、基本循環(huán)
while 條件: # 循環(huán)體 # 如果條件為真,那么循環(huán)體則執(zhí)行 # 如果條件為假,那么循環(huán)體不執(zhí)行
2、break
break用于退出所有循環(huán)
while True: print 123 break
3、continue
continue用于退出當(dāng)前循環(huán),繼續(xù)下一次循環(huán)
while True: print 123 continue
4.#列出100之內(nèi)所有的奇數(shù)
odd = 1 while odd <= 100: print(odd) odd += 2
5.#列出100之內(nèi)所有的偶數(shù)
even = 0 while even <= 100: print (even) even += 2
6.算出1-2+3-4....+99的和
#排除99剩余49組1減2 u1 =49 print(u1*(1-2)+99)
or
#列出1-99所有數(shù)的和 start=1 sum = 0 while start < 100: temp = start %2 if temp == 1: sum = sum+start else sum=sum-start start+=1 print(sum)
以上就是小編為大家?guī)淼腜ython基礎(chǔ)篇之初識(shí)Python必看攻略全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Python進(jìn)程間通信 multiProcessing Queue隊(duì)列實(shí)現(xiàn)詳解
這篇文章主要介紹了python進(jìn)程間通信 mulitiProcessing Queue隊(duì)列實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09關(guān)于WARNING:Ignoring?invalid?distribution?-pencv-python....
這篇文章主要給大家介紹了關(guān)于WARNING:Ignoring?invalid?distribution?-pencv-python....警告信息的處理方法,文中通過圖文將解決的辦法介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-03-03flask框架json數(shù)據(jù)的拿取和返回操作示例
這篇文章主要介紹了flask框架json數(shù)據(jù)的拿取和返回操作,結(jié)合實(shí)例形式分析了flask框架針對(duì)json格式數(shù)據(jù)的解析、數(shù)據(jù)庫操作與輸出等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11python內(nèi)建類型與標(biāo)準(zhǔn)類型
這篇文章主要介紹了python內(nèi)建類型與標(biāo)準(zhǔn)類型,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù))
這篇文章主要介紹了python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Python實(shí)現(xiàn)自動(dòng)整理表格的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)自動(dòng)整理表格的功能,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03