<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

  • <button id="2ddn7"><object id="2ddn7"></object></button>
      1. <s id="2ddn7"></s>
        更多課程 選擇中心


        Python培訓

        400-111-8989

        其他語言無法比擬的6個Python特性

        • 發布:Python培訓
        • 來源:Python教程知識
        • 時間:2017-07-18 15:33

        Python有著豐富精巧的功能和技巧,會讓你驚嘆“哇!Python這么酷”。

        我們選取了一些我們很喜歡的功能并在下文中依次展示。希望你能從中學習到一些東西,并感到吃驚“我學完才知道這樣寫代碼更整潔”。

        生成器

        生成器是產生一個值的序列的對象。它可以用作迭代器,也就是說它可以用于for語句,或者用于next函數中來得到下一個值。但是你只能迭代一次值。

        可以通過一個使用yield關鍵字來生成值的函數創建生成器。當調用生成器函數時,將創建一個生成器對象。

        yield操作符

        對于簡單的情況,可以使用生成器表達式創建生成器。與列表相反,值將在運行中計算,而不是一次性全部計算并存儲在內存中。

        生成器表達式

        Collections模塊

        collections是標準庫中實現替代容器數據類型的一個模塊。

        例如,一個Counter是一個集合,其中元素被存儲為字典的鍵,而它們的計數被存儲為字典的值:

        計數器

        defaultdict是dict的一個子類,它允許調用時傳入一個工廠函數,這個函數在鍵值缺失時自動生成新的值。

        defaultdict

        defaultdict還可用于創建一個樹型數據結構。

        Itertools模塊

        itertools是標準庫中的一個模塊,可用于創建迭代器以實現有效的循環。

        例如,permutations會生成一組序列的所有可能排列:

        permutations

        類似地,combinations會根據所選擇的項目個數n,生成一組序列中的所有可能的n項的組合方式,使得(不同于permutations)順序無關緊要:

        combinations

        itertools還包含其他實用函數,例如chain,它采用迭代方式,創建一個新的迭代器,由給定的迭代順序返回元素形成單個序列:

        chain

        Packing/Unpacking

        *運算符,被稱為拆包或splat運算符,允許非常方便的從列表或元組到獨立的變量或參數的轉換,反之亦可。

        擴展可迭代序列的拆包

        當你的函數的參數已經在列表或元組中,可對其拆包。如果是列表你可以用*args來拆包,如果是字典就用**kwargs。

        Unpacking參數

        反過來也是可以的,你可以定義一個函數,將單個tuple里的所有參數和單個dict里的所有的關鍵字參數組包。

        關鍵字參數

        裝飾器

        裝飾器是一個接受函數作為參數并返回函數的函數。

        例如,在下面的代碼中,cache函數用作裝飾器來記住已經計算出的斐波那契數:

        裝飾器

        functools模塊提供了幾個裝飾器,例如lru_cache,它可以實現我們剛剛做的:存儲。當使用相同的參數調用給定的函數時,它可以保存最近的調用來節省時間:

        Iru_cache

        上下文管理器

        上下文管理器主要用于正確管理資源。上下文管理器最常用的用途是通過語句with open("workfile", "r") as f:打開文件。然而,大多數開發人員不知道其內部是如何運作的,也不知道如何自己創建。

        實際上,一個上下文管理器只是一個實現方法__enter__和__exit__的類。

        上下文管理器

        簡單使用時,也可以使用帶有yield關鍵字的生成器函數,也可使用@contextmanager裝飾器。

        使用@contextmanager的上下文管理器

        希望您喜歡我們在Python 3中選擇實現的這幾個最佳功能,請在論壇或Github上踴躍分享您的反饋:)

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:Python Web 框架介紹,讓你 Python 開發更輕松的框架
        下一篇:Python-基礎之函數使用注意點

        Python中類的屬性有哪幾種

        Python語法你知道多少

        Python 中常見的配置文件寫法

        Python爬蟲可以做什么

        • 掃碼領取資料

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        黑龍江省

        吉林省

        河北省

        湖南省

        貴州省

        云南省

        廣西省

        海南省

        青青青草网站免费观看|青青青视频在线观看 超真实强奷视频在线看 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>