函式是物件 可從函式中返回用於構建高階函式
def函式名(引數):
"函式_文件字串"
function_suite
return[表示式]
以def():
形參必須放在圓括號中(形參只是形式 表示佔據的引數位置)
函式的第一行語句可使用文件字串(存放函式說明 利用.__doc__
呼叫)
執行的**需要縮排
return
[表示式] 結束函式 選擇性地返回乙個值
沒有表示式相當於返回none
函式名(實參
) 函式具有靈活多樣的引數形態 既可以簡單呼叫 又可以傳入複雜的引數
def函式名(arg1):
"函式_文件字串"
function_suite
return[表示式]
arg1: 位置引數 在呼叫函式時位置固定
def函式名(arg1,arg2=v):
"函式_文件字串"
function_suite
return[表示式]
arg2:預設引數 = 預設值 在呼叫函式時如果沒有傳入 則被使用預設值
預設引數放在位置引數後
函式呼叫時 引數的順序可以與宣告不一致
可變引數傳入的引數個數是可變的 不定長的引數
def函式名(arg1,arg2=v,*args):
"函式_文件字串"
function_suite
return[表示式]
*args:可變引數 可是從零到任意個 自動組裝成元組
加*的變數名會存放所有未命名的變數引數
def函式名(arg1,arg2=v,*args, **kw):
"函式_文件字串"
function_suite
return[表示式]
**kw:關鍵字引數 可是從零到任意個 自動組裝成字典
def函式名(arg1,arg2=v,*args, *,nkw, **kw):
"函式_文件字串"
function_suite
return[表示式]
*, nkw:命名關鍵字引數 輸入的關鍵字引數 在nkw 前面加分隔符 *
限制關鍵字引數名字 可用「命名關鍵字引數」
命名關鍵字引數不能缺少引數名
引數定義的順序是:
位置引數 預設引數 可變引數和關鍵字引數
位置引數 預設引數 命名關鍵字引數和關鍵字引數
命名關鍵字引數限制了可傳入的引數名 允許提供預設值
return
語句有指定返回值時 返回其指定值
沒有return
語句時 函式執行結束會隱含返回乙個none
作為返回值 型別是nonetype
函式可存在多條return
語句 但只有一條被執行
函式執行return
語句 會立刻返回 結束呼叫
return
只能返回單值 但可以存在多個元素
變數的賦值位置決定其訪問許可權
區域性變數:定義在函式內部的變數(區域性作用域)
全域性變數:定義在函式外部的變數(全域性作用域)
區域性變數只能在其被宣告的函式內部訪問 全域性變數可以在整個程式內訪問
內部作用域修改外部作用域的變數時使用關鍵字global nonlocal
函式式程式設計的重要語法結構 特殊的內嵌函式
如果內部函式裡引用外層非全域性作用域的變數 內部函式就叫閉包。
閉包是包含環境變數取值的函式物件(函式物件的closure
屬性中)
閉包作用域:
閉包可訪問外層非全域性作用域的變數
閉包的返回值通常是函式
修改閉包作用域中的變數 使用nonlocal
關鍵字函式在內部呼叫自身本身 就是遞迴函式(預設遞迴層數為 100)
python 裡的函式型別:
def :正規函式
lambda :匿名函式
lambda引數列表:表示式
引數列表:可以是位置引數 預設引數 關鍵字引數(與def定義的引數型別相同)
表示式:輸入函式引數 輸出值
表示式中沒有 return
表示式本身就是返回值
匿名函式擁有自己的命名空間不能訪問自己引數列表之外或全域性命名空間裡的引數
函式式程式設計:**中每一塊都不可變 純函式的形式組成
常應用於函式式程式設計的高階函式中 主要有兩種形式:
引數是函式 (filter, map)
返回值是函式 (closure)
filter(function, iterable)
過濾序列 過濾掉不符合條件的元素 返回乙個迭代器物件 可使用 list() 轉換為列表
map(function, *iterables)
根據提供的函式對指定序列做對映
阿里雲天池Python訓練營
字串 引號之間的字元集合 單引號或雙引號 反斜槓符號 單引號 雙引號 n換行 t橫向製表符 tab r回車 原始字串 所有的字串都是直接按照字面的意思來使用 不轉義特殊或不能列印的字元 在字串前邊加乙個英文本母 r 三引號允許字串跨多行 可包含換行符 製表符以及其他特殊字元 具有不可修改性 通過元素...
阿里雲天池Python訓練營
本節主要介紹python中的類與物件,並針對相關用法進行展開說明。其中拓展了需要掌握及區別的內容,對於類的用法及物件的含義需重點掌握。類定義物件的結構 以類為模板建立物件 物件是類的例項 類不但包含方法定義 還包含所有例項共享的資料 class 類名 類的實現 類的名稱以大寫字母開頭 子類建構函式基...
阿里雲天池python訓練營
1.if 語句 if expression expr true suite 2.if else 語句 if expression expr true suite else expr false suite 3.if elif else 語句 temp input 請輸入成績 source int t...