Python全棧自動化測試--Python基礎(chǔ)語法

一、Python命名規(guī)范

? ? 1.文件名、包名、模塊名、局部變量名、函數(shù)&方法名

? ? ? ? ·全小寫+下劃線式駝峰。

Eg:it_is_function

? ? 2.類

? ? ? ? ·首字母大寫駝峰。

Eg:ClassName()

? ? 3.函數(shù)和方法的參數(shù)

? ? ? ? ·類實例方法第一個參數(shù)使用self,類方法第一個參數(shù)使用cls

? ? ? ? ·如果一個函數(shù)的參數(shù)名稱和保留的關(guān)鍵字沖突,通常使用一個后綴下劃線好于使用縮寫或奇怪的拼寫。

? ? 4.全局變量

? ? ? ? ·對于from M import *導(dǎo)入語句,如果想阻止導(dǎo)入模塊內(nèi)的全局變量可以使用舊有的規(guī)范,在全局變量上加一個前導(dǎo)的下劃線:全大寫+下劃線式駝峰。

Eg:GLOBAL_VAR

!!!注意:應(yīng)避免使用全局變量

? ? 5.變量

? ? ? ? ·變量名全部小寫,由下劃線連接各個單詞。

Eg:this_is_a_variable = 1

? ? ? ? ·不論是類成員變量還是全局變量,均不使用 m 或 g 前綴。

? ? ? ? ·私有類成員使用單一下劃線前綴標識,多定義公開成員,少定義私有成員。

? ? ? ? ·變量名不應(yīng)帶有類型信息,因為Python是動態(tài)類型語言。如 iValue、names_list、dict_obj等都是不好的命名。因為python在解釋的時候才確定類型。

? ? 6.常量

? ? ? ? ·常量名所有字母大寫,由下劃線連接各個單詞。

Eg:MAX_OVERFLOW,TOTAL

? ? 7.異常

? ? ? ? ·因為異常也是一個類,所以遵守類的命名規(guī)則。此外,如果異常實際上指代一個錯誤的話,應(yīng)該使用“Error”做后綴。

? ? 8.縮寫

? ? ? ? ·命名應(yīng)當盡量使用全拼寫的單詞,盡量避免縮寫,特別要避免使用非項目人員不清楚難以理解的縮寫,不要通過刪除單詞中的字母來進行縮寫

? ? ? ? ·命名中含有長單詞,對某個單詞進行縮寫。這時應(yīng)使用和項目組成員約定好的縮寫方式,在相應(yīng)文檔或者文件中應(yīng)有注明。如function縮寫為fn,text縮寫為txt,object縮寫為obj,count縮寫為cnt,number縮寫為num,等。

? ? 9.下劃線

? ? ? ? ·一個前導(dǎo)下劃線:表示私有

? ? ? ? ·一個后綴下劃線:避免關(guān)鍵字沖突

? ? ? ? ·以單下劃線開頭:內(nèi)部使用標識,from M import * 時,將不會導(dǎo)入該對象(python 一切皆對象)。

? ? ? ? ·兩個前導(dǎo)下劃線:當命名一個類屬性引起名稱沖突時使用。

? ? ? ? ·兩個前導(dǎo)和后綴下劃線:有特殊用途的對象或者屬性,例如init或者file。絕對不要創(chuàng)造這樣的名字,而只是使用它們。

? ? ? ? ·以雙下劃線開頭的變量名,主要用于類內(nèi)部標識類私有,不能直接訪問。

? ? ? ? ·雙下劃線開頭且雙下劃線截尾的命名方法盡量不要用,這是標識

? ? 10.常用

? ? ? ? ·模塊名寫法: module_name

? ? ? ? ·包名寫法: package_name

? ? ? ? ·類名: ClassName

? ? ? ? ·方法名: method_name

? ? ? ? ·異常名: ExceptionName

? ? ? ? ·函數(shù)名: function_name

? ? ? ? ·全局常量名: GLOBAL_CONSTANT_NAME

? ? ? ? ·全局變量名: global_var_name

? ? ? ? ·實例名: instance_var_name

