def 函式名([形式引數]):
函式體(重複**塊)
# 返回資料
return 資料
確定函式名: 見名之意, 理解函式的功能
確定形式引數: 函式體中是否有未知數參與運算,如果有就將其定義為形式引數
確定返回值:
1. 如果在後面的**需要使用函式中的運算結果,就需要在函式中使用return返回運算結果
2. 如果不確定是否需要返回,建議返回
3. 要求函式呼叫後獲取/得到 ..., 也要返回
4. 只要當要求是 輸出/處理後不需要返回, 這個時候才不返回
作用: 為了保證語句的完整語法結構, 如果沒有清楚具體寫什麼,可以先使用pass佔位
語法: 在函式名下,縮排的裡面 通過 三引號 進行注釋
def 函式名([形式引數]):
"""函式的功能簡介
引數說明
:param 引數名: 說明
:return: 資料型別 說明
"""pass
1) 必傳引數
沒有預設值得引數就是必須引數
2) 預設引數
給引數乙個預設值, 不傳該引數就使用預設值,如果傳遞該引數就使用傳入的值
def 函式名(a,b,c=10):
pass
預設值引數必須跟在無預設值引數的後面
3) 關鍵字引數
在函式呼叫的時候, 可以給實際引數進行命名(名字=形參名), 好處是可以交換實參的順序
函式名(a=值,b=值,c=值)
函式定義的時候
按位置引數打包,使用 *args 打包所有的位置引數為乙個元組
按關鍵字引數打包, 使用 **kwargs 打包所有的關鍵字引數為乙個字典
什麼時候使用打包: 不確定引數的數量的時候
def 函式名(*args,**kwargs):
pass
函式呼叫的時候
特點的情況
按位置引數進行拆包, 如果 元組/列表/字典.values() 中資料的順序和實際引數的順序是一致的時候,
就可以使用 *元組/列表/字典.values() 進行拆包傳遞給函式作為實際引數, 好處是不用依次從容器中取.
按關鍵字引數進行拆包, 如果字典中的鍵就是關鍵引數的名字, 使用 **字典 對字典進行拆包傳遞給函式作為實際引數.
函式名(*元組/列表/字典.values())===>函式名(元素1,元素2....)
函式名(**字典) ===>函式名(鍵=值....)
return作用
a. 返回資料到函式的呼叫位置
b. 終止函式執行(退出函式)
返回none
a. 沒有return
b. return (後面什麼都沒有)
c. return none
返回多個值
return 值1,值2
函式中可以有多個return, 需要控制語句控制執行
兩種:全域性變數: 作為範圍為任意位置
注意:1. 訪問是任意位置
2. 修改, 函式外可以修改, 函式內 可以間接修改(通過 global 全域性變數名 引入全域性變數, 再修改)
區域性變數: 只能在函式內部使用
如果使用:
1. 如果只在函式中使用, 就使用區域性變數, 節約記憶體資源
python中基本函式操作
python中利用關鍵字def來專門定義函式 主要應用如下 格式 def 函式名稱 函式的執行過程 return 執行的結果def case print 這是乙個案例 return從上面的的格式可以看出乙個函式的定義其實就是表示的乙個行為,一種功能 函式的核心就是運算資料 所有函式需要處理運算資料,...
函式的基本操作
目錄五.經典補充 六.爆照 注 函式和數學的關係並不是很大 函式原則 1函式一定先定義後呼叫 2.定義 定義就是你在編寫的過程階段只檢測不會執行 符合語法條件亂輸入也不會報錯的 3.呼叫 函式體 只有在呼叫的時候在會執行.呼叫方式 函式名 如果有引數則直接傳遞引數 4.函式名其實就和我們之前所用的變...
Python基本操作
沒有認真學習過python,偶爾遇到,總是模仿著寫。在寫程式的過程中,發現了許多不同於matlab的有趣語法。我將人的映象,由於不熟悉語法,結果發現出現了好奇怪的結果。貼兩張圖,以示警醒 看起來蠻炫的吧,哈 言歸正題吧 1 copy.copy 淺拷貝 只拷貝父物件,不會拷貝物件的內部的子物件。比深拷...