• 函式也是乙個物件
• 函式用來儲存一些可執行的**,並且可以在需要時,對這些語句進行多次呼叫
•語法
def 函式名([形參1,形參2,形參3....]):
**塊
注意:
函式名必須符合識別符號的規範(可以包含字母、數字、下劃線但是不能以數字開頭)
deffn(
):print
('呼叫fn!!!'
)fn(
)# 呼叫fn!!!
fn是函式物件 fn()是呼叫函式
• 形參(形式引數) 定義形參就相當於在函式內部宣告了變數,但是並不是賦值
• 實參(實際引數)指定了形參,那麼在呼叫函式時必須傳遞實參,實參將會賦值給對應的形參,簡單來說有幾個形參就要有幾個實參
def
sum_num
(a,b)
:print
(a ,
'+',b,
'=',a+b)
sum_num(5,
6)# 5 + 6 = 11
• 定義形參時,可以為形參指定預設值。
指定了預設值以後,如果使用者傳遞了引數則預設值不會生效。
def
fn(a=
2,b=1)
:print
('a ='
,a,'b ='
,b)fn(5,
6)# a = 5 b = 6
如果使用者沒有傳遞,則預設值就會生效
def
fn(a=
2,b=1)
:print
('a ='
,a,'b ='
,b)fn(
)# a = 2 b = 1
• 位置引數:位置引數就是將對應位置的實參賦值給對應位置的形參
def
fn_num
(num2,num1)
:print
('num1 ='
,num1,
'num2 ='
,num2)
num1=
5num2=
6fn_num(num1,num2)
# num1 = 6 num2 = 5
• 關鍵字引數 : 關鍵字引數可以不按照形參定義的順序去傳遞,而根據引數名進行傳遞
def
fn(b=
1,c=
2,a=3)
:print
('a ='
,a,'b ='
,b,'c ='
,c)fn(a=
4,b=5)
# a = 4 b = 5 c = 2
• 混合使用位置引數和關鍵字引數的時候必須將位置引數寫到關鍵字引數前面去
def
func
(a, b=2)
:print
('a ='
, a,
' b ='
, b)
func(3)
# a = 3 b = 2
• 定義函式時,可以在形參前面加乙個*, 這樣這個形參可以獲取到所有的實參,它會將所有的實參儲存到乙個元組中
• 帶 * 號的形參只能有乙個,可以和其他引數配合使用
• 帶 * 號的形參只能接受位置引數,不能接受關鍵字引數
deffn(
*num)
:print
(num,
type
(num)
)fn(1,
2,3,
4,5,
"12345"
)# (1, 2, 3, 4, 5, '12345')
• * *形參可以接收其他的關鍵字引數,它會將這些引數統一儲存到字典當中。字典的key就是引數的名字,字典的value就是引數的值
• * *形參只有乙個,並且必須寫在所有引數的後面
deffn(
**num)
:print
(num,
type
(num)
)fn(a=
1,b=
2,c=
3,d=
"12345"
)#
• 傳遞實參時,也可以在序列型別的引數前新增星號,這樣它會自動的將序列中元素依次作為引數傳遞
• 要求序列中的元素的個數必須和形參的個數一致
def
fn4(a,b,c)
:print
('a ='
,a,'b ='
,b,'c ='
,c)t =(10
,20,30
)fn4(
*t)# a = 10 b = 20 c = 30
def
fn4(a,b,c)
:print
('a ='
,a,'b ='
,b,'c ='
,c)d =
fn4(
**d)
# a = 1 b = 2 c = 3
Python基礎 第八章
到斜槓與正斜槓 windows中,路徑書寫使用倒斜槓作為資料夾之間的分隔符,os x和linux上,則使用正斜槓作為它們的路徑分隔符。獲取當前工作目錄 os.getwd 即可獲得當前工作路徑的字串。絕對路徑和相對路徑 絕對路徑 總是從根資料夾開始,相對路徑 相對於程式的當前工作目錄。os.path模...
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...
第八章 函式高階
在函式宣告和函式定義前加上inline 乙個簡單的計算平方的 include using namespace std inline double square double x int main 內聯函式的使用 函式經常呼叫,函式體較小,不包含迴圈之類的 引用變數的主要用途是用作函式的形參 引用變數...