目錄
- 一.前言
- 二.Python 函數(shù)定義
- 三.Python 函數(shù)的調(diào)用
- 四.Python 函數(shù)傳參
- 五.Python 函數(shù)返回值 return
- 六.Python 函數(shù)重點(diǎn)總結(jié)
- 七.猜你喜歡
零基礎(chǔ) Python 學(xué)習(xí)路線推薦 : Python 學(xué)習(xí)目錄 >> Python 基礎(chǔ)入門
一.前言
Python 函數(shù)是指代碼片段,可以重復(fù)調(diào)用,比如我們前面文章接觸到的 type / id 等等都是函數(shù),這些函數(shù)是 Python 內(nèi)置函數(shù),Python 底層封裝后用于實(shí)現(xiàn)某些功能,對(duì)于所有的 Python 內(nèi)置函數(shù),我們只管調(diào)用即可,不需要關(guān)心具體內(nèi)部如何實(shí)現(xiàn)。
二.Python 函數(shù)定義
在 Python 中,定義一個(gè)函數(shù)要使用 **def** 語(yǔ)句,依次寫出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào):,然后在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用 return 語(yǔ)句返回;如果沒(méi)有 return 語(yǔ)句,默認(rèn)返回 None ;
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說(shuō)編程
@Blog(個(gè)人博客地址): www.codersrc.com
@File:Python 函數(shù)使用.py
@Time:2021/3/29 08:00
@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!
"""
def functionname( parameters ):
"函數(shù)說(shuō)明"
function_suite
return [expression]
'''
例如:定義一個(gè)函數(shù)輸出’hello world’
'''
def cusom_print():
print("hello world")
三.Python 函數(shù)的調(diào)用
當(dāng)在 py 文件中,代碼一行一行執(zhí)行,如果遇到函數(shù)的定義,編譯器會(huì)自動(dòng)跳過(guò),執(zhí)行函數(shù)之后的代碼,如果想調(diào)用函數(shù)直接調(diào)用即可。
注意:函數(shù)在調(diào)用之前必須先聲明。Python 中的內(nèi)置函數(shù)如:print / type 函數(shù)等等已經(jīng)在 Python 編譯器內(nèi)部聲明并且定義好了,我們只管調(diào)用即可,不需要關(guān)心具體內(nèi)部如何實(shí)現(xiàn)。示例代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說(shuō)編程
@Blog(個(gè)人博客地址): www.codersrc.com
@File:Python 函數(shù)使用.py
@Time:2021/3/29 08:00
@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!
"""
def custom_print():
print("hello world")
print("hello world")
print("hello world")
custom_print()
'''
輸出結(jié)果:
hello world
hello world
hello world
'''
代碼分析:代碼執(zhí)行到第 15 行時(shí),編譯器發(fā)現(xiàn)這是一個(gè)函數(shù)聲明,編譯器并不會(huì)執(zhí)行,會(huì)自動(dòng)跳到函數(shù)末尾第 20 行,編譯器發(fā)現(xiàn) 20 行是在調(diào)用 custom_print 函數(shù),會(huì)直接進(jìn)入 custom_print 函數(shù)執(zhí)行函數(shù)內(nèi)的代碼第 16 / 17 / 18 行直到函數(shù)結(jié)束,這就是整個(gè)運(yùn)行過(guò)程。
四.Python 函數(shù)傳參
函數(shù)可以通過(guò)外部傳遞參數(shù),參數(shù)分為形參和實(shí)參:
def cusom_print(x): //x 是函數(shù)的形參 - 用于函數(shù)聲明
print("cusom_print : x={}".format(x))
cusom_print(1) //1 是函數(shù)的實(shí)參 - 用于調(diào)用函數(shù)時(shí)參數(shù)傳遞
1.Python 函數(shù)常規(guī)參數(shù)
常規(guī)而言,函數(shù)默認(rèn)有幾個(gè)形參,在外部調(diào)用時(shí)就需要傳遞多少個(gè)實(shí)參,示例代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說(shuō)編程
@Blog(個(gè)人博客地址): www.codersrc.com
@File:Python 函數(shù)使用.py
@Time:2021/3/29 08:00
@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!
"""
def cusom_print1(x):
print("cusom_print1 : x={}".format(x))
def cusom_print2(x,y):
print("cusom_print2 : x={}".format(x))
print("cusom_print2 : y={}".format(y))
def cusom_print3(x,y,z):
print("cusom_print3 : x={}".format(x))
print("cusom_print3 : y={}".format(y))
print("cusom_print3 : z={}".format(z))
cusom_print1(1)
cusom_print2(1,2)
cusom_print3(1,2,3)
'''
輸出結(jié)果:
cusom_print1 : x=1
cusom_print2 : x=1
cusom_print2 : y=2
cusom_print3 : x=1
cusom_print3 : y=2
cusom_print3 : z=3
'''
2.Python 函數(shù)缺省參數(shù)
在 Python 函數(shù)參數(shù)中,除了常規(guī)參數(shù)還有缺省參數(shù),即缺省參數(shù)有一個(gè)默認(rèn)值,
- 如果外部調(diào)用該函數(shù)沒(méi)有給缺省參數(shù)傳遞參數(shù),該形參直接取默認(rèn)參數(shù)值;
- ** 如果外部調(diào)用時(shí)給缺省參數(shù)傳遞了參數(shù),那么該形參的值應(yīng)該等于外部傳遞的參數(shù);**
帶有缺省參數(shù)的函數(shù)也被稱為缺省函數(shù),示例代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說(shuō)編程
@Blog(個(gè)人博客地址): www.codersrc.com
@File:Python 函數(shù)使用.py
@Time:2021/3/29 08:00
@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!
"""
def cusom_print4(x,y=2,z=3): # x=2,z=3 缺省參數(shù)
print("cusom_print4 : x={}".format(x))
print("cusom_print4 : y={}".format(y))
print("cusom_print4 : z={}".format(z))
print("***"*20)
cusom_print4(1)
cusom_print4(1,4)
cusom_print4(1,4,3)
'''
輸出結(jié)果:
cusom_print4 : x=1
cusom_print4 : y=2
cusom_print4 : z=3
************************************************************
cusom_print4 : x=1
cusom_print4 : y=4
cusom_print4 : z=3
************************************************************
cusom_print4 : x=1
cusom_print4 : y=4
cusom_print4 : z=3
************************************************************
'''
注意:
1.缺省參數(shù)都有一個(gè)默認(rèn)值,如果外部沒(méi)有給缺省參數(shù)傳遞參數(shù),那么直接取默認(rèn)值;否則等于外部傳遞的參數(shù)值;
-
2.缺省參數(shù)必須寫在函數(shù)形參的末尾;
錯(cuò)誤寫法
def cusom_print4(x,y=2,z):
print(“cusom_print4 : x={}”.format(x))
3.Python 函數(shù)不定長(zhǎng)參數(shù)
除了上面兩者,在函數(shù)的參數(shù)中還有一種不定長(zhǎng)參數(shù),即:函數(shù)的形參長(zhǎng)度/類型都不固定,可能聽(tīng)著有點(diǎn)蒙,這個(gè)問(wèn)題我們留到下一篇文章 Python 函數(shù)不定長(zhǎng)參數(shù) *argc , **kargcs 講解,暫時(shí)不做過(guò)多解釋。
五.Python 函數(shù)返回值 return
函數(shù)的返回值可有可無(wú),根據(jù)自己的使用需求而定。如果函數(shù)沒(méi)有 return 返回值,默認(rèn)會(huì)返回 None(即空值),與 False 不同,它不表示 0,也不表示空字符串,而表示沒(méi)有值,也就是空值。
六.Python 函數(shù)重點(diǎn)總結(jié)
- 1.函數(shù)的聲明必須在調(diào)用之前,否則會(huì)報(bào)錯(cuò);
- 2.注意缺省參數(shù)的參數(shù)寫法;
- 3.函數(shù)沒(méi)有使用 return,默認(rèn)返回 None ;
七.猜你喜歡
- Python 配置環(huán)境
- Python 變量
- Python 運(yùn)算符
- Python 條件判斷 if/else
- Python while 循環(huán)
- Python break
- Python continue
- Python for 循環(huán)
- Python 字符串
- Python 列表 list
- Python 元組 tuple
- Python 字典 dict
- Python 條件推導(dǎo)式
- Python 列表推導(dǎo)式
- Python 字典推導(dǎo)式
未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? Python 函數(shù)聲明和調(diào)用
本文由博客 - 猿說(shuō)編程 猿說(shuō)編程 發(fā)布!