網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一、Python中自定義函數(shù)的方法
在Python編程中,可以使用已經(jīng)定義好的函數(shù),也可以自定義函數(shù)實(shí)現(xiàn)某些特殊的功能。
1 自定義函數(shù)的語(yǔ)法
在Python中,自定義函數(shù)的語(yǔ)法如下所示:
def 函數(shù)名(參數(shù)): ? ? 函數(shù)體
其中,def
是關(guān)鍵字;之后跟的是函數(shù)名,通過(guò)函數(shù)名來(lái)調(diào)用該函數(shù);函數(shù)名之后是一個(gè)圓括號(hào),圓括號(hào)內(nèi)部是函數(shù)的參數(shù),通過(guò)參數(shù)可以將數(shù)據(jù)傳遞到函數(shù)內(nèi)部;函數(shù)體是函數(shù)實(shí)現(xiàn)的功能。需要注意的是(1)在圓括號(hào)之后有冒號(hào)(2)函數(shù)體要有縮進(jìn)。
2 自定義函數(shù)的實(shí)現(xiàn)
圖1的代碼中代碼自定義了一個(gè)名為func的函數(shù):
其中,該自定義函數(shù)的函數(shù)名是func,i是func的參數(shù)。func()函數(shù)的功能是打印出從0到i-1的數(shù)字,i的值由外部傳遞到函數(shù)內(nèi)部。
3 自定義函數(shù)的調(diào)用
通過(guò)圖2中的代碼調(diào)用自定義函數(shù)func():
其中,func()
函數(shù)的參數(shù)設(shè)置為3,此時(shí)輸出的是0-2的數(shù)字;修改func()的參數(shù)值,如圖3所示。
圖3 修改func()函數(shù)的參數(shù)值:
此時(shí)輸出的是0-4的數(shù)字。
二、Python中參數(shù)具有默認(rèn)值的函數(shù)
在上面Python中自定義函數(shù)的方法提到,自定義的函數(shù)在函數(shù)名之后的圓括號(hào)內(nèi)包含有參數(shù),
如圖1所示:
上圖中,自定義了一個(gè)名為func()
的函數(shù),該函數(shù)包含一個(gè)參數(shù)i。接下來(lái)定義了一個(gè)值為0的變量i1,將i1作為func()函數(shù)的參數(shù),此時(shí)的輸出是1。
1 參數(shù)是常量默認(rèn)值的函數(shù)
將圖1中所示的func()的參數(shù)i具有常量默認(rèn)值,
如圖2所示:
2 參數(shù)是常量默認(rèn)值的函數(shù)
從圖2可以看出,func()
函數(shù)的參數(shù)i具有一個(gè)常量初始值0;當(dāng)不為該函數(shù)指定參數(shù)時(shí),該函數(shù)的參數(shù)默認(rèn)值是0,即此時(shí)輸出0;當(dāng)為該函數(shù)指定參數(shù)時(shí),該函數(shù)則輸出指定參數(shù)的值。
圖3所示:
從圖3中可以看出,func()函數(shù)的參數(shù)i的默認(rèn)值是變量i1,而變量i1的值是1,因此,如果不為func()函數(shù)指定參數(shù),此時(shí)該函數(shù)的參數(shù)默認(rèn)值是1。當(dāng)該變量默認(rèn)值發(fā)生改變時(shí),參數(shù)的默認(rèn)值不會(huì)隨著改變,
如圖4所示:
圖4 變量改變,默認(rèn)值不變
此時(shí),func()函數(shù)的參數(shù)對(duì)應(yīng)的默認(rèn)值變量i1的值變?yōu)?,而func()函數(shù)參數(shù)的默認(rèn)值依然是1。
原文鏈接:https://blog.csdn.net/hou09tian/article/details/123121605
相關(guān)推薦
- 2022-12-27 Python中賦值的含義及說(shuō)明_python
- 2023-12-21 Redis HyperLogLog的使用
- 2022-08-26 docker搭建memcached的詳細(xì)步驟_docker
- 2022-08-28 SpringCloudAlibaba-3.分布式事務(wù)(Seata)
- 2023-03-23 Python中win32com模塊的使用_python
- 2022-08-06 C語(yǔ)言實(shí)現(xiàn)UDP通信_(tái)C 語(yǔ)言
- 2022-04-02 jquery實(shí)現(xiàn)邊框特效_jquery
- 2021-12-10 golang?db事務(wù)的統(tǒng)一封裝的實(shí)現(xiàn)_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支