? ? ? ? ·函數(shù)參數(shù)名: function_parameter_name

? ? ? ? ·局部變量名: local_var_name

? ? ? ? ·函數(shù)名、變量名和文件名應(yīng)該是描述性的, 始終使用 .py 作為文件后綴名,不要用破折號

? ? 11.函數(shù)長度

? ? ? ? ·函數(shù)功能盡量集中、簡單、小巧,不對函數(shù)長度做硬性限制。但是若一個函數(shù)超過40行,推薦考慮一下是否可以在不損害程序結(jié)構(gòu)的情況下對其進行分解.。因為即使現(xiàn)在長函數(shù)運行良好,但幾個月后可能會有人修改它并添加一些新的行為,這容易產(chǎn)生難以發(fā)現(xiàn)的bug。保持函數(shù)的簡練,使其更加容易閱讀和修改。當遇到一些很長的函數(shù)時,若發(fā)現(xiàn)調(diào)試比較困難或是想在其他地方使用函數(shù)的一部分功能,不妨考慮將這個場函數(shù)進行拆分。

二、Python基礎(chǔ)語法

? ? 1.打印--print()

? ? ? ? ·print函數(shù),作用是把括號中的內(nèi)容顯示在控制臺

? ? ? ? ·打印hello word

print('hello word')

>>hello word

? ? 2.單行注釋--#

? ? ? ? ·單行注釋起到備注的作用,在運行時不會被執(zhí)行

? ? ? ? ·快捷鍵Ctrl+/? (添加/取消)

# print(‘hello word’)

? ? 3.多行注釋--三個單引號/三個雙引號

? ? ? ? ·多行注釋起到備注的作用,在運行時不會被執(zhí)行? ? ?

‘‘‘

? ? ? ? print(‘hello word’)

’’’

? ? 4.將結(jié)果輸出在同一行—end

? ? ? ? ·將輸出結(jié)果打印在同一行,或者在輸入的末尾添加不同的字符? ? ?

print('hello word', end=',')

print('hello word2')

>>> hello word, hello word2

? ? 5.變量--=

? ? ? ? ·用來儲存數(shù)據(jù)

? ? ? ? ·命名格式:變量名全部小寫,由下劃線連接各個單詞。? ? ?

qq_number = ('11112222')

qq_pwd = ('12345')

print(qq_number, qq_pwd)

>>>11112222 12345

? ? 6.輸入--input

? ? ? ? ·在控制臺輸入需要的數(shù)據(jù)? ? ?

name = input('請輸入姓名:')

print(name)

>>>請輸入姓名:levi(控制臺輸入levi后回車)

>>>levi

? ? 7.導(dǎo)入模塊--import

? ? ? ? class01目錄下demo文件內(nèi)有test01和test02函數(shù)

? ? ? ? ·方式一:import 模塊名(導(dǎo)入模塊)

import class01.demo

class01.demo.test01()

>>>這是模塊demo的test01函數(shù)

? ? ? ? ·方式二:from 模塊名 import 函數(shù)名1,函數(shù)名2(導(dǎo)入模塊內(nèi)的函數(shù)1和函數(shù)2)? ? ?

from class01.demo import test01,test02

test01()

test02()

>>>這是模塊demo的test01函數(shù)

>>>這是模塊demo的test02函數(shù)

? ? ? ? ·方式三:from 模塊名 import *(導(dǎo)入模塊內(nèi)的所有函數(shù),一般不建議使用)

from class01.demo import *

test01()

test02()

>>>這是模塊demo的test01函數(shù)

>>>這是模塊demo的test02函數(shù)

? ? ? ? ·方式四:導(dǎo)報快捷--Alt+enter(光標放在函數(shù)名上,按Alt+enter后出現(xiàn)相應(yīng)模塊)

? ? ? ? ? ? ? ? ? ? ? ? 將鼠標懸停至函數(shù)名出也會出現(xiàn)相應(yīng)函數(shù)的導(dǎo)入指引

總結(jié):

? ? ? 編程基礎(chǔ)為一個個枯燥的知識點,需要我們多加練習(xí),將知識點組合進行使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容