日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习day13-函数进阶(1)

發布時間:2025/7/14 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习day13-函数进阶(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python學習day13-函數進階(1)

閉包函數

閉包函數,從名字理解,閉即是關閉,也就是說把一個函數整個包起來。正規點說就是指函數內部的函數對外部作用域而非全局作用域的引用。

為函數傳參的方式有常用有以下兩種:

  • 用參數的形式

    xxxxxxxxxx 5 1 def func(x): 2 ? ?print(x) 3 ? ? 4 func(1) 5 ?

    ?

  • 包給函數

    xxxxxxxxxx 11 1 def outter(x): 2 ? ?x = 1 3 ? ? 4 ? ?def inner(): 5 print(x) 6 ? ?return inner 7 f = outter(1)# outter的返回值為inner所以會執行到print(x) 8 ? 9 f() 10 f() 11 ?

    閉包函數的應用

    閉包的意義在哪呢,其返回的函數對象,不僅僅是一個函數對象,在該函數外還包裹了一層作用域,這使得該函數無論在何處調用的時候,都會優先調用外層包裹的作用域。

    其主要應用領域就在于延遲計算和爬蟲領域,可以簡化代碼量,也會使代碼更加的穩定。

  • 裝飾器

    裝飾器是一個邏輯上比較復雜的概念,所幸我們并不必追究太深,只需知道其使用方法和大概原理即可。

    所以什么是裝飾器呢,個人理解裝飾器就是包裹在函數外面的另外一個函數,而且裝飾器的起到對原函數增加功能的作用,且不影響原函數的調用和存在。

    需要注意的是,裝飾器本身其實是任意可調用的對象,被裝飾的對象也可以是任意可調用的對象。

    裝飾器的實現必須遵循的兩大原則在于:

    • 不修改被裝飾對象的源代碼
    • 不修改被裝飾對象的調用方式

    裝飾器模板

    這里咱們就不舉例那些非常復雜的裝飾器模型了,只會越看越暈,我們只需要記住并熟練一個裝飾器的模板就可以了,萬能模板如下:

    xxxxxxxxxx 1 def deco(func): 2 ? ?def wrapper(*args,**kwargs): 3 ? # 在這里寫需要添加并實現的功能 4 ? ? ? ?res = fun(*args,**kwargs) 5 ? ? ? ?return res 6 ? ?return wrapper 7 # 調用方式如下 8 def f1(): 9 print('from f1') 10 ? ? 11 f1 = deco(f1) 12 f1()

    迭代器

    迭代是一個比較常見的概念,迭代,也就是更新換代,一個接著一個改變,但單純的重復并不是迭代。

    可迭代對象

    Python中一切皆對象(注意,此對象非彼對象)。對于這一切對象中,只要是有__iter__方法的對象,都是可迭代對象。

    xxxxxxxxxx 1 1 name = 'nick'.__iter__ 2 lis = [1,2].__iter__ 3 tup = (1,2).__iter__ 4 dic = {'name':'nick'}.__iter__ 5 s1 = {'a','b'}.__iter__ 6 f = open('file','r',encoding = 'utf8') 7 f.__iter__ 8 f.close()

    ?

    迭代器對象

    可迭代對象是有__iter__方法的對象,而迭代器對象則是同時有__iter__和__next__方法的對象。

    其實只有文件本身即是可迭代對象又是迭代器對象,別的對象都需要用__iter__拿到迭代器本身才可以用__next__方法。

    for循環的原理

    for循環其實就是一種迭代器循環,in后面必須是可迭代的對象,這點在leetcode刷題的時候就可以碰到,但凡是碰到鏈表類型的題目,都是不能放在for循環里的,也不能用len測量其長度,就是因為鏈表類型不可迭代。

    其實for循環的內層原理類似于while然后捕捉錯誤,比如:

    xxxxxxxxxx 1 1 lt = [1,2,3] 2 lt_iter = lt.__iter__() 3 while 1: 4 try: 5 print(lt_iter.__next__()) 6 except StopIteration: 7 break 8 # for循環本身到最后也是報錯的StopIteration,只不是內部做了處理,捕捉到報錯直接break了,所以for循環的本質還是while循環。

    ?

    轉載于:https://www.cnblogs.com/Xu-PR/p/11342604.html

    總結

    以上是生活随笔為你收集整理的Python学习day13-函数进阶(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产一区二区精品久久 | 午夜91视频| 91欧美成人 | 国产成人欧美一区二区三区91 | 亚一区 | 最近中文字幕在线中文高清版 | 日本伦理中文字幕 | 天堂va蜜桃一区二区三区 | 男人喷出精子视频 | 国产精品久久久久无码av | 亚洲精品人 | 爱爱视频免费看 | 欧美激情免费 | 免费高清成人 | 91插插插插 | 国产 第1190页 | 校霸被c到爽夹震蛋上课高潮 | 亚洲免费一区 | 欧美一二三区在线观看 | 亚洲日b视频 | 起碰在线 | 东北少妇高潮抽搐 | 欧美成人综合在线 | 亚洲妇女体内精汇编 | 91黄色在线观看 | 性色av蜜臀av色欲av | 国内毛片毛片毛片毛片毛片 | 一区二区三区高清在线 | 看黄色大片 | 91嫩草欧美久久久九九九 | 星空大象mv高清在线观看免费 | 激情网站视频 | 欧美福利片在线观看 | 91蜜臀精品国产自偷在线 | 黄网页在线观看 | 夜福利视频 | 福利色导航 | 欧美熟妇乱码在线一区 | 欧美人与性动交α欧美片 | 日日爱886 | 欧美日韩乱 | 反差在线观看免费版全集完整版 | 91久久精品国产91久久 | 国产精品爱啪在线线免费观看 | 激情五月色婷婷 | 精品午夜久久 | 国产精品入口66mio男同 | www久久久久| 欧美高清videos高潮hd | 大香焦久久 | 国产一区二区三区乱码 | av夜夜 | 丰满少妇一区二区三区视频 | 国产一区二区视频在线观看 | 日韩欧美成人精品 | 亚洲三级欧美 | 国产一二精品 | 尤物精品视频在线观看 | 国产福利免费 | 国产精品无码99re | 久久久久久国产免费a片 | 国产欧美一级 | 少妇被躁爽到高潮 | 四虎影视网 | 小柔的裸露日记h | 91在线超碰 | 亚洲88av| 日韩午夜精品视频 | 91在线观| 日本亚洲网站 | 99嫩草| 国内偷拍一区二区 | 国产毛片精品国产一区二区三区 | 欧美另类一区二区 | 五月天中文字幕 | 久久国产二区 | 在线播放国产精品 | 寡妇高潮一级视频免费看 | 天天干天天操天天射 | 精品国产一区二区三区久久狼黑人 | 国产欧美又粗又猛又爽 | 日本网站在线播放 | 91超碰国产在线 | 日韩一级伦理片 | 色播放 | 黄频在线播放 | 观看免费av | 亚洲国产欧美日韩 | 热玖玖 | 九色在线播放 | 久久久一级黄色片 | 久操视频在线观看免费 | 国产精品久久久久久久专区 | 成人在线影视 | 六月婷婷在线 | 中文无码av一区二区三区 | 狠狠综合 | 91女人18毛片水多国产 | 日韩啪啪网站 |