一、函式(function)
1、函式簡介
(1)函式也是乙個物件,物件是記憶體中專門用來儲存資料的一塊區域。
(2)函式可以用來儲存一些可執行的**,並且可以在需要時,對這些語句進行多次呼叫
2、建立函式:
(1)def 函式名 ([形參1,形參2,…形參n]):
**塊函式名必須要符合識別符號的規範(可以包含字母、數字、下劃線,但是不能用數字開頭)
(2)函式中儲存的**不會立即執行,需要呼叫函式**才會執行
3、呼叫函式
(1)fn是函式物件,fn()呼叫函式
print是函式物件,print()呼叫函式
# 定義乙個函式
deffn()
:print
('這是我的第乙個函式!'
)# 列印fn
# print(fn)
# print(type(fn))
# fn是函式物件,fn()呼叫函式
# print是函式物件,print()呼叫函式
# 呼叫函式
fn()
4、定義函式 — 一般都是要實現某種功能的
二、函式的引數
1、在定義函式時,可以在函式名後的()中定義數量不等是形參,多個形參之間使用,隔開
2、形參(形式引數),定義形參就相當於在函式內部宣告了變數,但是並不賦值
3、實參(實際引數)
①如果函式定義時,指定了形參,那麼在呼叫函式時也必須傳遞實參,實參將會賦值給對應的形參,簡單來說,有幾個形參就得傳幾個實參。
②函式在呼叫時,解析器不會檢查實參的型別,實參可以傳遞任意的型別物件
# 實參可以傳遞任意型別的物件
deffn
(a):
print
('a='
,a)b=
123b=
true
b='hello'
b=noneb=[
1,2,
3]fn(b)
4、定義乙個函式
(1)定義形參時,可以為形參指定預設值
指定預設值以後,如果使用者傳遞了引數則預設值沒有任何作用
如果使用者沒有傳遞,則預設值就會生效
def
fn(a,b,c=20)
print
('a='
,a)print
('b='
,b)print
('c='
,c)fn(1,
2,3)
# a=1 b=2 c=3
fn(1,2
)# a=1 b=2 c=20
5、引數的傳遞方式
(1)位置引數
①位置引數就是將對應位置的引數賦值給對用位置的形參
②第乙個實參賦值給第乙個形參,第二個實參賦值給第二個形參…
(2)關鍵字引數
①關鍵字引數可以不按照形參定義的順序去傳遞,而是直根據引數名去傳遞引數
位置引數和關鍵字引數可以混合使用,混合使用時,必須將位置引數寫到前面
# 定義函式時指定形參
deffn
( a , b )
:print
('a ='
,a)print
('b ='
,b)print
(a,'+'
,b,'='
,a+b)
# 呼叫函式時,來傳遞實參
fn(10,20
)
6、值的傳遞
def
fn(a)
:# 在函式中對形參進行重新賦值,不會影響其他的變數
# 如果形參執行的是乙個物件,當我們通過形參去修改物件時
# 會影響到所有指向該物件的變數
a[0]
=30# 改變量
print
('a ='
,a )
c =10
c =[1,
2,3]
# a和c是同乙個物件(改物件)
fn(c)
fn(c.copy())
# 傳遞的是副本,二者不是同乙個物件
print
('c='
,c)
練習題
1、定義乙個函式,可以用來求任意三個數的乘積
def
fn(a,b,c)
:print
(a,'*'
,b,'*'
,c,'='
,a*b*c)
fn(1,
2,3)
2、根據不同的使用者名稱顯示不同的歡迎資訊
def
welcome
(username)
:print
('歡迎'
,username,
'光臨'
)welcome (
'肖戰'
)
C語言函式可變引數處理簡介
在c語言程式設計中,有時會遇到函式可變引數的情況,c語言沒有像c 那樣具有函式過載的機制,不過c語言還是考慮到了這方面的問題,設計了幾條語句來處理這種情況。下面就以例項來說明這個語句的使用,部分說明就包含在程式中了吧。1 求取乙個可變陣列的均值 include stdafx.h include in...
python引數函式 Python函式引數總結
coding utf 8 整理一下python函式的各種引數型別 位置引數 呼叫函式時,傳入的兩個值按照位置順序依次賦給引數 def power x,n s 1 while n 0 n n 1 s s x return s print power 5,2 預設引數 簡化函式的呼叫 def power...
函式傳引數 python 函式引數
1.位置引數 最熟悉的一種引數形式,優點 簡單。缺點 傳遞引數不夠靈活 2.預設引數 優點 提高了 的復用性 缺點 容易產生二義性 注意事項 一是必選引數在前,預設引數在後。二是如何設定預設引數。當函式有多個引數時,把變化大的引數放前面,變化小的引數放後面。變化小的引數就可以作為預設引數。def p...