python學習之路9 初識函式

2022-05-25 02:03:08 字數 2713 閱讀 7909

函式是帶名字的**塊。

要執行函式定義的特定任務,可呼叫該函式。

需要在程式中多次執行同一任務時,你無需反覆編寫完成該任務的**,而只需要呼叫執行該任務的函式,讓python執行其中的**。

你將發現,通過使用函式,程式的編寫、閱讀、測試和修復都將更容易。

1、定義函式

def 定義的

函式名稱(引數):

函式內容

(return)

由def引出函式名稱,括號裡加入相應的引數,以冒號結束定義。

函式內容通過縮排進行表達。

2、函式的返回值

函式返回值有如下三種情況:

①沒有返回值:

#

1)不寫return

deffunc():

print('

123')#

2)只寫return:後面沒有東西,結束乙個函式。其返回值為『none』

deffunc1():

return

#返回值為none

view code

②返回乙個值:

#

1)可以返回任何資料型別

deffunc():

return

'123

'def

func1():

return[123]

deffunc2():

return(1,2,3)

deffunc3():

return

#2)只要返回,就可以收到

deffunc4():

return'你好

'#返回值: 你好

#3)有多個return,返回第乙個return的值d

deffunc5():

return 1

return

'不是1

' 返回值: 1

view code

③返回多個值

#

1)多個返回值用多個變數接收,有多少返回值就用多少變數接收;

deffunc():

return 1,2,3a,b,c =func()

print(a,b,c) #

返回值: 1 2 3

#2)多個返回值用乙個變數接收,接收值為乙個元組

deffunc1():

return 1,2,3a=func()

print(a) #

返回值: (1, 2, 3)

view code

3.多個引數傳遞情況

站在實參的角度上:

按照位置傳參

按照關鍵字傳參

混著用可以:但是 必須先按照位置傳參,再按照關鍵字傳引數

不能給同乙個變數傳多個值

站在形參的角度上

位置引數:必須傳,且有幾個引數就傳幾個值

預設引數: 可以不傳,如果不傳就是用預設的引數,如果傳了就用傳的

只有呼叫函式的時候

按照位置傳 : 直接寫引數的值

按照關鍵字: 關鍵字 = 值

定義函式的時候:

位置引數 : 直接定義引數

預設引數,關鍵字引數 :引數名 = '預設的值'

動態引數 : 可以接受任意多個引數

引數名之前加*,習慣引數名args,

引數名之前加**,習慣引數名kwargs

順序:位置引數,*args,預設引數,**kwargs

1

def func(*args): #

形參角度上:給變數加上*,就是組合所有傳來的值

2print(args) #

將值分別列印出來

3 l = [1,2,3,4,5]

4 func(*l) #

返回值為(1,2,3,4,5)56

7#站在實參的角度上,給乙個序列加上*,就是將這個序列按序打散開,傳給形參

*args

1

def func(**kwargs): 形參角度上:給變數加上**,就是組合所有傳來的值

2print

(kwargs)

3 d =

4 func(**d) #

返回值:56

7#實參出啊如的是打散的字典,通過函式呼叫,最終返回原字典

**kwargs

def qqxing(l=):        #

定義函式裡有乙個預設引數l你好'

)

print

(l)

qqxing()

#返回值: ['你好']

qqxing()

#返回值:['你好', '你好']

#預設引數隨著函式的不斷呼叫,會儲存先前的資料,從而偏離需求

解決方案:

def qqxing(l=none):

ifnot

l: l =

else

: l =l'你好

')print

(l)qqxing()

qqxing(l = [1,2,3,4,5])

qqxing()

python之路 初識函式

f x x 1y x 1 函式是對功能或者動作的封裝 def 函式名 函式體呼叫 函式名 def play print 今天我想打籃球 print 今天我想玩遊戲 print 今天我想彈鋼琴 print 今天我想跳舞 play return 返回 1.當程式沒寫過return,不返回任何結果.如果你...

Python學習之路 初識Python

python的創始人是吉多 範羅蘇姆 guido van rossum 在中國被親切地稱為 龜叔 荷蘭人。他是一位數學家,同時也傾向於做計算機的工作,熱衷於程式設計。guido曾使用過pascal c fortran等,這些語言的設計原則是讓機器能更快地執行。以c語言為例,用c語言實現乙個功能需要編...

Python學習之路 一(初識Python)

python是如今比較熱門的一門計算機程式語言,因為我需要python,所有我將把我的自學筆記上傳給予分享,同時我也列出了自己學習的資源,希望我們逐漸完善,不斷進步!第一章 初識python 1.概述 python是一種物件導向的解釋型計算機程式語言,由荷蘭人guido van rossum 吉多 ...