Python 函式以及引數傳遞

2021-09-25 19:21:10 字數 2134 閱讀 6459

# ## 函式簡介(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語句 如果不...