1. 程式人生 > >Lesson 008 —— python 初識

Lesson 008 —— python 初識

整數 輸入數據 元組 垃圾 字符串 images filename 取模 指數

Lesson 008 —— python 初識

python 文件

  1. python 文件名

    Python 文件名的後綴可以是任意的,但是,之後導入我們的模塊的時候,如果文件後綴名不是 .py ,那麽會報錯,所以,python 文件的後綴名是 .py

  2. python 執行文件

    1. python 命令之後接文件的位置及文件名;
    2. python 命令進入解釋器,實時輸入並執行獲取結果
    3. linux 下可以使用命令:./filename.py
  3. python 文件指定解釋器與文件編碼格式

    ### 指定解釋器
    # 1. 必須是文件的第一行
    # 2. 必須以 #! 開頭
    # 3. 後面是解釋器的全路徑名
    
    #!/bin/sh           # shell腳本
    #!/usr/bin/perl     # perl腳本
    #!/usr/bin/python   # python腳本
    #!/usr/bin/python3  # python3腳本
    #!/usr/bin/python2  # python2腳本
    
    # 不清楚全路徑,或者開發環境與運行環境路徑不同,為了保證兼容性,
    # 也可以寫作:(執行時會自動搜索解釋器的絕對路徑)
    #!/usr/bin/env python3
    
    
    ### 指定編碼格式(針對 python2)
    # 使用一種特殊的註釋來聲明編碼格式,如何判斷這種格式也用了很簡單粗暴有效的辦法--正則表達式;正則表達式如下:(匹配編碼方式使用了Python自帶的codecs模塊。)
    ^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)
    
    # 以下方式都可以:
    # -*- coding:utf-8 -*-   # Emacs 推薦寫法
    # coding=utf-8 
    # -*- coding=utf-8 -*-

輸入與輸出

  1. input(): 輸入函數

    # input() 函數接受一個標準輸入數據,返回為 string 類型。
    # input(提示信息)
    
    >>>a = input("input:")
    input:123                  # 輸入整數
  2. print(): 輸出函數

    # print() 函數輸出字符串和數字
    
    >>>print("runoob")  # 輸出字符串
    runoob 
    >>> print(100)            # 輸出數字
    100
    >>> str = ‘runoob‘
    >>> print(str)            # 輸出變量
    runoob

python 變量

變量的定義:

level = 1 

# level : 變量名, = :賦值符號,1 :值

變量的規則:

數字,字母,下劃線, 任意組合,數字不能開頭,python 的關鍵字不能用,變量名盡量有意義。(變量表示的某種意義)

python 關鍵字和內置的類、函數不能用作變量名

資源回收機制:

python 有一個資源回收機制,引用計數為 0 ,會被python的垃圾回收機制定期自動回收釋放空間。

python 創建變量並不是存儲變量的值,變量存儲的是值的地址,類似於 C 語言的指針。

python 關鍵字

