最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python函數(shù)聲明和調(diào)用定義及原理詳解

 更新時(shí)間:2019年12月02日 15:06:33   作者:猿說python  
這篇文章主要介紹了python函數(shù)聲明和調(diào)用定義及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python函數(shù)聲明和調(diào)用定義及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

函數(shù)是指代碼片段,可以重復(fù)調(diào)用,比如我們前面文章接觸到的type()/len()等等都是函數(shù),這些函數(shù)是python的內(nèi)置函數(shù),python底層封裝后用于實(shí)現(xiàn)某些功能。

一.函數(shù)的定義

在Python中,定義一個(gè)函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回;如果沒有return語句,默認(rèn)返回None:

def functionname( parameters ):
  "函數(shù)說明"
  function_suite
  return [expression]

例如:寫一個(gè)函數(shù)輸出'hello world'

def cusom_print():
  print("hello world")

二.函數(shù)的調(diào)用

當(dāng)在py文件中,代碼一行一行執(zhí)行,如果遇到函數(shù)的定義,編譯器會自動(dòng)跳過,執(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:何以解憂
@Blog(個(gè)人博客地址): shuopython.com
@WeChat Official Account(微信公眾號):猿說python
@Github:www.github.com
 
@File:python_function.py
@Time:2019/10/3 10:48
 
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(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ù)聲明,編譯器并不會執(zhí)行,會自動(dòng)跳到函數(shù)末尾第20行,編譯器發(fā)現(xiàn)20行是在調(diào)用custom_print()函數(shù),會直接進(jìn)入custom_print()函數(shù)執(zhí)行函數(shù)內(nèi)的代碼第16/17/18行直到函數(shù)結(jié)束,這就是整個(gè)運(yùn)行過程。

三.函數(shù)傳參

函數(shù)可以通過外部傳遞參數(shù),比如:print()函數(shù),可以直接傳遞字符串并打印字符串;也可以不傳遞參數(shù),比如上面的custom_print函數(shù),根據(jù)自己的需求而定.

函數(shù)聲明的時(shí)候定義的參數(shù)叫做形參;外部調(diào)用函數(shù)傳遞的參數(shù)叫做實(shí)參;函數(shù)的參數(shù)有兩者類型:

1.常規(guī)參數(shù)
常規(guī)而言,函數(shù)默認(rèn)有幾個(gè)形參,在外部調(diào)用時(shí)就需要傳遞多少個(gè)實(shí)參,示例代碼如下:

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.缺省參數(shù)

在函數(shù)參數(shù)中,除了常規(guī)參數(shù)還有缺省參數(shù),即缺省參數(shù)有一個(gè)默認(rèn)值,如果外部調(diào)用該函數(shù)沒有給缺省參數(shù)傳遞參數(shù),該形參直接取默認(rèn)參數(shù)值;如果外部調(diào)用時(shí)給缺省參數(shù)傳遞了參數(shù),那么該形參的值應(yīng)該等于外部傳遞的參數(shù),帶有缺省參數(shù)的函數(shù)也被稱為缺省函數(shù),示例代碼如下:

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)值,如果外部沒有給缺省參數(shù)傳遞參數(shù),那么直接取默認(rèn)值;否則等于外部傳遞的參數(shù)值

2.缺省參數(shù)必須寫在函數(shù)形參的末尾

# 錯(cuò)誤寫法
def cusom_print4(x,y=2,z):
print("cusom_print4 : x={}".format(x))

3.不定長參數(shù)

除了上面兩者,在函數(shù)的參數(shù)中還有一種不定長參數(shù),即:函數(shù)的形參長度/類型都不固定

四.函數(shù)返回值return

函數(shù)的返回值可有可無,根據(jù)自己的使用需求而定。如果函數(shù)沒有return返回值,默認(rèn)會返回None,即空值。和 False 不同,它不表示 0,也不表示空字符串,而表示沒有值,也就是空值。

五.重點(diǎn)總結(jié)

1.函數(shù)的聲明必須在調(diào)用之前,否則會報(bào)錯(cuò).

2.注意缺省參數(shù)的參數(shù)寫法

3.函數(shù)沒有使用return,默認(rèn)返回None

這篇文章主要介紹了python函數(shù)聲明和調(diào)用定義及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

相關(guān)文章

  • Python利用flask操作Redis的方法詳解

    Python利用flask操作Redis的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何利用flask操作Redis,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2023-02-02
  • python中json.dumps()和json.loads()的用法

    python中json.dumps()和json.loads()的用法

    json.dumps()和json.loads()?json.dumps()用于將字典形式轉(zhuǎn)換為字符串,下面這篇文章主要給大家介紹了關(guān)于python中json.dumps()和json.loads()用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Python實(shí)例教程之檢索輸出月份日歷表

    Python實(shí)例教程之檢索輸出月份日歷表

    這篇文章主要給大家介紹了關(guān)于Python實(shí)例教程之檢索輸出月份日歷表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)

    Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)

    這篇文章主要介紹了Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼),代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python原始套接字編程示例分享

    python原始套接字編程示例分享

    在實(shí)驗(yàn)中需要自己構(gòu)造單獨(dú)的HTTP數(shù)據(jù)報(bào)文,而使用SOCK_STREAM進(jìn)行發(fā)送數(shù)據(jù)包,需要進(jìn)行完整的TCP交互。因此想使用原始套接字進(jìn)行編程,直接構(gòu)造數(shù)據(jù)包,并在IP層進(jìn)行發(fā)送,即采用SOCK_RAW進(jìn)行數(shù)據(jù)發(fā)送。使用SOCK_RAW的優(yōu)勢是,可以對數(shù)據(jù)包進(jìn)行完整的修改,可以處理IP層上的所有數(shù)據(jù)包,對各字段進(jìn)行修改,而不受UDP和TCP的限制。
    2014-02-02
  • Python十大列表操作技巧分享

    Python十大列表操作技巧分享

    這篇文章給大家介紹了Python十大列表操作技巧分享,列表展開,降維,分塊,轉(zhuǎn)置,查找眾數(shù),判斷重復(fù)元素等十個(gè)操作技巧,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 基于plt.title無法顯示中文的快速解決

    基于plt.title無法顯示中文的快速解決

    這篇文章主要介紹了基于plt.title無法顯示中文的快速解決,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pandas按某列降序的實(shí)現(xiàn)

    pandas按某列降序的實(shí)現(xiàn)

    本文主要介紹了pandas按某列降序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 對django 2.x版本中models.ForeignKey()外鍵說明介紹

    對django 2.x版本中models.ForeignKey()外鍵說明介紹

    這篇文章主要介紹了對django 2.x版本中models.ForeignKey()外鍵說明介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python爬蟲通過替換http request header來欺騙瀏覽器實(shí)現(xiàn)登錄功能

    Python爬蟲通過替換http request header來欺騙瀏覽器實(shí)現(xiàn)登錄功能

    這篇文章主要介紹了Python爬蟲通過替換http request header來欺騙瀏覽器實(shí)現(xiàn)登錄功能,需要的朋友可以參考下
    2018-01-01

最新評論

肃宁县| 九龙城区| 马公市| 静宁县| 涿州市| 平泉县| 奇台县| 堆龙德庆县| 桦甸市| 台南县| 威信县| 天门市| 庄河市| 日喀则市| 汕尾市| 永嘉县| 新干县| 松原市| 蒲城县| 会昌县| 东乌| 沅陵县| 本溪市| 雷山县| 望江县| 聂拉木县| 通辽市| 越西县| 稷山县| 巴东县| 班玛县| 珲春市| 什邡市| 花莲县| 安达市| 宁乡县| 太白县| 赣州市| 扶绥县| 安宁市| 湟中县|