亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python函數聲明和調用定義及原理詳解

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

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

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

一.函數的定義

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

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

例如:寫一個函數輸出'hello world'

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

二.函數的調用

當在py文件中,代碼一行一行執(zhí)行,如果遇到函數的定義,編譯器會自動跳過,執(zhí)行函數之后的代碼,如果想調用函數直接調用即可。

注意:函數在調用之前必須先聲明。python中的內置函數如:print/type函數等等已經在python編譯器內部聲明并且定義好了,我們只管調用即可,不需要關心具體內部如何實現。示例代碼如下:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解憂
@Blog(個人博客地址): shuopython.com
@WeChat Official Account(微信公眾號):猿說python
@Github:www.github.com
 
@File:python_function.py
@Time:2019/10/3 10:48
 
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
"""
def custom_print():
  print("hello world")
  print("hello world")
  print("hello world")
custom_print()

輸出結果:

hello world
hello world
hello world

代碼分析:代碼執(zhí)行到第15行時,編譯器發(fā)現這是一個函數聲明,編譯器并不會執(zhí)行,會自動跳到函數末尾第20行,編譯器發(fā)現20行是在調用custom_print()函數,會直接進入custom_print()函數執(zhí)行函數內的代碼第16/17/18行直到函數結束,這就是整個運行過程。

三.函數傳參

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

函數聲明的時候定義的參數叫做形參;外部調用函數傳遞的參數叫做實參;函數的參數有兩者類型:

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

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)

輸出結果:

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.缺省參數

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

def cusom_print4(x,y=2,z=3): # x=2,z=3 缺省參數
  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)

輸出結果:

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.缺省參數都有一個默認值,如果外部沒有給缺省參數傳遞參數,那么直接取默認值;否則等于外部傳遞的參數值

2.缺省參數必須寫在函數形參的末尾

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

3.不定長參數

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

四.函數返回值return

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

五.重點總結

1.函數的聲明必須在調用之前,否則會報錯.

2.注意缺省參數的參數寫法

3.函數沒有使用return,默認返回None

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

相關文章

  • 基于Python實現視頻自動下載軟件

    基于Python實現視頻自動下載軟件

    這篇文章主要為大家詳細介紹了如何利用Python實現一個自動下載視頻、彈幕、評論的軟件,文中的示例代碼講解詳細,需要的小伙伴可以參考一下
    2022-08-08
  • python3+PyQt5實現自定義窗口部件Counters

    python3+PyQt5實現自定義窗口部件Counters

    這篇文章主要為大家詳細介紹了python3+PyQt5實現自定義窗口部件,Counters自定窗口部件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 在阿里云服務器上配置CentOS+Nginx+Python+Flask環(huán)境

    在阿里云服務器上配置CentOS+Nginx+Python+Flask環(huán)境

    這篇文章主要介紹了在阿里云服務器上配置CentOS+Nginx+Python+Flask環(huán)境的教程,值得一提的是這里的方案用Nginx作反向代理而使用Gunicorn作wsgi服務器,需要的朋友可以參考下
    2016-06-06
  • Python OpenCV對圖像像素進行操作

    Python OpenCV對圖像像素進行操作

    大家好,本篇文章主要講的是Python OpenCV對圖像像素進行操作,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Pytest 自動化測試框架的使用

    Pytest 自動化測試框架的使用

    本文主要介紹了Pytest 自動化測試框架的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Python3.9新特性詳解

    Python3.9新特性詳解

    這篇文章主要介紹了Python3.9新特性詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • python用moviepy對視頻進行簡單的處理

    python用moviepy對視頻進行簡單的處理

    這篇文章主要介紹了python如何用moviepy對視頻進行簡單的處理,幫助大家更好的利用python處理視頻,感興趣的朋友可以了解下
    2021-03-03
  • wxpython+pymysql實現用戶登陸功能

    wxpython+pymysql實現用戶登陸功能

    這篇文章主要介紹了wxpython+pymysql實現用戶登陸功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 利用pytorch實現對CIFAR-10數據集的分類

    利用pytorch實現對CIFAR-10數據集的分類

    今天小編就為大家分享一篇利用pytorch實現對CIFAR-10數據集的分類,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python中elasticsearch_dsl模塊的使用方法

    python中elasticsearch_dsl模塊的使用方法

    這篇文章主要介紹了python中elasticsearch_dsl模塊的使用方法,elasticsearch-dsl是基于elasticsearch-py封裝實現的,提供了更簡便的操作elasticsearch的方法
    2022-09-09

最新評論