10 函式高階

2022-09-01 02:51:11 字數 935 閱讀 9537

今日主要內容

1. 動態傳參(重點) *, **

*, ** :

形參: 聚合

位置引數* -> 元組

關鍵字** -> 字典

實參: 打散

列表, 字串, 元素 -> *

字典 -> **

形參順序(重點):

位置, *args, 預設值, **kwargs

無敵傳參

def func(*args, **kwargs): arguments引數 keyword-arguments關鍵字引數

pass

2. 作用域和命名空間

命名空間: 用來存放名字(變數, 函式名, 類名, 引入的模組名)的

1. 全域性命名空間: 我們在py檔案中自己寫的變數, 函式.....

2. 內建命名空間: 我們python直譯器提供好的一些內建內容(print, input....)

3. 區域性命名空間: 在我們執行函式的時候.會產生乙個區域性命名空間. 放的是: 函式內部的內容(變數, 函式,類...)

命名空間可能會有無數個, 區域性命名空間而言. 相對是獨立的.一般互不干擾

作用域:

1. 全域性作用域: 內建+全域性

2. 區域性作用域: 區域性

globals() 檢視全域性作用域

locals() 檢視當前作用域

3. 函式的巢狀

在函式中宣告函式

在內部函式中使用變數的時候, 查詢順序: 先找自己 -> 上一層 -> 上一層..全域性 -> 內建

4. nonlocal和global關鍵字(重點)

global: 在區域性引入全域性變數

nonlocal: 在區域性...內層函式引入外層離他最近的那個變數.

1.動態傳參

2.命名空間和作用域

3.函式的巢狀

10 高階函式

乙個最簡單的高階函式 def add x,y,f return f x f y 當我們呼叫add 5,6,abs 時,引數x,y和f分別接收 5,6和abs,根據函式定義,我們可以推導計算過程為 x 5 y 6 f abs f x f y abs 5 abs 6 11 return 11 add 5...

note10 高階函式

1 函式可以直接賦值給變數,變數可以指向函式 f abs f 10 10 2 函式名其實就是指向函式的變數,可以把函式名看作變數 3 乙個函式可以接收另乙個函式作為引數,這種函式稱之為高階函式 4 map 函式接收兩個引數,乙個是函式,乙個是iterable,map 將傳入的函式依次作用到序列的每個...

day10 函式高階

1.1什麼是返回值 返回值就是從函式內部傳遞到函式外部的資料 預設情況下函式內部產生的新資料,在函式外部不能使用 1.2怎麼確定函式返回值 1 python中每個函式都有返回值,預設情況下是none,返回值是什麼就看執行函式體的時候遇到的return關鍵字後面的資料是什麼 如果沒有遇到return,...