《Python基礎篇》之初識Python一


Python簡介 

python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。  

 

Python和其他語言的對比:

C 和 Python、Java、C#等

    C語言: 代碼編譯得到 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工作

其他語言: 代碼編譯得到 字節碼 ,虛擬機執行字節碼並轉換成機器碼再后在處理器上執行

Python 和 C  Python這門語言是由C開發而來

  對於使用:Python的類庫齊全並且使用簡潔,如果要實現同樣的功能,Python 10行代碼可以解決,C可能就需要100行甚至更多.
  對於速度:Python的運行速度相較與C,絕逼是慢了

Python 和 Java、C#等

  對於使用:Linux原裝Python,其他語言沒有;以上幾門語言都有非常豐富的類庫支持
  對於速度:Python在速度上可能稍顯遜色

所以,Python和其他語言沒有什么本質區別,其他區別在於:擅長某領域、人才豐富、先入為主。

 

Python的種類

    1. Cpython
          Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然后運行在Python虛擬機上。
    2. Jyhton
          Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然后在JVM上運行。
    3. IronPython
          Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然后在CLR上運行。(與Jython類似)
    4. PyPy(特殊)
          Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
    5. RubyPython、Brython ...

安裝Python

windows:
  
1、下載安裝包
    https://www.python.org/downloads/
2、安裝
    默認安裝路徑:C:\python27
3、配置環境變量
    【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
    如:原來的值;C:\python27,切記前面有分號

linux:

無需安裝,原裝Python環境
  
ps:如果自帶2.6,請更新至2.7

更新Python

windows:

卸載重裝即可

linux:

查看默認Python版本
python -V
  
1、安裝gcc,用於編譯Python源碼
    yum install gcc
2、下載源碼包,https://www.python.org/ftp/python/
3、解壓並進入源碼文件
4、編譯安裝
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默認Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum執行異常,修改yum使用的Python版本
    vi /usr/bin/yum
    將頭部 #!/usr/bin/python 修改為 #!/usr/bin/python2.6

 

Python入門

 

一、解釋器

如果想要類似於執行shell腳本一樣執行python腳本,例: ./hello.py ,那么就需要在 hello.py 文件的頭部指定解釋器,如下:

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

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

 

二、內容編碼

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

ASCII(American Standard Code for Information Interchange,美國標准信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。

顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode

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

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

所以,python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),如果是如下代碼的話:

報錯:ascii碼無法表示中文

#!/usr/bin/env python
  
print "你好,世界"

改正:應該顯示的告訴python解釋器,用什么編碼來執行源代碼,即:

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

三、注釋

  當行注視:# 被注釋內容

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

四、執行腳本傳入參數

Python有大量的模塊,從而使得開發Python程序非常簡潔。類庫有包括三中:

  • Python內部提供的模塊
  • 業內開源的模塊
  • 程序員自己開發的模塊

Python內部提供一個 sys 的模塊,其中的 sys.argv 用來捕獲執行執行python腳本時傳入的參數

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
import sys
  
print sys.argv

五、 pyc 文件

執行Python代碼時,如果導入了其他的 .py 文件,那么,執行過程中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯之后產生的字節碼。

ps:代碼經過編譯可以產生字節碼;字節碼通過反編譯也可以得到代碼。

六、變量

1、聲明變量

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
name = "zhangyanlin"

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

變量定義的規則:

  • 變量名只能是 字母、數字或下划線的任意組合
  • 變量名的第一個字符不能是數字
  • 以下關鍵字不能聲明為變量名
    ['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 -*-
  
# 將用戶輸入的內容賦值給 name 變量
name = raw_input("請輸入用戶名:")
  
# 打印輸入的內容
print name

輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
import getpass
  
# 將用戶輸入的內容賦值給 name 變量
pwd = getpass.getpass("請輸入密碼:")
  
# 打印輸入的內容
print pwd

八、流程控制和縮進

需求一、用戶登陸驗證

#!/usr/bin/env python
# -*- coding: encoding -*-
  
# 提示輸入用戶名和密碼
  
# 驗證用戶名和密碼
#     如果錯誤,則輸出用戶名或密碼錯誤
#     如果成功,則輸出 歡迎,XXX!
 
 
import getpass
  
  
name = raw_input('請輸入用戶名:')
pwd = getpass.getpass('請輸入密碼:')
  
if name == "zhangyanlin" and pwd == "123456":
    print "歡迎,zhangyanlin!"
else:
    print "用戶名和密碼錯誤"

九、while循環

1、基本循環

while 條件:
     
    # 循環體
 
    # 如果條件為真,那么循環體則執行
    # 如果條件為假,那么循環體不執行

2、break

break用於退出所有循環

while True:
    print 123
 
    break

3、continue

continue用於退出當前循環,繼續下一次循環

while True:
    print 123
 
    continue

 

 4.#列出100之內所有的奇數

odd = 1
while odd <= 100:

        print(odd)
    odd += 2

 

5.#列出100之內所有的偶數

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所有數的和
start=1
sum = 0
while start < 100:
    temp = start %2
    if temp == 1:
         sum = sum+start
    else
         sum=sum-start
    start+=1
print(sum)

  

 

 

 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM