10 - 函數進階

返回主頁

📄目錄

1. 作用域

💡 含義:指的是變量生效的範圍,分為兩種,分別是全局變量和局部變量

1.1 全局變量

💡 函數外部定義的變量,在整個文件中都是有效的

python-logo

輸出結果:

❗ a的值沒有被覆蓋是因為函數內部如果要使用變量,會先從函數內部找,有的話就直接使用,沒有就會到函數外面找

1.2 局部變量

💡 函數內部定義的變量,從定義位置開始到函數定義結束位置有效

作用:在函數體內部,臨時保存數據,即當函數調用完成之後,就銷毀局部變量

python-logo

輸出結果:

python-logo

兩個函數之間有命名相同的變量沒有影響,因為它們所在的作用域不一樣

輸出結果:

1.3 global

💡 在函數內部修改全局變量的值,可以使用global關鍵字

將變量聲明為全局變量

語法格式:global 變量名

python-logo

輸出結果:

python-logo

輸出結果:

💡 總結:global關鍵字可以對全局變量進行修改,也可以在局部作用域中聲明一個全局變量

1.4 nonlocal

💡 作用:用來聲明外層的局部變量,只能在嵌套函數中使用

在外部函數先進行聲明,內部函數中進行nonlocal聲明

python-logo

輸出結果:

💡 總結:nonlocal只能對上一級進行修改

2. 匿名函數

2.1 基本語法:

💡

python-logo

輸出結果:

2.2 lambda的參數形式

💡

2.2.1 無參數

python-logo

輸出結果:

2.2.2 一個參數

python-logo

輸出結果:

2.2.3 默認參數

python-logo

輸出結果:

2.2.4 關鍵字參數

python-logo

輸出結果:

2.3 lambda結合if判斷

python-logo

輸出結果:

💡 特點:lambda只能實現簡單的邏輯,如果邏輯複雜且代碼量較大,不建議使用lambda,降低代碼的可讀性,為後期的代碼維護增加困難

3. 內置函數

python-logo

輸出結果:

3.1 內置函數一

3.1.1 abs():返回絕對值

python-logo

輸出結果:

3.1.2 sum():求和

python-logo

輸出結果:

3.2 內置函數二

3.2.1 min():求最小值

python-logo

輸出結果:

3.2.2 max():求最大值

python-logo

輸出結果:

3.2.3 zip():將可迭代對象作為參數,將對象中對應的元素打包成一個個元組

python-logo

輸出結果:

3.2.4 map():映射函數。可以對可迭代對象中的每一個元素進行映射,分別去執行

💡 map(func,iter1):func--自己定義的函數、iter1--要放進去的可迭代對象

python-logo

輸出結果:

3.2.5 reduce():先把對象中的兩個元素取出,計算出一個值然後保存着,接下來把這個計算值跟第三個元素進行計算

python-logo

輸出結果:

4. 拆包

💡 含義:對於函數中的多個返回數據,去掉元組、列表或者字典,直接獲取裡面數據的過程

python-logo

輸出結果:

python-logo

功能:一般在函數調用時使用

輸出結果:

導航連結:

目的地超連結
首頁返回主頁
Python學習Python學習
上一篇09 - 函數基礎
下一篇11 - 異常、模塊、包