0.前言
1.前提
基於win10專業版64位系統+64位jdk1.8+64位python3.6.5+社群版pycharm2018.1.3+unittest+selenium3.141.0。
要學好自動化測試,我們先從python語言基礎開始學習,一步乙個腳印,欲速則不達哦!
2.作用域
python中四種作用域,這裡就只說兩種最常見的。
全域性作用域:比如全域性變數,可以作用於整個**,定義在方法的外面。
區域性作用域:比如區域性變數,作用於函式(又叫方法)內部,也定義在其內部。
total = 0#全域性變數
def method():
total = 1#區域性變數
print(total)#列印的區域性變數total
if __name__ == '__main__':
print(total)#列印的全域性變數total
method()
print(total)#列印的全域性變數total
#執行結果:
在方法中直接使用全域性變數,通過關鍵字global,這樣在方法內部修改全域性變數的值後,外面的全域性變數的值也會跟著變。如下:
total = 0#全域性變數
def method():
global total#申明這是外面的全域性變數total
total = 1#修改全域性變數total的值
print(total)#列印的全域性變數total
if __name__ == '__main__':
print(total)#列印的全域性變數total
method()
print(total)#列印的全域性變數total
#執行結果:
將全域性變數當做引數傳到方法中使用並修改,會怎麼樣呢?
存在兩種情況,如果是不可變物件,全域性變數值不變:
total = 0#全域性變數,數值型為不可變物件
def method(n):
n = 1#修改n的值
print(n)#列印n
if __name__ == '__main__':
print(total)#列印的全域性變數total
method(total)#將全域性變數total當做引數傳入方法中來替換形參n
print(total)#列印的全域性變數total
#執行結果:
如果是可變物件,全域性變數值會跟著變:
total = [0]#全域性變數,列表為可變物件
def method(n):
n[0] = 1#修改n的值
print(n)#列印n
if __name__ == '__main__':
print(total)#列印的全域性變數total
method(total)#將全域性變數total當做引數傳入方法中來替換形參n
print(total)#列印的全域性變數total
#執行結果:
[0][1]
[1]注:數值型、字串和元組為不可變物件;列表、集合和字段為可變物件。
Python作用域 全域性作用域 區域性作用域
在python中,每個函式都會建立乙個作用域。pythonistas也可能稱函式擁有它們自己的命名空間 namespace 這意味著當在函式體裡遇到變數名 時,python首先在該函式的命名空間中查詢,python包含了一些讓我們檢視命名空間的函式。讓我們寫乙個簡單的函式來探查一下local和glo...
Python基礎 十四 函式作用域
1 變數的作用域 2 命名空間 3 python legbdef test a 10 print a test 列印 10 複製 e enclosing function locals 外部巢狀函式的命名空間def test a 10 def inner print a inner test 列印 ...
Python基礎(作用域 內建函式)
作用域 概念 作用域指的是變數在程式中的應用範圍 作用域按照變數的定義位置可以分為4類 l e g b local 函式內部 區域性作用域 enclosing 巢狀函式的外層函式內部 巢狀作用域 global 模組全域性 全域性作用域 built in 內建 內建作用域 123 456訪問順序 l ...