Python 函數(shù)聲明和調(diào)用 - Python零基礎(chǔ)入門教程

目錄

零基礎(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 ;

七.猜你喜歡

  1. Python 配置環(huán)境
  2. Python 變量
  3. Python 運(yùn)算符
  4. Python 條件判斷 if/else
  5. Python while 循環(huán)
  6. Python break
  7. Python continue
  8. Python for 循環(huán)
  9. Python 字符串
  10. Python 列表 list
  11. Python 元組 tuple
  12. Python 字典 dict
  13. Python 條件推導(dǎo)式
  14. Python 列表推導(dǎo)式
  15. Python 字典推導(dǎo)式

未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? Python 函數(shù)聲明和調(diào)用

本文由博客 - 猿說(shuō)編程 猿說(shuō)編程 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容