Python函式簡要知識

2021-10-24 10:57:36 字數 1272 閱讀 2006

def printinfo(arg1,*vartuple):   #加了星號的變數名所代表的變數會存放所有的未命名變數引數

print(arg1)

for var in vartuple:

print(var)

return

printinfo(10)

printinfo(70,60)

#執行結果為

#10#70

#60

2.匿名函式:不再使用def語句定義的函式。

使用lambda來建立匿名函式。lambda只是乙個表示式,不是**塊。在lambda表示式中僅僅能封裝有限的邏輯。lambda函式擁有自己的命名空間,且 不能訪問自己引數列表之外或全域性命名空間。匿名函式相當於賦值給sum,用type函式檢視,sum為function。

sum=lambda arg1,arg2:arg1+arg2

print("相加之後的值為:",sum(10,20))

#輸出結果為:相加之後的值為:30

在乙個 python 程式中,直接訪問乙個變數,會從內到外依次訪問所有的作用域直到找到,否則會報未定義的錯誤。

python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。

1.作用域範圍。python的變數作用域一共四種:

規則順序:l –> e –> g –> b

g_count = 0  # 全域性作用域

def outer():

o_count = 1 # 閉包函式外的函式中

def inner():

i_count = 2 # 區域性作用域

內建作用域是通過乙個名為 builtin 的標準模組來實現的,但是這個變數名自身並沒有放入內建作用域內,所以必須匯入這個檔案才能夠使用它。在python3.0中,可以使用以下的**來檢視到底預定義了哪些變數。

python 中只有模組(module),類(class)以及函式(def、lambda)才會引入新的作用域,其它的**塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變數,外部也可以訪問。

2.global和nonlocal關鍵字

當內部作用域想修改外部作用域的變數時,就要用到global和nonlocal關鍵字了。global可以把內部變數修改為全域性變數,nonlocal可以把內部變數修改為閉包函式外的變數。

python函式知識 Python 函式知識

背景 在學習函式之前,一直遵循 面向過程程式設計,即 根據業務邏輯從上到下實現功能,其往往用一長段 來實現指定功能,開發過程中最常見的操作就是貼上複製,也就是將之前實現的 塊複製到現需功能處,如下 while true if cpu利用率 90 傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線 if...

CI框架 簡要知識

常用函式 this load helper url 載入輔助函式 redirect 類名 方法名 跳轉 site url 路徑如 localhost 8080 ci index.php base url 路徑如 localhost 8080 ci 載入驗證類 this load library fo...

java陣列簡要知識

二維陣列定義 int a int a new int 3 a 0 new int 2 a 1 new int 4 a 2 new int 5 int t new int 4 為非法,不允許此類操作 2.1 列印陣列 int a system.ouy.println a 不是陣列內容 system.o...