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