函數
函數是什么
函數就是一個功能的封裝,然后可以可以被多次調用的代碼塊
函數定義
-
函數定義需要
def關鍵字
,函數的參數不是必須的,返回值也是,要是有參數一定要傳參數
-
要是
return沒有返回值
,或者連return都沒有
的,返回的是None
值 -
完整的函數包括
函數名,參數,以及函數的實現語句
,縮進屬于函數體,返回值是用來保存計算結果的
函數定義的規則
-
函數代碼以
def開頭,后接函數名加上()
-
傳入的
參數和自變量必須放在圓括號中間
,自定義的參數也放在圓括號內
-
函數的起始用
:
并且用縮進
-
return[表達式]
用來返回給調用,不帶return的返回None給調用者
函數定義的調用
就是用函數名()來調用的,自定義函數需要自己來定義的,而內置函數不需要自己定義直接使用就好
函數的參數
要是函數定義參數時,函數有
無默認參數和有默認參數時
無默認參數的寫的前面,后面寫默認的參數
-
必須參數:就是
傳入的參數與函數定義順序的一致
-
關鍵字參數:可以確定傳入的參數值,
允許調用時和定義時的參數順序不一樣
-
默認參數:如果函數調用的時候
沒有傳入參數就會調用默認的參數
,就是參數在定義的時候賦值
了 - 不定長參數:就是一個可變參數,函數定義的時候沒確定參數有多少,可變參數名前加*,參數會放在一個元組中,元組的名稱就是可變參數名
函數的返回值
函數返回值可以返回任意數據類型哦
函數可以處理數據,并且返回給操作者,返回值可以是輸出語句和一個值或者一組值
變量的作用域
每執行一個函數就會創建一個命名空間,這個命名空間就是局部作用域,如果同一個函數在不同時間運行,作用域是獨立的,
不同的函數參數名稱可以一樣
,其作用域也是獨立的,函數內命名的參數在外面也可使用。
- 局部作用域:定義在函數的內部,只能由函數的內部來調用
- 全局作用域:定義在函數的外部,可以被函數內部使用
- 內置作用域:python預先定義的作用域
使用匿名函數
就是使用lambda表達式,不使用def來定義的函數
- lambda是一個表達式,函數體比def簡單
- lambda主體是表達式不是代碼塊,只能封裝簡單的邏輯代碼
- lambda有自己的命名空間,只能使用自己的參數
函數和模塊開發
函數的優點就是代碼塊與主程序分離,通過使用描述性語句可以讓主程序更好的理解
還可以將函數導入模塊中,再將模塊導入主程序中
可以使用import函數來導入模塊:
優點1:可以隱藏代碼,讓代碼處于高等的邏輯上
優點2:可以在不同地方重用到這個函數
導入模塊的方法
- 需要創建一個模塊,模塊的擴展名為.py
導入一個函數名
from 模塊 import 函數名:從模塊中導入函數名,這個適用與模塊中函數過多你只需要一個函數
導入全部函數名
from 模塊 import *:從模塊中導入全部的函數名
給函數用as起別名
導入的函數名過于復雜或者和本模塊的函數名稱一樣可以使用as來重命名
as的語法:
from 模塊 import 函數名 as 簡寫的函數名
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
