Lesson 008 —— python 初識
Lesson 008 —— python 初識
python 文件
python 文件名
Python 文件名的後綴可以是任意的,但是,之後導入我們的模塊的時候,如果文件後綴名不是
.py
,那麽會報錯,所以,python 文件的後綴名是.py
。python 執行文件
- python 命令之後接文件的位置及文件名;
- python 命令進入解釋器,實時輸入並執行獲取結果
- linux 下可以使用命令:
./filename.py
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 -*-
輸入與輸出
input()
: 輸入函數# input() 函數接受一個標準輸入數據,返回為 string 類型。 # input(提示信息) >>>a = input("input:") input:123 # 輸入整數
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 基本運算符號
算數運算符
+ 加: 10 + 20 = 30 - 減: 10 - 20 = -10 * 乘: 10 * 20 = 200 / 除: 10 / 20 = 0.5 // 取整除: 9 // 2 = 4 % 取余數: 9 % 2 = 1 ** 冪: 2 ** 3 = 8
邏輯運算符
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
賦值運算符
(=) 賦值運算符 (+=)加法賦值運算符 ——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
比較運算符
== 等於 - 比較對象是否相等 != 不等於 - 比較兩個對象是否不相等 > 大於 - 返回x是否大於y < 小於 - 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。註意,這些變量名的大寫。 >= 大於等於 - 返回x是否大於等於y。 <= 小於等於 - 返回x是否小於等於y。
位運算符
& 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 | 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。 ^ 按位異或運算符:當兩對應的二進位相異時,結果為1 ~ 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1。~x 類似於 -x-1。 << 左移動運算符:運算數的各二進位全部左移若幹位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0 >> 右移動運算符:把">>"左邊的運算數的各二進位全部右移若幹位,">>"右邊的數指定移動的位數
成員運算符
in 如果在指定的序列中找到值返回 True,否則返回 False。 not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。
身份運算符
身份運算符用於比較兩個對象的存儲單元
is is 是判斷兩個標識符是不是引用自一個對象。x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False is not is not 是判斷兩個標識符是不是引用自不同對象
運算符優先級
第一級: ** 指數 (最高優先級) 第二級: ~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@) 第三級: * / % // 乘,除,取模和取整除 第四級: + - 加法減法 第五級: >> << 右移,左移運算符 第六級: & 位 ‘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 初識