1.python內建函式
def compare(*args):return
max(args),min(args)
a,b=compare(1,2,3,4,5,6)
print("
max:{},min:{}
".format(a,b))
2.若定義的函式引數為可變型別的變數,若果呼叫改變了此變數,其他可以看到此位置的變數也跟隨改變
def extendlist(val, list=):return
list
list1 = extendlist(10)
list2 = extendlist(123, )
lis3=extendlist("a"
)print('
list1=%s
' %list1)
print('
list2=%s
' %list2)
print('
list3=%s
' % lis3)
3.閉包
def fun():name="jack"
def inner():
print(name)
return inner
c=fun()
print(c())
閉包是內層函式對外層函式變數的引用,目的一是為了使變數常駐記憶體,二是為了保證引數的安全性
4.迭代與迭代器
迭代資料型別:str,list,dict,tuple,檔案操作控制代碼
同過dir()查詢類中定義好的方法,查詢是否有__iter__()方法,如若物件中有__iter__()方法,則我們認為次類遵循了迭代協議,可以用此方法獲取迭代器
lis=[1,2,3,4,5]it=lis.__iter__
()while 1:
try:
c=it.__next__
()
(c)
except
: stopiteration
break
11 閉包 迭代器
今日主要內容 第一類物件 函式名 變數名 函式物件物件可以像變數一樣進行賦值 還可以作為列表的元素進行使用 可以作為返回值返回 可以作為引數進行傳遞 閉包 函式的巢狀 內層函式對外層函式中的變數的使用 好處 1.保護變數不被侵害 2.讓乙個變數常駐記憶體 如何通過 檢視乙個閉包 closure 有東...
Lua初識之迭代器與閉包
一 迭代器與閉包 迭代器是一種支援指標型別的結構,它可以遍歷集合的每乙個元素 在lua中我們常常使用函式來描述迭代器,每次呼叫該函式就返回集 合的下乙個元素 寫乙個方法實現迭代 function list iter t local i 0 定義區域性變數 i local n table.getn t...
泛型與閉包實現迭代器
泛型for 第一遍 1020 3040 50泛型for 第二遍 root localhost for cat for1.lua function iter t local i 0 return function i i 1 return t i endend my iter iter 第一種遍歷方式...