python值函数名的使用以及闭包,迭代器详解
生活随笔
收集整理的這篇文章主要介紹了
python值函数名的使用以及闭包,迭代器详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.函數名的運用
函數名就是一個變量名,但它是一個特殊的變量名,是一個后面加括號可以執行函數的變量名.
def func():print("我是一個小小的函數") a = func print(a)func() a()func = 3 print(func)函數名的命名規范與變量的命名規范一樣.
函數名可以作為列表中的元素進行存儲.
可以作為參數傳給函數
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def my():print("我是my")def proxy(fn): # 代理模式. 裝飾器print("在處理之前")fn()print("在處理之后")proxy(my) # 把函數名作為參數傳遞給另一個函數二.閉包
在內層函數中訪問外層函數的局部變量
好處:
1.可以保護的變量不受外界影響
2.可以讓變量常駐內存
語法:
def func1():a =1def func()print(a)return func()三.迭代器
使用dir來查看該數據包含了那些方法
用來便利列表,字符串,元組…可迭代對象
可迭代對象: Iterable,里面有__iter__()可以獲取迭代七,沒有__next__()
迭代器: Iterator,里面有__iter__()可以獲取迭代器,還有__next__()
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' s = '123' for i in s:print(i) print(dir(str)) # dir查看xx類型的數據可以執行哪些方法, __iter__ iterable print(dir(list)) # __iter__ print(dir(int)) # 沒有__iter__ # 所有的帶__iter__可以使用for循環的, 可迭代對象# 可迭代對象可以使用__iter__()來獲取到迭代器 # 迭代器里面有__next__() s = "我喜歡python" it = s.__iter__() # 獲取迭代器 print(dir(it)) # 迭代器里有__iter__ 還有__next__print(it.__next__())# 我 print(it.__next__())# 喜 print(it.__next__())# 歡 print(it.__next__())# p print(it.__next__())# y print(it.__next__())# t print(it.__next__())# h print(it.__next__())# o print(it.__next__())# n迭代器的特點:
只能向前
惰性機制
省內存(生成器)
for循環的內部機制
首先獲取到迭代器
使用while循環獲取數據
it.__next__()來獲取數據
處理異常 try: xxx except StopIteration:
總結
以上是生活随笔為你收集整理的python值函数名的使用以及闭包,迭代器详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python求两个列表的并集.交集.差集
- 下一篇: Python基础教程:正则表达式re高级