# ## 函式簡介(function)
# - 函式也是乙個物件
# - 物件是記憶體中專門用來儲存資料的一塊區域
# - 函式可以用來儲存一些可執行的**,並且可以在需要時,對這些語句進行多次的呼叫
# - 建立函式:
# def 函式名([形參1,形參2,...形參n]) :
# **塊
# - 函式名必須要符號識別符號的規範
# (可以包含字母、數字、下劃線、但是不能以數字開頭)
# - 函式中儲存的**不會立即執行,需要呼叫函式**才會執行
# - 呼叫函式:
# 函式物件()
# - 定義函式一般都是要實現某種功能的
# ## 函式的引數
# - 在定義函式時,可以在函式名後的()中定義數量不等的形參,
# 多個形參之間使用,隔開
# - 形參(形式引數),定義形參就相當於在函式內部宣告了變數,但是並不賦值
# - 實參(實際引數)
# - 如果函式定義時,指定了形參,那麼在呼叫函式時也必須傳遞實參,
# 實參將會賦值給對應的形參,簡單來說,有幾個形參就得傳幾個實參
# 1.定義函式時指定形參
def fn2(a , b) :
# print('a =',a)
# print('b =',b)
print(a,"+",b,"=",a + b)
# 呼叫函式時,來傳遞實參
fn2(10,20)
fn2(123,456)
# 2.定義乙個函式
# 定義形參時,可以為形參指定預設值
# 指定了預設值以後,如果使用者傳遞了引數則預設值沒有任何作用
# 如果使用者沒有傳遞,則預設值就會生效
def fn(a = 5 , b = 10 , c = 20):
print('a =',a)
print('b =',b)
print('c =',c)
fn(1 , 2 , 3)
fn(1 , 2)
fn()
# 3.實參的傳遞方式
# 位置引數
# 位置引數就是將對應位置的實參複製給對應位置的形參
# 第乙個實參賦值給第乙個形參,第二個實參賦值給第二個形參 。。。
# fn(1 , 2 , 3)
# 關鍵字引數
# 關鍵字引數,可以不按照形參定義的順序去傳遞,而直接根據引數名去傳遞引數
# fn(b=1 , c=2 , a=3)
# print('hello' , end='')
# 位置引數和關鍵字引數可以混合使用
# 混合使用關鍵字和位置引數時,必須將位置引數寫到前面
# fn(1,c=30)
def fn2(a):
print('a =',a)
# 4.函式在呼叫時,解析器不會檢查實參的型別
# 實參可以傳遞任意型別的物件
b = 123
b = true
b = 'hello'
b = none
b = [1,2,3]
# fn2(b)
fn2(fn)
def fn3(a , b):
print(a+b)
# fn3(123,"456")
def fn4(a):
# 在函式中對形參進行重新賦值,不會影響其他的變數
# a = 20
# a是乙個列表,嘗試修改列表中的元素
# 如果形參執行的是乙個物件,當我們通過形參去修改物件時
# 會影響到所有指向該物件的變數
a[0] = 30
print('a =',a,id(a))
c = 10
c = [1,2,3]
# fn4(c)
# 如果不想物件被影響,可以用以下方法
fn4(c.copy())
fn4(c[:])
print('c =',c,id(c))
Python 函式定義以及引數傳遞
形如 deffunc args.dosomething以關鍵字def 開頭,後面是函式名和引數下面是函式處理過程。舉例 def add a,b return a b引數可以設定預設值,如 def add a,b 10 注意 預設值引數只會運算一次 return a b預設值引數只會運算一次是什麼意思...
python中函式的引數以及命名空間
函式引數的概念 函式引數的兩大分類 形參 和 實參 形參 在函式定義中從左向右寫入的變數名就叫做形式引數,簡稱 形參 下圖中的a 和 b 就是形參 實參 在函式呼叫階段從左往右依次寫入的變數值就叫實際引數,簡稱 實參 下圖中的 1 和 2 就是實參 形參和實參相當於 變數名 和 變數值。變數名 與 ...
(14)shell 函式以及函式引數
函式可以讓我們將乙個複雜功能劃分成若干模組,讓程式結構更加清晰,重複利用率更高。shell 函式必須先定義後使用。function name 如果你願意,也可以在函式名前加上關鍵字 function function function name 注意 函式返回值,可以顯式增加return語句 如果不...