python 函數聲明和調用(18)

函數是指代碼片斷,能夠重複調用,好比咱們前面文章接觸到的type()/len()等等都是函數,這些函數是python的內置函數,python底層封裝後用於實現某些功能。python

複製粘貼

 

一.函數的定義

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

1github

2express

3微信

4ide

def functionname( parameters ):函數

   "函數說明"字體

   function_suiteui

   return [expression]spa

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

1

2

def cusom_print():

    print("hello world")

 

二.函數的調用

當在py文件中,代碼一行一行執行,若是遇到函數的定義,編譯器會自動跳過,執行函數以後的代碼,若是想調用函數直接調用便可。

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

# !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()

輸出結果:

1

2

3

hello world

hello world

hello world

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

 

三.函數傳參

函數能夠經過外部傳遞參數,好比:print()函數,能夠直接傳遞字符串並打印字符串;也能夠不傳遞參數,好比上面的custom_print函數,根據本身的需求而定.

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

1.常規參數

常規而言,函數默認有幾個形參,在外部調用時就須要傳遞多少個實參,示例代碼以下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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)

輸出結果:

1

2

3

4

5

6

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

在函數參數中,除了常規參數還有缺省參數,即缺省參數有一個默認值,若是外部調用該函數沒有給缺省參數傳遞參數,該形參直接取默認參數值;若是外部調用時給缺省參數傳遞了參數,那麼該形參的值應該等於外部傳遞的參數,帶有缺省參數的函數也被稱爲缺省函數,示例代碼以下:

1

2

3

4

5

6

7

8

9

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)

輸出結果:

1

2

3

4

5

6

7

8

9

10

11

12

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.缺省參數必須寫在函數形參的末尾

1

2

3

# 錯誤寫法

def cusom_print4(x,y=2,z):

    print("cusom_print4 : x={}".format(x))

 

 

3.不定長參數

除了上面二者,在函數的參數中還有一種不定長參數,即:函數的形參長度/類型都不固定,可能聽着有點蒙,這個問題咱們留到下一篇文章 python 函數不定長參數 *argc,**kargcs 講解,暫時不作過多解釋。

 

四.函數返回值return

函數的返回值無關緊要,根據本身的使用需求而定。若是函數沒有return返回值,默認會返回None,即空值。和 False 不一樣,它不表示 0,也不表示空字符串,而表示沒有值,也就是空值。

 

五.重點總結

1.函數的聲明必須在調用以前,不然會報錯.

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

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

猜你喜歡:

1.pycharm配置開發模板/設置字體大小

2.python列表推導式

3.python字典推導式

4.python 函數不定長參數 *argc,**kargcs

 

轉載請註明猿說Python » python函數聲明和調用

相關文章
相關標籤/搜索