Python 函式 方法

2021-10-24 14:46:30 字數 3371 閱讀 9455

函式是組織好的,可重複使用的,用來實現歹意,或相關聯功能的**段(塊)

簡單來說就是把一堆零散的**放在一起並組織起來完成乙個特定的任務

對齊一下幾個描述:函式/方法/function(功能).

載體 函式程式設計模式,讓電腦的運算/邏輯以函式的方式進行呈現

組織 函式將原有零散的**根據功能進行組織

復用 對高頻次使用的**段(功能)進行重複使用

封裝 基於功能進行封裝,只需呼叫即可

清晰 提高整體**本身的可讀性

按需 需要的時候可即時呼叫

#def :宣告函式的關鍵字

#my_function() : 代表函式功能

#my_function :函式名

defmy_function()

:#函式功能體-具體幹活的**

print

('hello python'

) result =1+

1#函式返回值(根據需要用。非必須)

return result

#呼叫函式

#宣告函式一定要在呼叫函式之前

my_function(

)

定義在函式中使用的變數叫傳參

1、形式引數 引數的名字(類似變數名)

2、實際引數 該引數的具體值

3、位置引數 按照引數位置取值

4、關鍵字引數 就是乙個標準的變數賦值的過程

5、預設引數 為函式預設的引數值

6、引數組 可變引數和可變關鍵字

# 1.firstname和lastname 就是形式引數

# 2.形參之間用逗號,分割

defadd

(firstname,lastname)

: full_name = firstname+lastname

print

(full_name)

#呼叫1

# 位置傳參,受到位置限制,根據位置傳入值

add(

'james'

,'bond'

)#呼叫2

# 關鍵字傳參,不受位置影響,對應關鍵字傳入引數呼叫,

add(firstname=

'james'

,lastanme=

'bond'

)#引數組

'''1.單星號開始

2.星號後跟乙個關鍵字

3.args是乙個約定俗稱的命名

4.args可以自定義(不建議)

5.呼叫時傳多值

6.*arg接收後全部轉為元組

7.值列印或者return都是元組

8.*這裡代表接收的引數數量不受限制(大於等於0)

9.*args支援不傳值,輸出為空元組

'''def

my_funciton

(*args)

:print

(args)

#普通傳參

my_function(1,

2,3,

4,5)

#結構型別傳參,需要在變數名前加*號

list_data=[1

,2,3

,4]my_funciton(

*list_data)

#引數組和關鍵字引數混合

'''1.如果要對調num,*args位置,num需要使用關鍵字傳引數,否則不支援位參

2.注意如果有預設引數存在,取值的邏輯與關鍵字一致

3.如果預設引數在*args之後,使用位置引數賦值,這個就取不到值了,因為args吃了所有的資料,所以這種情況要使用關鍵字引數

'''#1

defmy_num

(num,

*args)

:print

(num)

print

(args)

my_num(1,

2,3,

4,5)

輸出: 1(2

,3,4

,5)#2

defmy_num

(num,num2=

100,

*args)

:print

(num)

print

(num2)

print

(args)

my_num(1,

2,3,

4,5)

輸出: 12(

3,4,

5)#擁有兩星的引數組 可變關鍵字引數

'''1.雙星號開始

2.雙星號後跟關鍵字

3.kwargs是乙個約定俗成的命名

4.kwargs可以自定義(不建議)

5.呼叫時 鍵值一起傳

6.**kwargs接收後轉為字典

7.值列印或者return都是字典

8.**這裡代表接收的引數數量不受限制(大於等於0)

9.**kwargs支援不傳值,輸出為空字典

'''def

my_nums

(**kwargs)

:print

(kwargs)

my_num(a=

1,b=

2,c=3)

輸出:#全部引數混合使用

'''1.如果可變引數和可變關鍵字引數同時出現,可變引數在前

2.可變關鍵字引數內key不能出現關鍵字引數現存名字

'''def

one_pice

(name,location,

*args,date_time=

2020

,**kwargs)

print

("名稱:"

,name)

print

("地點:"

,location)

print

(,date_time)

print

("船員:"

,args)

print

("職位:"

,kwargs)

one_pice(

'海賊王'

,'東海'

,'娜美'

,'烏索普'

,'山治'

,'喬巴'

,船長=

'路飛'

,副船長=

'索隆'

)#輸出

名稱:海賊王

地點:東海

船員:(

'娜美'

,'烏索普'

,'山治'

,'喬巴'

) 職位:

#全部引數混合使用常規套路(僅供參考)

defceshi

(grade(位置引數)

,***=『男』(預設引數),

*args(引數組)

,name(關鍵字引數),**kwargs(引數組) )

Python 函式(方法)

一 函式的定義 def python 的函式可以說比較隨意了 1.引數沒有型別,可以傳遞任何的型別給函式,由函式內容定義函式介面。如果傳遞的引數型別不是函式想要的,那麼函式可以丟擲異常。2.函式沒有返回值型別,return可以返回任意型別。二 函式的預設值 1.給乙個或多個引數設定預設值,這樣設定的...

python函式及方法 python 函式及練習

一 函式的返回值 可以通過人return 來指定函式的返回值 用乙個變數來接收返回值 return 後面跟什麼值,函式就會返回什麼值 在函式中return後的 都不會被執行,return一旦執行,函式自定結束 例如 print jaaj return 3 print 123 print fn fn是...

Python函式常用方法

1.預設引數 def enroll name,gender,age 6,city beijing print name name print gender gender print age age print city city 為什麼要設計str none這樣的不變物件呢?因為不變物件一旦建立,物...