Python學習【02】Python基礎

來源:互聯網
上載者:User

標籤:壓縮   windows   assert   方案   inf   code   world   使用者名稱   關鍵字   

一、Python內部執行過程

 

 

 

 

 

 

 

 

 

 

 

二、解譯器

指定由Python解譯器執行Python指令碼

如果想類似執行shell指令碼一樣執行hello.py指令碼,例如: ./hello.py ,那麼需要在hello.py檔案的頭部指定解譯器,如下:

#!/usr/bin/env pythonprint("hello,world")

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

注意:執行前需要給予 hello.py 執行許可權,chmod 755 hello.py

 

Python互動式環境的提示符: >>>

Windows命令列模式的提示符: C:>

在Python互動式環境下直接輸入代碼,按斷行符號,就可以立刻得到代碼執行結果,但是在命令列模式下,執行 Python ##.py檔案時,並不會。

在命令列模式下,可以執行python進入Python互動式環境,也可以執行python hello.py運行一個.py檔案

 

兩種文字編輯器:Sublime Text 、 Notepad++

執行python檔案,在命令列中,切換到該Python檔案所在的目錄下,然後輸入 Python ###.py命令就可以了。

 

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

Python互動模式主要是為了調試Python代碼用的,也便於初學者學習,它不是正式運行Python代碼的環境!

 

Python的互動模式直接運行.py檔案有什麼區別呢?

直接輸入python進入互動模式,相當於啟動了Python解譯器,但是等待你一行一行地輸入原始碼,每輸入一行就執行一行。

直接運行.py檔案相當於啟動了Python解譯器,然後一次性把.py檔案的原始碼給執行了,你是沒有機會以互動的方式輸入原始碼的。

 

三、內容編碼

python解譯器在載入 .py 檔案中的代碼時,會對內容進行編碼(預設ascill)

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

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

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

 

報錯:ascii碼無法表示中文

1 #!/usr/bin/env python2   3 print "你好,世界"

改正:應該顯示的告訴python解譯器,用什麼編碼來執行原始碼,即:

1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3   4 print "你好,世界"

 

 

四、注釋

  當行注視:# 被注釋內容

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

 

五、執行指令碼傳入參數

Python有大量的模組,類庫有三種:

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

例如:

Python內部提供一個 sys 的模組,其中的 sys.argv 用來捕獲執行執行python指令碼時傳入的參數

1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3   4 import sys5   6 print sys.argv

 

六、pyc檔案

執行Python代碼時,如果匯入了其他的 .py 檔案,那麼,執行過程中會自動產生一個與其同名的 .pyc 檔案,該檔案就是Python解譯器編譯之後產生的位元組碼。

注意:代碼經過編譯可以產生位元組碼;位元組碼通過反編譯也可以得到代碼。

 

七、變數

1、聲明變數

name = "tom"

# name:變數名, tom:變數的內容, =:賦值號

變數的作用:通過符號指代記憶體中的某個內容

 

 

 

 

 

 

 

 

 

變數定義的規則:

  • 變數名只能是 字母、數字或底線的任意組合
  • 變數名的第一個字元不能是數字
  • 以下關鍵字不能聲明為變數名
    [‘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‘]

2、變數的賦值

name1 = "wupeiqi"name2 = "alex"

name1 = "wupeiqi"name2 = name1

 

 八、輸入

獲得使用者輸入:input函數

例如:

>>> name = input("請輸入使用者名稱:")請輸入使用者名稱:tom>>> name‘tom‘

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

>>> import getpass>>> pwd = getpass.getpass()Passwd:>>> pwd123456

注意:Python內建的ide不支援隱藏回顯,用Windows的cmd就可以

 

九、流程式控制制和縮排

樣本一:使用者登入驗證

#!/usr/bin/env python# -*- coding: utf-8 -*-  # 載入getpass庫 import getpass  name = input(‘請輸入使用者名稱:‘)pwd = getpass.getpass(‘請輸入密碼:‘)  if name == "tom" and pwd == "111111":    print "歡迎,tom!"else:    print "使用者名稱和密碼錯誤"

樣本二:根據使用者輸入內容輸出其許可權

# 根據使用者輸入內容列印其許可權  # alex --> 超級管理員# eric --> 普通管理員# tony,rain --> 業務主管# 其他 --> 普通使用者name = raw_input(‘請輸入使用者名稱:‘)  if name == "alex":    print "超級管理員"elif name == "eric":    print "普通管理員"elif name == "tony" or name == "rain":    print "業務主管"else:    print "普通使用者"

 

十、while迴圈

1、基本迴圈

while <條件>:    <迴圈體># 如果條件為真,執行迴圈體# 如果條件為假,不執行迴圈體

2、

break:結束迴圈

continue:跳過當前迴圈,直接開始下一次迴圈

要特別注意,不要濫用break和continue語句。break和continue會造成代碼執行邏輯分叉過多,容易出錯。大多數迴圈並不需要用到break和continue語句,上面的兩個例子,都可以通過改寫迴圈條件或者修改迴圈邏輯,去掉break和continue語句。

有些時候,如果代碼寫得有問題,會讓程式陷入“死迴圈”,也就是永遠迴圈下去。這時可以用Ctrl+C退出程式,或者強制結束Python進程。

 

Python學習【02】Python基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.