va1機器代碼
前沿拓展:
前言
小伙伴們好久不見呀,最近因為工作原因一直沒有時間靜下來寫文章,今天呢筆者給大家來介紹一下python行數的定義和調用,函數的參數、行數的作用域、內置函數。廢話就不多說了直接開始吧。
1.函數的作用
對特定的一些功能進行封裝,提高代碼的重用率,進而提升開發的效率,格式:
def 函數名() # 函數體2.函數名的命名規范
1)可以由字母、數字及下劃線(_)組成,但不能用數字開頭,且不能使用python中的關鍵字。
2)函數命名的風格: 單詞之間下劃線隔開(python中函數命名推薦這種風格), 大駝峰小駝峰寫法 ,如:UserName、userName英文單詞首字母大寫。
3.函數的返回值:return
語法:return 表達式
1)函數的返回值是由return來決定的,return后面寫什么,函數的返回值就是什么
2)如果函數中沒有return,那么函數的返回值默認為 None
3)return 后面沒有任何內容,返回值也是None
4)函數要返回多個數據,可以在return后面,每個數據之間用逗號隔開,調用函數之后接收到的是個元組形式的數據
注意:return的作用除了返回結果外,也可以用于結束函數的運行,只要函數中執行到return,就直接返回內容,跳出函數,return后面的代碼就不會執行
4.調用函數
函數名(),示例如下:
def func(): print('python666') return "abc", 4444 print("99999999999999999999") # 該行不會被執行res = func()print(res)運行結果:
C:\software\python\python.exe D:/myworkspace/test/test/test.pypython666('abc', 4444)Process finished with exit code 0二、函數的參數1.函數形參和實參
定義的參數稱為:形參
調用實際傳遞的為:實參
2.參數傳遞的兩種形式:
位置參數:按位置順序進行傳遞
關鍵字參數:通過關鍵字指定傳給某個參數
# 位置參數(按位置順序進行傳遞)def add_num(a, b, c): # a,b是形參,沒有真正的值,用于接收實參 return a + b - cres1 = add_num(67, 12, 1) # 此時傳入的67,12是實參print(res1)# 關鍵字參數(通過關鍵字指定傳給某個參數)res2 = add_num(b=34, a=12, c=11)print(res2)# 參數混用時,位置參數寫最前面,關鍵字參數寫在后面,不能重復傳res3 = add_num(30, c=12, b=12)print(res3)運行結果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py783530Process finished with exit code 03.函數定義的三種形參:
必需參數 如:def add_num(a, b, c) ,a,b,c三個參數都必須要傳默認參數(缺省參數) 如:def add_num(a, b, c=99) ,c是默認參數,可以傳,可以不傳(不傳時直接使用c=99)不定長參數:如:def add_num(a, b, *args, **kwargs) ,其中a和b是必需參數,*args 可以不傳,也可以傳多個,它接收必需參數、默認參數完之外的位置參數,以元組的形式保存,**kwargs 可以不傳,也可以傳多個,接收必需參數、默認參數之外的關鍵字參數,以字典的形式保存def test(a, b, c, *args, **kwargs): print("a的值", a) print("b的值", b) print("c的值", c) print("*args的值", args) print("**kwargs的值", kwargs)va1 = test(11, 22, 33, 4, 3, 2)va2 = test(11, 5, 6, 7, g=33, k=22, f=12)print(va1, va2)運行結果(有None是因為函數中沒有返回值,調用了兩次函數因此打印了兩個None):
C:\software\python\python.exe D:/myworkspace/test/test/test.pya的值 11b的值 22c的值 33*args的值 (4, 3, 2)**kwargs的值 {}a的值 11b的值 5c的值 6*args的值 (7,)**kwargs的值 {'g': 33, 'k': 22, 'f': 12}None NoneProcess finished with exit code 0擴展:不定長參數可以使用*對元組(列表也可以,但一般不用)進行拆包,**可以對字典進行拆包,拆包原理如下:
# 拆包def func(): return 11,22,33 # 當返回結果有多個值時,會以元組的形式返回c1 = func()print(c1) # 返回的是一個元組(11,22,33)a,b,c =func() # 可以通過變量把返回的元組進行拆包,接收對應的值,a接收了11,b接收了22,c接收了33print(a,b,c) # 返回對應的元素11,22,33運行結果:C:\software\python\python.exe D:/myworkspace/test/test/test.py(11, 22, 33)11 22 33Process finished with exit code 0拆包在自動化測試中有很大的作用,如果不理解,可以動手多敲幾遍,以下是拆包示例:
def func(a, b, c): print('這是', a) print('這是', b) print('這是', c)# 利用*、**分別對元組、字典拆包:只能用在函數調用時使用# 對元組進行拆包func(*(1, 2, 3))print('-------分割線-------')tu = (4, 5, 6)func(*tu)print('-------分割線-------')# 對字典進行拆包, 注意**kwargs接收的是接收必需參數、默認參數之外的關鍵字參數# 因此字典的鍵要與函數的形參一致dic = {'a': 88, 'b': 90, 'c': 91}func(**dic)運行結果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py這是 1這是 2這是 3-------分割線-------這是 4這是 5這是 6-------分割線-------這是 88這是 90這是 91Process finished with exit code 0三、函數的作用域1.全局變量
直接定義在py文件(即模塊)中的變量,叫全局變量,在該文件中任何地方都可以使用
2.局部變量
在函數內部定義的變量,叫做局部變量,只能在該函數內部使用,函數外部無法使用
3.聲明局部變量
關鍵字:global 在函數內部聲明全局變量。
變量的查找過程:由內到外(先找函數自身的,沒有再去外面找)。
如果要在外部使用函數內部定義的局部變量,需要聲明該變量,簡單來說就是告訴程序,這個變量在這個模塊內都能使用。
name = "張三" # 定義一個全局變量def func(): # global a # 如果要聲明全局變量,要加上這句 a = 100 # 定義一個局部變量 print(a) print(name)func() # 調用函數print("------分割線-----")print(name) # 全局變量哪里都能使用print(a) # 這是一個局部變量,打印a運行會報錯說a沒有被定義,如果要使用a就要聲明a為全局變量print("------分割線-----")aa = 10def func(): print(aa) # 變量的查找過程:由內到外(先找自身的,沒有再去外面找)func()運行結果(因為報錯了,所以后面的aa沒有打印出來,只要聲明全局變量就不會報錯):
C:\software\python\python.exe D:/myworkspace/test/test/test.py100張三------分割線-----張三Traceback (most recent call last): File "D:/myworkspace/test/test/test.py", line 12, in <module> print(a) # 這是一個局部變量,打印a運行會報錯說a沒有被定義,如果要使用a就要聲明a為全局變量NameError: name 'a' is not definedProcess finished with exit code 1四、python內置函數內置函數就是python編程語言中預先已經定義的函數,直接調用即可,常用的內置函數如下:
len():獲取 列表\字符串\元組\字典 中的元素總數量(數據的長度)eval():識別字符串中的python表達式zip(): 聚合打包max():獲取數據中元素的最大值min():獲取數據中元素的最小值sum():對元素進行求和總結今天的文章就到這里了喲,喜歡的小伙伴可以點贊收藏評論加關注喲。
拓展知識:
- 冰箱管路圖片(如何正確理解和維護)?04-11
-
美的電磁爐eb什么故障(標題:美的電磁爐EB故障解決方案:診斷與修復步驟陳述
2024-08-25
-
AERMEC空調維修服務部(如何利用AERMEC空調維修服務部解決空調問題?)
2024-08-25
-
Hidros空調廠家保養加氟(如何正確進行Hidros空調廠家的保養和加氟服務?)
2024-08-25
-
CITEC空調廠家售后網點(如何找到CITEC空調廠家的官方售后維修服務網點?)
2024-08-25
-
有圖像無伴音故障部件(解決有圖像無伴音故障的部件問題:一步步排查與修復
2024-08-25