>>> import keyword
>>> keyword.kwlist
[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘async‘, ‘await‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

基本數據類型

python 中的六個標準的數據類型:

  • Number(數字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

python 的六個數據類型中

  • 不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
  • 可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。

python 基本運算符號

  1. 算數運算符

    + 加:   10 + 20 = 30 
    - 減:   10 - 20 = -10 
    * 乘:   10 * 20 = 200
    / 除:   10 / 20 = 0.5
    // 取整除:   9 // 2 = 4
    % 取余數:   9 % 2 = 1
    ** 冪:   2 ** 3 = 8
  2. 邏輯運算符

    and
    只有 x 和 y 的值都為 True,才會返回 True;否則只要 x 或者 y 有一個值為 False,就返回 False
    
    or
    只要 x 或者 y 有一個值為 True,就返回 True;只有 x 和 y 的值都為 False,才會返回 False
    
    not
    如果 x 為 True,返回 False;如果 x 為 False,返回 True
  3. 賦值運算符

    (=) 賦值運算符
    (+=)加法賦值運算符 ——c += a 等效於 c = c + a
    (-=)減法賦值運算符 ——c -= a 等效於 c = c - a
    (*= )乘法賦值運算符 ——c = a 等效於 c = c a
    (/= )除法賦值運算符 ——c /= a 等效於 c = c / a
    (//=)取整除賦值運算符 ——c //= a 等效於 c = c // a
    (%=)取模 (余數)賦值運算符 ——c %= a 等效於 c = c % a
    (**=)冪賦值運算符 ——c = a 等效於 c = c a
  4. 比較運算符

    ==   等於 - 比較對象是否相等
    !=   不等於 - 比較兩個對象是否不相等
    >    大於 - 返回x是否大於y
    <    小於 - 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。註意,這些變量名的大寫。
    >=   大於等於 - 返回x是否大於等於y。
    <=   小於等於 - 返回x是否小於等於y。
  5. 位運算符

    &    按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
    |    按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。
    ^    按位異或運算符:當兩對應的二進位相異時,結果為1
    ~    按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1。~x 類似於 -x-1。
    <<   左移動運算符:運算數的各二進位全部左移若幹位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0
    >>   右移動運算符:把">>"左邊的運算數的各二進位全部右移若幹位,">>"右邊的數指定移動的位數
  6. 成員運算符

    in   如果在指定的序列中找到值返回 True,否則返回 False。
    not in   如果在指定的序列中沒有找到值返回 True,否則返回 False。
  7. 身份運算符

    身份運算符用於比較兩個對象的存儲單元

    is   is 是判斷兩個標識符是不是引用自一個對象。x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
    is not   is not 是判斷兩個標識符是不是引用自不同對象
  8. 運算符優先級

    第一級: **  指數 (最高優先級)
    第二級: ~ + -   按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)
    第三級: * / % //    乘,除,取模和取整除
    第四級: + - 加法減法
    第五級: >> <<   右移,左移運算符
    第六級: &   位 ‘AND‘
    第七級: ^ | 位運算符
    第八級: <= < > >=   比較運算符
    第九級: == !=   等於運算符
    第十級:= %= /= //= -= += *= **= 賦值運算符
    第十一級: is is not  身份運算符
    第十二級: in not in  成員運算符
    第十三級: and or not 邏輯運算符

條件語句

Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。

條件語句流程圖:

技術分享圖片

條件語句格式:

if condition:
    pass   # 條件為真執行;pass是空語句,是為了保持程序結構的完整性,不做任何事情,一般用做占位語句。
else:
    pass   # 條件為假執行

或

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
    
# 縮進四個空格,即一個 TAB 鍵,python 使用縮進表示代碼塊
# 如果 "condition_1" 為 True 將執行 "statement_block_1" 塊語句
# 如果 "condition_1" 為False,將判斷 "condition_2"
# 如果"condition_2" 為 True 將執行 "statement_block_2" 塊語句
# 如果 "condition_2" 為False,將執行"statement_block_3"塊語句

註意:
1、每個條件後面要使用冒號 :,表示接下來是滿足條件後要執行的語句塊。
2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。
3、在Python中沒有switch – case語句。
4. 條件語句可嵌套

循環語句

Python中的循環語句有 for 和 while。可嵌套。

Python循環語句的控制結構圖如下所示:

技術分享圖片

while 循環

# 需要註意冒號和縮進。另外,在Python中沒有do..while循環。
while 判斷條件:
    語句   # 條件為真執行
    
### while 循環使用 else 語句
# 在 while … else 在條件語句為 false 時執行 else 的語句塊:

#!/usr/bin/python3 
count = 0
while count < 5:
   print (count, " 小於 5")
   count = count + 1
else:
   print (count, " 大於或等於 5")

# 結果:
0  小於 5
1  小於 5
2  小於 5
3  小於 5
4  小於 5
5  大於或等於 5

for 循環

Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

for循環的一般格式如下:

# for 循環在條件為假時執行 else 語句
# break 語句用於跳出當前的循環
for <variable> in <sequence>:
    <statements>
else:
    <statements>
    
# 實例
#!/usr/bin/python3 
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鳥教程!")
        break
    print("循環數據 " + site)
else:
    print("沒有循環數據!")
print("完成循環!")

# 結果
循環數據 Baidu
循環數據 Google
菜鳥教程!
完成循環!

break,continue,else 子句

break: 跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行。

continue: 用來告訴Python跳過當前循環塊中的剩余語句,然後繼續進行下一輪循環。

else 子句: 循環語句可以有 else 子句,它在窮盡列表(以for循環)或條件變為 false (以while循環)導致循環終止時被執行,但循環被break終止時不執行。

pass: Python pass是空語句,是為了保持程序結構的完整性。pass 不做任何事情,一般用做占位語句。

Lesson 008 —— python 初識