代碼詳解Python的函數(shù)基礎(chǔ)(1)
1.函數(shù)調(diào)用
# 1.調(diào)用函數(shù),需要知道函數(shù)的名稱和參數(shù) # 2.調(diào)用函數(shù)傳入的參數(shù)需要和函數(shù)定義的參數(shù)數(shù)量和類型一致 # 如調(diào)用abs函數(shù) print("-2的絕對(duì)值為:",abs(-2)) print("100的絕對(duì)值為:",abs(100)) # 3.函數(shù)名是指向一個(gè)函數(shù)對(duì)象的引用,可以把函數(shù)名賦給一個(gè)變量,相當(dāng)于給這個(gè)函數(shù)起別名 abs1 = abs # 變量abs1指向abs函數(shù) print("-1的絕對(duì)值為:",abs1(-1))
# 結(jié)果輸出:
-2的絕對(duì)值為: 2
100的絕對(duì)值為: 100
-1的絕對(duì)值為: 1
2.函數(shù)定義
# 定義函數(shù)使用def # 語法: """ def 函數(shù)名(參數(shù)1,參數(shù)2,...): 函數(shù)體 return 返回值 """ def compareAB(a,b): if a > b: print("a值大于b值!") elif a == b: print("a值等于b值!") else: print("a值小于b值!") # 調(diào)用函數(shù) compareAB(5,3) # 結(jié)果輸出: # a值大于b值!
# 空函數(shù):可以用來作為占位符 def nop(): pass # 參數(shù)檢查:Python解釋器可以幫我們檢查參數(shù)個(gè)數(shù)是否正確,但無法檢查參數(shù)類型是否正確 # 數(shù)據(jù)類型檢查實(shí)例 def myAbs(x): if not isinstance(x,(int,float)): raise TypeError("Bad Operand Type.") if x >= 0: return x else: return -x # 傳入"a"將拋出錯(cuò)誤 myAbs("A")
# 結(jié)果輸出: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-21934e00955a> in <module> 15 16 # 傳入"a"將拋出錯(cuò)誤 ---> 17 myAbs("A") <ipython-input-8-21934e00955a> in myAbs(x) 7 def myAbs(x): 8 if not isinstance(x,(int,float)): ----> 9 raise TypeError("Bad Operand Type.") 10 if x >= 0: 11 return x TypeError: Bad Operand Type.
# 返回多個(gè)值 import math def move(x,y,step,angle = 0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx,ny # 獲取返回值 x,y = move(100,100,60,math.pi / 6) print("x的值為%f,\ny的值為%f"%(x,y)) # 結(jié)果輸出: # x的值為151.961524, # y的值為70.000000
# 實(shí)例1:由歐拉角轉(zhuǎn)換成對(duì)應(yīng)的四元數(shù) # 由角度計(jì)算四元數(shù)的值 import math # yaw:繞z軸旋轉(zhuǎn)的角度; # pitch:繞y軸旋轉(zhuǎn)的角度; # roll:繞x軸旋轉(zhuǎn)的角度; def eulerToQuaternion(yaw,pitch,roll): w = math.cos(roll/2.0)*math.cos(pitch/2.0)*math.cos(yaw/2.0)+math.sin(roll/2.0)*math.sin(pitch/2.0)*math.sin(yaw/2.0) x = math.sin(roll/2.0)*math.cos(pitch/2.0)*math.cos(yaw/2.0)-math.cos(roll/2.0)*math.sin(pitch/2.0)*math.sin(yaw/2.0) y = math.cos(roll/2.0)*math.sin(pitch/2.0)*math.cos(yaw/2.0)+math.sin(roll/2.0)*math.cos(pitch/2.0)*math.sin(yaw/2.0) z = math.cos(roll/2.0)*math.cos(pitch/2.0)*math.sin(yaw/2.0)-math.sin(roll/2.0)*math.sin(pitch/2.0)*math.cos(yaw/2.0) return x,y,z,w # 繞z軸90度 print("繞z軸90度的四元數(shù)為:",(eulerToQuaternion(math.pi/2,0,0))) # 繞y軸90度 print("繞y軸90度的四元數(shù)為:",(eulerToQuaternion(0,math.pi/2,0))) # 繞x軸90度 print("繞x軸90度的四元數(shù)為:",(eulerToQuaternion(0,0,math.pi/2)))
# 結(jié)果輸出:
繞z軸90度的四元數(shù)為: (0.0, 0.0, 0.7071067811865476, 0.7071067811865476)
繞y軸90度的四元數(shù)為: (0.0, 0.7071067811865476, 0.0, 0.7071067811865476)
繞x軸90度的四元數(shù)為: (0.7071067811865476, 0.0, 0.0, 0.7071067811865476)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
MySQLdb ImportError: libmysqlclient.so.18解決方法
這篇文章主要介紹了MySQLdb ImportError: libmysqlclient.so.18解決方法,需要的朋友可以參考下2014-08-08Python3爬蟲學(xué)習(xí)之爬蟲利器Beautiful Soup用法分析
這篇文章主要介紹了Python3爬蟲學(xué)習(xí)之爬蟲利器Beautiful Soup用法,結(jié)合實(shí)例形式分析了Beautiful Soup的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-12-12Python中號(hào)稱神仙的六個(gè)內(nèi)置函數(shù)詳解
這篇文章主要介紹了Python中號(hào)稱神仙的六個(gè)內(nèi)置函數(shù),今天分享的這6個(gè)內(nèi)置函數(shù),在使用?Python?進(jìn)行數(shù)據(jù)分析或者其他復(fù)雜的自動(dòng)化任務(wù)時(shí)非常方便,需要的朋友可以參考下2022-05-05pytorch中交叉熵?fù)p失(nn.CrossEntropyLoss())的計(jì)算過程詳解
今天小編就為大家分享一篇pytorch中交叉熵?fù)p失(nn.CrossEntropyLoss())的計(jì)算過程詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python+MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能詳解
MediaPipe是用于構(gòu)建多模態(tài)(例如視頻、音頻或任何時(shí)間序列數(shù)據(jù))、跨平臺(tái)(即eAndroid、IOS、web、邊緣設(shè)備)應(yīng)用ML管道的框架。本文將利用MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能,需要的可以參考一下2022-02-02Python將list元素轉(zhuǎn)存為CSV文件的實(shí)現(xiàn)
這篇文章主要介紹了Python將list元素轉(zhuǎn)存為CSV文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Python動(dòng)力系統(tǒng)驗(yàn)證三體人是否真的存在
這篇文章主要介紹了Python動(dòng)力系統(tǒng)驗(yàn)證三體人是否真的存在,文中含有詳細(xì)的圖文示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10深入解析Python編程中super關(guān)鍵字的用法
Python的子類調(diào)用父類成員時(shí)可以用到super關(guān)鍵字,初始化時(shí)需要注意super()和__init__()的區(qū)別,下面我們就來深入解析Python編程中super關(guān)鍵字的用法:2016-06-06