python 函式引數與區域性變數

2022-09-12 13:09:19 字數 1191 閱讀 4221

形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數;

實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值。

例:

def func(x,y):#

x,y為形參

data = x*y

return

data

c = func(a,b)#

a,b為實參

print(c)

預設引數:

def

stu_register(name,age,country,course=『china』):

這樣其中china這個引數就是通過預設引數實現的。

關鍵引數:

正常情況下,給函式傳引數要按順序,不想按順序就可以用關鍵引數,只需指定引數名即可,但記住乙個要求就是,關鍵引數必須放在位置引數之後。

非固定引數

函式在定義時不確定使用者想傳入多少個引數,可以使用非固定引數。

def stu_register(name,age,*args,**kwargs): #

*kwargs 會把多傳入的引數變成乙個dict形式

print

(name,age,args,kwargs)

stu_register(

"yue

",20)

stu_register(

"peter

",20,"

cn","

python

",***="

男",province="

東北")

全域性與區域性變數:(一定要搞清楚它們的作用域)

1.在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。

2.全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。

3.當全域性變數與區域性變數同名時:在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。

對於區域性變數 64位函式引數與區域性變數

在之前的文章中,我們已經簡單的了解了64位的一些引數的知識,下面我們從不同的情況對64位的堆疊與函式做詳細的講解。首先,對於64位的函式,他的引數並不都是以push壓棧的方式進行傳遞的,他的前4個引數分別通過rcx,rdx,r8,r9這幾個暫存器進行傳遞 如圖 從圖中的函式可以發現,64位的函式是不...

python函式區域性變數

python簡單變數 不考慮類變數 分為兩類 函式內定義的區域性變數,和函式外定義的全域性變數 基本訪問規則 1.在函式內部,可以直接 讀取訪問全域性變數 注意唯讀 usr bin env python i 10 def f j i 1 讀取全域性變數i f print i d i 2.在函式內部,...

python函式全域性變數與區域性變數

區域性變數 在函式中定義的變數一般只能在該函式內部使用,這些只能在程式的特定部分使用 全域性變數 在乙個檔案頂部定義的變數可以供該檔案中任意函式呼叫 1優先讀取區域性變數,能讀取全域性變數,無法對全域性變數重新賦值 name 全域性變數 def change name name 區域性變數 prin...