函式是組織好的,可重複使用的,用來實現歹意,或相關聯功能的**段(塊)
簡單來說就是把一堆零散的**放在一起並組織起來完成乙個特定的任務
對齊一下幾個描述:函式/方法/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這樣的不變物件呢?因為不變物件一旦建立,物...