1. 函式名的使用1.函式名是乙個變數,函式名儲存的是函式的記憶體位址
2.函式名可以賦值給其他變數
3.函式名可以當容器類物件的元素
4.函式名可以當其他函式的引數
5.函式名可以做函式的返回值
2.閉包:閉包就是內層函式對外層函式(非全域性)變數的使用
1.閉包的作用
1.可以保護變數不收侵害
2.常用變數常駐記憶體
2.閉包的判斷
1.print(函式名._closure_) 返回值為cell表示閉包,返回值為none表示不是閉包
2.閉包後內層函式怎麼訪問外層函式?
一層層返回就行
列:def func1():
def func2():
def func3():
print("嘿嘿")
return func3
return func2
func1()()()
3.迭代器
1.檢視變數能夠執行的方法 dir
2.itrator:迭代器,具有的方法 _iter_(),_next_()
3.iterable:可迭代的物件 具有的方法 _iter_()
for迴圈的機制
i=lst._iter_()
while1:
try:
el=i._next_()
print(el)
except stopitration
break
從迭代器中獲取元素的唯一方法_next_
4.三個特徵:
1.省記憶體
2.惰性機制
3.只能向前(迭代器是一次性用品,想返回只能重新獲取迭代器)
4.如何判斷物件是否可迭代
1.print(dir(物件)) 出現了_iter_->可迭代物件
2.print(dir(物件)) 出現了_next_->迭代器
print(
"__iter__"in
dir(lst)) # true 可迭代的
print(
"__next__"in
dir(lst)) # false 不是迭代器
i=xx._iter_(),能夠執行的話,i就是乙個迭代器,迭代器本身是可迭代的
3.from
cellection import iterable,itreator
print(isinstance(lis,itreable)) true
print(isinstance(lis,itreator)) false
5.關聯的小點
1.defunc(a,b)
'''文件注釋
這個函式用來計算兩個數的和並返回
:param a: 第乙個數
:param b: 第二個數
:return
: 第乙個數和第二個數的和
author:sylar
date:
2018-10-31
''' print("
我是func")
return a +b
print(func.__doc__) # document 文件注釋
print(func.__name__) # name 名字 獲取函式名
python之路 day10 閉包函式
1.命名關鍵字引數 格式 在 後面的引數都是命名關鍵字引數 特點 1.必須被傳值 2.約束函式的呼叫者必須按照key value的形式傳值 3.約束函式的呼叫者必須用我們指定的key名 1 def auth args,kwargs 2 3使用方式auth name egon pwd 123 4 pa...
day 12 函式名的應用 閉包 迭代器
今日主要內容 1,函式名的應用,第一類物件 函式名可以像變數一樣進行使用 再函式名後面新增 才是對函式的呼叫,否則列印的是函式的記憶體位址 1.賦值 2.作為list元素 3.作為引數 def func print 吃了 麼 def func2 fn print 我是func2 fn 執 行 傳遞過...
Python函式名應用 閉包 迭代器
函式名的應用.函式名是乙個變數,但它是乙個特殊的變數,與括號配合可以執行函式的變數.1.函式名的記憶體位址 def func print 呵呵 print func 2.函式名可以賦值給其他變數 def func print 呵呵 print func a func 把函式當成乙個變數賦值給另乙個變...