摘要:定義的函數(shù)定義使用通過返回執(zhí)行結(jié)果常用內(nèi)置常用內(nèi)置函數(shù)待補(bǔ)充絕對(duì)值計(jì)算判斷是否是類型列表中的值強(qiáng)制類型轉(zhuǎn)換小數(shù)時(shí)僅保留整數(shù)位強(qiáng)制類型轉(zhuǎn)換編碼轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換多值的函數(shù)是可以返回多值的定義調(diào)用可以看到,返回的多值是以形式輸出的參數(shù)的參數(shù)支持默
定義
Python的函數(shù)定義使用def
def func_name(x): return "hello world" //通過return 返回執(zhí)行結(jié)果常用內(nèi)置
常用內(nèi)置函數(shù)(待補(bǔ)充):
abs() // 絕對(duì)值計(jì)算 isinstance(v, (type list)) //判斷是否是類型列表中的值 boolen return int() //強(qiáng)制int類型轉(zhuǎn)換,小數(shù)時(shí)僅保留整數(shù)位 str() //強(qiáng)制string類型轉(zhuǎn)換 unicode //unicode編碼轉(zhuǎn)換 bool() //強(qiáng)制bool 類型轉(zhuǎn)換return 多值
python的函數(shù)是可以返回多值的
//定義 def infos(): name = "Yi_Zhi_Yu" age = 25 return name, age //調(diào)用 infos() //("Yi_Zhi_Yu", 25)
可以看到, 返回的多值是以tuple形式輸出的
參數(shù)python的參數(shù)支持默認(rèn)參數(shù)語(yǔ)法,但必須定義在函數(shù)參數(shù)的最后面的位置
注意: python的參數(shù)可以不需要嚴(yán)格按照定義的函數(shù)參數(shù)的位置傳遞進(jìn)去, 作為代價(jià),需要告訴函數(shù)傳遞的參數(shù)對(duì)應(yīng)的是哪個(gè),如下:
def infos(input_name, input_age=18): //默認(rèn)的參數(shù)定義age=18 name = input_name age = input_age return name, age infos("Yi_Zhi_Yu",25) // ("Yi_Zhi_Yu", 25) //默認(rèn)參數(shù)傳遞順序 infos(input_age=25, input_name="Yi_Zhi_Yu") //("Yi_Zhi_Yu", 25) 這里就沒有按照默認(rèn)的順序傳遞參數(shù)可變參數(shù)
當(dāng)需要向函數(shù)傳遞參數(shù),而又不知道參數(shù)的具體數(shù)量的時(shí)候, 可以使用如下定義方式:
//計(jì)算平均分 def average_score(*score): s = 0 for n in score: s += n return s/len(score) average_score(10, 8, 8, 10) //9
否則, 按照正常的方式, 還需要定義一個(gè)tuple或者list結(jié)構(gòu),然后傳遞給函數(shù)才能使用,上面的這種方式實(shí)際上本身傳遞進(jìn)去的就是一個(gè)tuple, 把所有的參數(shù)都自動(dòng)放在了*對(duì)應(yīng)的參數(shù)里
那么如果傳遞進(jìn)去的參數(shù)假如本身就是一個(gè)tuple或list了, 而上面的方法我們已經(jīng)定義好了, 那么我們?cè)趺崔k, 一個(gè)個(gè)元素score[0], score[1]寫進(jìn)去又很麻煩, 怎么辦: 在傳遞tuple或list參數(shù)的時(shí)候帶個(gè)*即可
score = (10, 8, 8, 10) average_score(*score) //9 如果不帶*,會(huì)直接報(bào)錯(cuò)類型錯(cuò)誤關(guān)鍵字參數(shù)
首先必須搞清楚什么事關(guān)鍵字參數(shù), 在函數(shù)定義的時(shí)候明確表明了哪個(gè)參數(shù)的值是什么的時(shí)候就是關(guān)鍵字參數(shù), 我們?cè)谀J(rèn)參數(shù)那塊有用過
python 允許在函數(shù)參數(shù)傳遞任意的關(guān)鍵字參數(shù), 前提是最后一個(gè)參數(shù)定義必須帶了**
def new_infos(input_name, input_age, **other_info): return input_name, input_age, other_info
那這里除了第一個(gè)和第二個(gè)參數(shù), 第三個(gè)參數(shù)都是以dict 形式傳遞進(jìn)去的, 用一下就知道了
new_infos("Yi_Zhi_Yu",25, sex="man", interest="basketball")//("Yi_Zhi_Yu", 25, {"interest": "basketball", "sex": "man"}) //other_info 接受了除第一個(gè)第二個(gè)參數(shù)外的關(guān)鍵字參數(shù)混合參數(shù)
如果同時(shí)傳遞以上幾種類型, 該如何定義呢, 按照順序, 必須是
必要參數(shù), 默認(rèn)參數(shù), 可變參數(shù), 關(guān)鍵字參宿
所以在使用的時(shí)候要注意了
Ps: 以上為學(xué)習(xí)記錄, 難免有錯(cuò), 希望各位指正
參考:廖雪峰Python教程
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45386.html
摘要:為我們提供了許多內(nèi)置函數(shù),例如并提供了創(chuàng)建用戶定義函數(shù)的能力。會(huì)將該變量視為函數(shù)級(jí)作用域中的局部變量?;氐侥夸浿泻瘮?shù)的用途是什么是中的內(nèi)置函數(shù)之一。請(qǐng)注意,這種類型的參數(shù)語(yǔ)法不允許將命名參數(shù)傳遞給函數(shù)。函數(shù)接受一個(gè)稱為的可選參數(shù)。 ...
摘要:回到目錄評(píng)論區(qū)抽粉絲送書啦歡迎大家在評(píng)論區(qū)提出意見和建議抽兩位幸運(yùn)兒送書,實(shí)物圖如下開發(fā)從入門到精通內(nèi)容簡(jiǎn)介案例教學(xué)。 ? 作者主頁(yè):海擁 ? 作者簡(jiǎn)介:?CSDN...
摘要:調(diào)用以回調(diào)函數(shù)地址為參數(shù)的函數(shù)這個(gè)主題就稍微繞一些了,也就是說在接口中,需要傳入回調(diào)函數(shù)作為參數(shù)。這個(gè)問題在中也可以解決,并且回調(diào)函數(shù)可以用定義。代碼代碼很簡(jiǎn)單回調(diào)函數(shù)的傳入?yún)?shù)為,返回參數(shù)也是。 項(xiàng)目中要對(duì)一個(gè)用 C 編寫的 .so 庫(kù)進(jìn)行邏輯自測(cè)。這項(xiàng)工作,考慮到靈活性,我首先考慮用 Python 來完成。 研究了一些資料,采用 python 的 ctypes 來完成這項(xiàng)工作。已經(jīng)...
摘要:主要是庫(kù)文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個(gè)整形數(shù),這里會(huì)申請(qǐng)空間增加引用計(jì)數(shù),交由來管理這個(gè)引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測(cè)試環(huán)境介紹和準(zhǔn)備測(cè)試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費(fèi))相關(guān)工具下載:VS版本vs2015社區(qū)版(免費(fèi))...
摘要:主要是庫(kù)文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個(gè)整形數(shù),這里會(huì)申請(qǐng)空間增加引用計(jì)數(shù),交由來管理這個(gè)引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測(cè)試環(huán)境介紹和準(zhǔn)備測(cè)試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費(fèi))相關(guān)工具下載:VS版本vs2015社區(qū)版(免費(fèi))...
摘要:官方也宣布在停止對(duì)的維護(hù)。并且在很多面試過程中,面試官都會(huì)問與的區(qū)別。的版本,常被稱為,或簡(jiǎn)稱。與部分地支持這種形式的語(yǔ)法。捕獲異常的語(yǔ)法由改為。在中,表示八進(jìn)制字面量的方式只有一種,就是。已經(jīng)支援新的模組。 前言 如果你是剛接觸 Python 的初學(xué)者,那你可能是直接學(xué)習(xí) Python 3.x 版本。對(duì)于 Python 2.x 的版本是不會(huì)有所接觸。官方也宣布在 2020 停止對(duì) P...
閱讀 3629·2021-09-22 15:50
閱讀 3288·2019-08-30 15:54
閱讀 2815·2019-08-30 14:12
閱讀 3122·2019-08-30 11:22
閱讀 2145·2019-08-29 11:16
閱讀 3632·2019-08-26 13:43
閱讀 1263·2019-08-23 18:33
閱讀 977·2019-08-23 18:32