Python初識

Python的特點

優雅
明確
簡單

Python支持多種編程風格
Python支持面向過程的編程風格。
Python支持面向對象的編程風格。數字、字符串、函數、模塊…都是“對象”
Python支持函數式編程。世界上只有兩種編程語言,C類語言,Lisp類語言

Python代碼量小、維護成本低、編程效率高、標準庫強大、第三方庫非常豐富

Python是一種”半編譯、半解釋”型語言
和C/C++不同,不是先將源代碼文件轉化成可執行文件,再執行;而是由Python解釋器按行讀取源代碼文件然後將源代碼轉化爲可供Python解釋器直接執行的”字節碼”,然後再執行字節碼。
例如:我們執行一個.py文件,會生成一個同名的.pyc文件,這個.pyc文件就是Python解釋器生成的字節碼文件,如果.pyc文件已經存在,就不需要再”翻譯”一次了,這樣也就高了效率

Python的可擴展性強

Python可以很容易的調用C/C++語言,如果覺得哪裏的邏輯不能滿足要求,可以用C/C++重構這部分模塊,用Python調用

Python的可嵌入性
Python代碼也很容易嵌入到C/C++內執行

對於測試人員,Python可以做哪些事??
搭建自動化測試框架
搭建Bug狀態跟蹤平臺
搭建持續集成環境

Python的缺點

除了驅動開發,Python幾乎無所不能
執行效率較低

動態類型
Python中的變量不需要聲明,直接定義即可,會在初始化的時候決定變量的類型
使用 = 來進行初始化和賦值操作

支持增量賦值
n = n * 10 等價於 n *= 10
不支持++/–這樣的操作
只能寫成 n += 1
同一個名字變量可以賦值成不同類型的值

變量的命名規則

變量命名必須是數字、字母、下劃線,但是不能用數字開頭(規則和C語言一樣)
變量名大小寫敏感
變量命名要做到見名知意

認識數字

Python中是沒有int,float這樣的關鍵字的,但實際上數字的類型是區分int,float這樣的類型的,可以用內建函數type來查看類型
Python中的數字變量的取值範圍並沒有限制,不像C語言中int代表4個字節
Python中還有一種複數類型,和數學中的複數是相同的概念

認識字符串

Python中可以使用單引號(‘),雙引號(“),三引號(‘’’)來表示字符串
如果一個字符串中包含了單引號,那就用雙引號來表示字符串,
如果一個字符串中包含了雙引號,那就用單引號來表示字符串,
如果一個字符串中既包含了單引號又包含了雙引號,就用三引號來表示字符串
但是有些不可見字符任然需要進行轉義,使用\進行轉義,比如換行符\n
使用索引操作符[]或切片操作符[:]來獲取子字符串(切片操作是一個前閉後開區間)
字符串的索引規則是:第一個字符索引是0,最後一個字符的索引是-1(可以理解爲len-1)
“+”用於字符串連接,”*”用於字符串重複
Python中沒有”字符類型”的概念,單個字符也是字符串
用內建函數len來獲取字符串的長度
格式化字符串,可以用%這樣的方式來進行格式化的替換

認識布爾類型

Python中用True和Flase來表示布爾值(注意第一個字符大寫)
布爾類型的變量也是一種特殊的整數類型,在和整數進行運算時True被當做1,False被當做0

輸入輸出

print函數將結果輸出到標準輸出(顯示器)上
raw_input從標準輸入中獲取用戶輸入
raw_input返回的結果只是一個字符串,如果想要獲得一個數字,需要使用int函數把字符串轉換成數字

註釋

Python中使用#進行單行註釋
但在加中文註釋時要小心,直接使用會運行報錯
Python的源代碼默認只支持ASCII,所以想要包含中文,需要在代碼文件最開頭的地方加上

 # -*-coding: UTF-8 -*-

操作符

Python中支持 + - * / %這樣的操作符,並且他們的行爲都和C語言一樣
/是”傳統除法”,如果兩個整數相除,得到的結果仍然是整數,如果其中一個數是浮點數,那麼得到的結果也是浮點數
使用from_future_import division就會是/變爲精確除法
//是”地板除”無論操作數類型如何,都會對運算結果進行取地板運算
**表示乘方運算
Python也支持標準的比較運算符>,<,< =,> =,= =,! =,這些運算符的表達式結果是一個布爾值
Python也支持邏輯運算符and,or,not
Python中3<4<5等價於3<4 and 4<5這一點和其他大多數編程語言都不太一樣
字符串字符串之間也可以使用運算符進行操作
字符串之間也可以使用==,!=來判斷兩個字符串的內容是否相同
字符串之間也可以比較大小,這取決於字符串的”字典序”

列表/元組/字典

列表和元組類似於C語言中的數組
用[]來表示列表,用()來表示元組
列表和元組能保存任意數量任意類型的Python對象
可以使用下標來訪問裏面的元素,下標從0開始,最後一個下標爲-1
列表和元組之間的唯一區別是:列表中的元素可以修改,元組中的元素不可以修改
字典是Python中的映射數據類型,存儲鍵值對(key-value)
用{}來表示字典
幾乎所有類型的Python對象都可以用作鍵,不過一般還是數字和字符串最常見

Python中用id這個內建函數查看變量的地址

代碼塊及縮進
Python使用縮進來表示代碼塊,Python是獨一無二使用縮進而不是{}的

if語句

大體和C語言中的用法相同
if expression:
do_something1
do_something2
next_something
也支持else
if expression:
do_something1
else:
do_something2
Python中的else if寫爲elif
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
如果條件分支太多可以使用”表驅動”的方式來組織代碼
Python中不支持switch/case這樣的語句

while循環語句和if語句語法類似

while expression:
do_something

for循環

for循環和傳統的for循環不太一樣,for循環接收可迭代對象(序列或迭代器)作爲參數,每次迭代其中的一個元素
內建函數range能夠生成一個數字組成的列表,方便進行for循環遍歷
range函數其實有3個參數,前兩個參數表示了一個前閉後開的區間,最後一個數表示每次迭代的步長

break和continue

使用break語句跳出當前循環
使用continue語句,回到循環頂端,判定循環條件,循環條件滿足則進行下一次循環

pass語句

有時候需要用到空語句這樣的概念,什麼都不需要做,但是因爲沒有{},所以需要有一個專門的語句進行佔位,避免縮進混亂

函數

一些可以重複使用的代碼,可以提取出來放到函數中,Python中使用def來定義一個函數,使用return來返回結果,使用()來調用一個函數。
Python中沒有重載的概念,相同名字的函數,後面的會覆蓋前面的
Python支持默認參數,函數的參數可以具備默認值
Python解包(unpack)語法,函數返回多個值
函數也是對象,一個函數和一個數字、字符串一樣,都可以定義別名來引用他

文件操作

使用內建函數open打開一個文件
handle = open(file_name, access_mode=‘r’)
file_name是一個文件名可以是絕對路徑,也可以是相對路徑
access_mode是文件的打開方式,選項有以下幾種
‘r’ : 只讀
‘w’ : 只寫
‘a’ : 追加寫
‘t’ : 按文本方式讀寫
‘b’ : 按二進制方式讀寫
handle是一個文件句柄,是一個可迭代對象,可以直接用for循環按行讀取文件內容
handle使用完畢,需要close,否則會引起資源泄漏(一個進程能打開的句柄數目是有限的)
模塊
可用import引用其他.py文件中的代碼,被引用的這個代碼模塊就稱之爲模塊,被引入的文件,去掉.py後綴名,就是模塊名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章