国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类

  • 首頁 > 數據存儲頻道 > 數據庫頻道 > 編程開發

    那些被忽視的Python核心功能...

    2023年08月07日 15:35:26 來源:51CTO

      編譯 | 王瑞平

      最實用、最簡單、最優美...近些年,大家學習Python的熱潮從未消退;無論是數據分析還是科學計算都少不了Python的身影。

      Python也沒有讓人失望,Java用100行代碼寫出的程序,用Python十行就能搞定!

      當你要說Hello World時,C語言、Java、Python分別是這樣的:

      一目了然,Python只需一行!

      雖然Python非常容易學習,但是許多實踐者只觸及到它的表面,而忽視了深入研究這門語言更高級、更強大的方面,而正是這些被忽視的方面使它如此獨特和強大。

      ——節選自《Fluent Python》

      如果你的目標是成為一名經驗豐富的Python程序員,你一定想了解的更多。因此,讓我們共同了解下你沒聽過的Python核心功能,先從最簡單的排列與組合開始...

      一、功能一:排列與組合

      你可以組合不同的for循環,輸出排列、組合和笛卡爾積等。

      1.排列

      舉個例子:當你在排列函數中輸入{[1,2,3],2}時,會輸出如下結果:

      2.組合

      當你在組合函數中輸入(‘ABC’,2)時,輸出的排列如下:

      3.笛卡爾積

      笛卡爾積是數學中的一種運算,用于求兩個集合中所有可能的有序對。

      當我們用笛卡爾積計算Python時,結果是這樣的:

      二、功能二:可變的參數默認值

      現在,開始增加難度...

      當你每次調用fib_memo函數卻不為memo參數賦值時,它將自動使用定義該函數時的原始值,公式和代碼如下:

      圖片

      由于在Python中,默認參數是可變的,你也可以像在“for循環”中一樣在單個腳本中多次執行函數,每次執行都能自動增加要計算的斐波那契數,而不會超過“最大遞歸深度”限制,因為memo可持續擴展。

      *重要提示:

      請記住,盡管可變的默認參數(如上所述)可以減少代碼,但它可能產生難以解決的bug。有些人將其判定為“陷阱”,而不是功能。因此,你仍需要堅持Python中所透露出的禪意:顯式優于隱式。

      就像Hacker news中指出的那樣:if n not in memo比if not n in memo更容易讀取,但是二者輸出結果相同。

      三、功能三:海象運算符

      下面,再來講講比較有趣的“海象運算符”...

      “海象運算符”是在Python 3.8版本中引入的賦值表達式運算符,用于在表達式中進行賦值操作,其符號為“:=”。這個符號有點像海象的眼睛和獠牙(因此被稱為「海象運算符」)。

      它可以被翻譯成英文“whale calculus”,是一種基于單詞語法規則的特殊運算符,用于定義表達式和一系列操作步驟的語言建模方式。

      顯然,用Python,賦值和檢查返回值是否包含真值變得更容易了:

      四、功能四:單星號(*)和雙星號(**)

      使用(*)可以在將參數或關鍵字參數傳遞給函數之前解壓縮,讓我們在如下代碼中使用:

      當調用sum_numbers函數而不解包my_numbers時,會引發"TypeError",因為該函數需要輸入兩個單獨的參數才能輸出結果。

      但是,通過使用(*),我們可以解壓縮my_numbers函數中的值,并將它們作為單獨的參數進行傳遞,從而產生正確的輸出。

      這種解包技術不僅適用于元組和列表,也適用于字典。

      當關鍵字作為參數時,我們可以使用雙星號(**),以如下代碼為例:

      除解壓縮序列以將其作為參數傳遞給函數外,你還可以使用它來創建新序列,例如:

      在此過程中,原始數字列表不受影響,并且你還將擁有一個new_list_numbers 變量,它包括相同列表的副本。

      五、 功能五:any and any

      any和all都是python中的內置函數,它們對可迭代對象(如,列表、元組或集合)進行操作,并根據可迭代對象中的元素以Boolean運算的形式返回,語句如下:

      你可以將any和all函數與列表推導式結合使用,列表推導式返回一個可迭代對象并將其作為參數傳遞給all函數:

      或任意函數:

      下表列出可迭代對象中用any和all函數賦值的輸出差異:

      六、功能六:交換變量

      用Python,你可以將參數打包((=)號右邊)和解包((=)號左邊)結合起來,并利用此功能交換變量:

      七、功能七:str vs repr

      在字符串處理方面,Python中的str()和repr()有所不同。str()將值轉化為前端樣式文本,repr()是后端底層代碼。

      ·str()函數:將值轉化為適于人閱讀的形式,面向用戶,返回值具有可讀性、可理解性較強。

      ·repr()函數:將對象轉化為供解釋器讀取的形式,面向開發人員,返回值表示python解釋器內部的含義。

      下圖是一個很好的例子:

      如你所見,repr()簡單將時間排列為字符串后輸出;如果你想確定當前變量是否包含字符串或時間對象,無法借此識別。

      str()提供了變量持有的實際對象信息,這些信息在調試過程中非常有價值。

      八、功能八:擴展的迭代解包

      迭代解包可應用到任何可迭代對象上,唯一的硬性要求是:被迭代對象中的元素數量必須與接受這些元素的元組空檔數一致,也可以使用星號 * 表示忽略多余的元素。

      這種方式的優點在于:更好賦值、更好獲取迭代對象中的某個值(一般的迭代對象分為:元組,列表,字典,字符串等)。

      如果你想獲得序列的第一個和最后一個值,需要輸入如下代碼:

      更換輸入和輸出語句后同樣可行...

      其它組合也同樣適用...

      九、功能九:多個上下文管理器

      通常,我們習慣一次性使用一個上下文管理器,比如,當你打開一個程序文件,需要輸入如下代碼:

      但是,在Python中,用一行語句就能打開多個文件。如果你想將行寫入其它文件,用Python語句就很容易實現,例如:

      十、功能十:調試程序

      為達到調試目的,我們可以在文件中輸出大量變量或可以簡單使用Python調試器(pdb),它可以幫我們設置斷點:

      程序將在斷點處停止,你可以在該斷點處獲取任何變量以檢查其值或該特定斷點是否存在。當程序遇到斷點時,可使用如下幾個命令:

      n或next:執行下一行。

      s或step:進入功能調用。

      c或continue:繼續執行,直到下一個斷點。

      l或list:顯示當前代碼的上下文。

      p 或pp :打印表達式的值。

      b 或break :在指定的行上設置新斷點。

      h或help:在使用pdb時提供幫助。

      q或quit:退出調試器并終止程序。

      十一、功能十一:collections模塊中的Counter

      collections模塊中的Counter類提供了一種便捷的方法,可以對可迭代對象中的元素進行計數:

      圖片

      十二、功能十二:使用下劃線的兩種情況

      在Python中有兩種需要用到下劃線:多位數分隔或排除不需要的值。

      1.排除不需要的值

      下劃線 _ 可被用作排除不需要的值:

      2.多位數分隔符

      在處理多位數時,可以使用下劃線 (_) 作為視覺分隔符,能增強可讀性。這個功能是在Python3.6中被引入的。

      十三、用戶:簡單、實用但范圍有限

      在reddit上,我們找到了關于用戶關于本篇文章的181條評論:

      正如文章開頭所述,他們認為:“用Python調試出的程序確實簡單、實用。”

      話雖如此,有些用戶也提出了質疑:“Pythonic的過濾器和映射方式更具可讀性,但是范圍有限。”

      但這一點也不影響用戶對Python的喜愛!

      十四、寫在最后:Python是你成為全棧工程師的必備武器

      前端開發、后端開發、項目測試...如果你想成為一名合格的全棧工程師,Python是你不可或缺的“武器”。

      在開發領域如此內卷的情況下,要完成一個現代化項目,需要一個人來掌控全局,他不需要是各種技術的資深專家,但需要熟悉各種技術。對于一個團隊特別是互聯網企業來說,全局性思維的人真的不可多得。

      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。

    海報生成中...

    最新新聞

    熱門新聞

    即時

    全球頂級AI創作社區回歸!海藝AI國內首發“全民娛樂化創作

    海藝AI的模型系統在國際市場上廣受好評,目前站內累計模型數超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創作風格。

    新聞

    市場占比高達35.8%,阿里云引領中國AI云增長

    9月9日,國際權威市場調研機構英富曼(Omdia)發布了《中國AI云市場,1H25》報告。中國AI云市場阿里云占比8%位列第一。

    企業IT

    華為坤靈發布IdeaHub千行百業體驗官計劃,助力中小企

    9月24日,華為坤靈召開“智能體驗,一屏到位”華為IdeaHub千行百業體驗官計劃發布會。

    3C消費

    雅馬哈推出兩款高端頭戴耳機YH-4000與YH-C3000

    雅馬哈昨日宣布推出兩款頭戴式耳機,分別是平板振膜的YH-4000和動圈原理的YH-C3000。

    研究

    IDC:2025上半年全球智能家居清潔機器人出貨量同比暴

    IDC今日發布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。

    国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类
    性xxxxfreexxxxx欧美丶| 久久夜色精品亚洲噜噜国产mv| 国模叶桐国产精品一区| 人交獸av完整版在线观看| 国产视频一区在线| 天天综合网 天天综合色| 日韩一区二区在线| 一区二区国产在线| 亚洲欧美日韩一区在线观看| 久久久国际精品| 99久久人爽人人添人人澡| 国产一区二区三区四区hd| 国产乱码精品一区二区三区亚洲人| 成人精品一区| 校园春色另类视频| 亚洲美女免费精品视频在线观看| 国产电影一区二区| 日韩三级精品| 欧美成年人视频网站欧美| 国产成人tv| 欧洲成人一区二区| 久久久蜜桃精品| 淫片在线观看| 亚洲国产精品va| 欧美视频专区一二在线观看| julia中文字幕一区二区99在线| 91精品蜜臀在线一区尤物| 欧美亚洲精品日韩| 青草视频在线免费直播| 在线观看日韩视频| 3d成人动漫在线| 亚洲视频二区| 不卡一卡二卡三乱码免费网站| 成人欧美在线| 一区二区三区四区在线看| 国产亚洲精品久久久久婷婷瑜伽| 亚洲中国最大av网站| 激情av综合网| 粉嫩一区二区三区四区公司1| 国产中文字幕日韩| 日韩在线欧美在线国产在线| 欧美国产不卡| 欧美一级大胆视频| 欧美福利一区二区三区| 日韩电影在线一区二区三区| 日韩av不卡在线| 亚洲小说欧美激情另类| 久久精品理论片| 欧美一级片免费在线| 奇米888四色在线精品| 一区二区三区四区精品在线视频| 亚洲欧洲日韩综合一区二区| 久久久久日韩精品久久久男男| 狠狠色丁香婷婷综合影院| 亚洲欧美偷拍卡通变态| 一区二区三区免费看视频| 免费一区二区视频| 久久国内精品视频| 男人影院在线观看| 日韩网站在线观看| 欧美成在线观看| 婷婷综合亚洲| 国产精品三级视频| 亚洲一区二区三区四区不卡| 51精品国自产在线| 国产亚洲欧美日韩在线观看一区二区| 91传媒视频免费| 欧洲亚洲一区二区三区四区五区| 手机在线免费看av| 91麻豆精品久久久久蜜臀| 欧美在线免费播放| 亚洲免费在线视频| 欧美成人免费一级人片100| 欧美区在线播放| 五月天婷亚洲天综合网鲁鲁鲁| www.久久草.com| 国产激情一区二区三区桃花岛亚洲| 日本女优一区| 国产日韩在线亚洲字幕中文| 亚洲ww精品| 91精品国产乱码久久久久久久久| 亚洲久久久久久久久久| 成人欧美一区二区三区黑人麻豆| www.久久久久久久久| 鲁大师精品99久久久| 玖玖精品在线| 国产激情视频在线| 亚洲大胆人体av| 久久免费少妇高潮久久精品99| 四虎影视国产精品| 69**夜色精品国产69乱| 久久精品99国产精品| 免费不卡在线视频| 亚洲精一区二区三区| 日韩欧美国产综合在线一区二区三区| 樱花草涩涩www在线播放| 欧美日韩一区二区三区在线看| 久久亚洲一区二区三区明星换脸| 久久久久北条麻妃免费看| 欧美日韩视频网站| 亚洲色图欧美| 久久久久久久久久久免费| 欧美性在线视频| 中文字幕第一区二区| 香蕉久久99| 国产在线xxx| 国产主播精品| 亚洲国产美女搞黄色| 国模吧精品视频| 国产精品理论在线观看| 日韩av网址在线观看| 欧美电影一区| 日韩精品一区二区视频| 日韩中文字幕无砖| 国产精一品亚洲二区在线视频| 国产精品手机在线播放| 在线日本高清免费不卡| 国产日韩视频一区二区三区| 亚洲免费av片| 久久视频在线视频| 人人超碰91尤物精品国产| 91国模大尺度私拍在线视频| 国产精品久久久久久久久久免费| 污污的视频在线观看| 亚洲大胆人体大胆做受1| 超碰在线99| 国产亚洲综合色| 国外视频精品毛片| 日韩中文字幕免费| 国产羞羞视频在线播放| av在线免费观看网址| 一区二区三区在线免费| 日韩精品成人一区二区三区| 国产精品地址| 国产不卡视频一区二区三区| 国产精品视频你懂的| 奇米影视777在线欧美电影观看| 丁香婷婷深情五月亚洲| 玖玖玖免费嫩草在线影院一区| 日韩欧美一区二区三区四区| 日本韩国欧美一区二区三区| 美女视频网站久久| 91精品久久久久久久91蜜桃| 丁香六月久久综合狠狠色| 99热这里只有精品首页| 在线播放日韩导航| 国内综合精品午夜久久资源| 日韩成人av电影在线| 在线电影一区二区| 精品国产精品一区二区夜夜嗨| 麻豆精品一二三| 97成人精品视频在线观看| 大地资源中文在线观看免费版| 就去色蜜桃综合| 亚洲欧美激情诱惑| 日韩在线第七页| 伊人成综合网yiren22| jizz日韩| 99久久综合狠狠综合久久| 色综合久久久久综合99| 91chinesevideo永久地址| 久久亚洲国产精品日日av夜夜| 亚洲午夜精品一区二区三区他趣| 国产精品一卡二|