色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python 重載與重寫的概念

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-03 15:13 ? 次閱讀

在上一次的推送《Python 監控文件事件變化—以音樂高潮提取為例》中,最后繼承 LoggingEventHandler 類,對 on_created 進行修改的時候,我使用了一個詞叫:重載,隨后不久我便意識到犯下了一個錯誤。

我們先來看看重載與重寫的概念:

重載:

重載的條件如下:

1.一個類里面

2.方法名字相同

3.參數不同

而參數不同可分為:參數類型不同,參數個數不同。而上一次推送中,對on_created的修改并沒有針對參數,我們只是單純地對函數內容進行修改而已。因此只能叫 重寫

重寫:

條件如下:

1.參數列表與原函數一致。

2.返回類型與原函數一致。

因此,根據這個條件,Python中絕大部分的繼承修改只能叫 重寫 ,而不能叫 重載

Python其實不需要重載這個概念。為什么呢?重載主要是針對參數而言的,一個是改變參數的類型,一個是改變參數的個數。而Python不需要限定參數類型,又 可以接受可變參數,因此函數重載就顯得非常雞肋了。

不過我們依然能通過singledispatch裝飾器來實現重載,不過官方稱這樣的函數為泛型函數,官方文檔:
https://docs.python.org/3/library/functools.html#functools.singledispatch

使用方法:

在需要被重載的函數上加上裝飾器:

圖片

然后用register屬性注冊重載后的函數:

圖片

效果如下:

  1. >>> fun(42, verbose=True)

  2. Strengthin numbers, eh?42

  3. >>> fun(['spam','spam','eggs','spam'], verbose=True)

  4. Enumeratethis:

  5. 0 spam

  6. 1 spam

  7. 2 eggs

  8. 3 spam

看,這樣我們就順利完成了Python里的"重載",盡管大部分時候都不會用到這個功能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 參數
    +關注

    關注

    11

    文章

    1831

    瀏覽量

    32195
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84629
收藏 人收藏

    評論

    相關推薦

    Python

    的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實
    發表于 04-14 10:15

    函數重載隱藏覆蓋的區別

    `1.1 覆蓋隱藏重載重載,隱藏(重定義),覆蓋(重寫)—這幾個名詞看著好像很像,不過其實一樣都不一樣!!1.1.1 重載:(1)概念:在同一個作用域內;函數名相同,參數列表不同(參數
    發表于 05-11 09:33

    漫談java中重載重寫的不同

    首先我們來講講:重載(Overloading) (1) 方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。 重載Overloading是一個類中
    發表于 09-26 17:56 ?0次下載

    java構造函數重載定義

    方法重寫 1、重寫只能出現在繼承關系之中。當一個類繼承它的父類方法時,都有機會重寫該父類的方法。一個特例是父類的方法被標識為final。重寫的主要優點是能夠定義某個子類型特有的行為
    發表于 09-27 11:40 ?0次下載

    python基礎教程之python是什么?概念解析

    Python,是一種面向對象的解釋型計算機程序設計語言Python基礎教程本書包括Python程序設計的方方面面,首先從Python的安裝開始,隨后介紹了
    發表于 11-30 10:33 ?2275次閱讀
    <b class='flag-5'>python</b>基礎教程之<b class='flag-5'>python</b>是什么?<b class='flag-5'>概念</b>解析

    Java中重載重寫的區別及范例詳解

    重載 overloading 1) 方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。重載是一個類中多態性的一種表現。 2) Java的方法
    發表于 12-08 10:38 ?1263次閱讀

    總結25個python相關的基礎概念

    Python 是一種解釋型,面向對象的高級編程語言。和別的一些使用標點符號的語言不同,Python使用了大量的英語單詞作為關鍵字,因而具有很好的可讀性。而且跟其他編程語言相比,它有更少的語法結構。本文總結25個python相關的
    的頭像 發表于 12-28 17:57 ?6591次閱讀

    C++:重載、重定義和重寫概念和區分

    在C++中我們經常會遇見“重載、重定義、重寫”的概念,三個概念名字很像,很容易混淆,今天我們對三者進行一個區分。
    的頭像 發表于 06-29 11:33 ?5619次閱讀

    C++之操作重載符學習的總結(二)

    復數的概念可以通過自定義類實現;復數中的運算操作可以通過操作符重載實現;賦值操作符只能通過成員函數實現;操作符重載的本質為函數定義。
    的頭像 發表于 12-24 16:26 ?580次閱讀

    重載連接器的優勢是什么

    重載連接器是在特殊的環境下使用的,所以在設計重載連接器的時候會根據相應的條件進行設計,而且重載連接器應用在很多領域,那么重載連接器有哪些優勢呢? 下面我們一起來看看吧!
    的頭像 發表于 06-30 15:53 ?1844次閱讀

    如何接線重載連接器

    重載連接器定義及作用_重載連接器接線方法
    的頭像 發表于 09-19 15:46 ?5914次閱讀

    python重載運算符init和str介紹

    python模塊都有個內置屬性**name**。
    的頭像 發表于 02-21 10:33 ?675次閱讀

    python中間模塊重載介紹

    python通過reload重載模塊動態更新最新代碼。 ## 1.1 reload
    的頭像 發表于 02-21 11:16 ?543次閱讀

    Python列表的基本概念、常用操作及實際應用

    于各種編程場景,從簡單的數據處理到復雜的數據結構和算法。本文將介紹Python列表的基本概念、常用操作以及一些實際應用。
    的頭像 發表于 04-16 10:42 ?1782次閱讀

    java中的重載重寫的區別

    Java中的重載(Overload)和重寫(Override)是兩個重要的面向對象編程概念,盡管它們在使用和功能上有所不同,但它們都與方法和多態性相關。本文將全面介紹重載
    的頭像 發表于 11-17 17:13 ?665次閱讀
    主站蜘蛛池模板: 亚洲偷自拍精品视频在线观看| 少妇一夜未归暴露妓女身份| 日本免费一本天堂在线| 不分昼夜H1V3| 手机在线国产视频| 国产一区二区精品视频| 曰本熟妇乱妇色A片在线| 美女伊人网| 国产v综合v亚洲欧美大片| 亚洲国产夜色在线观看| 老湿机一区午夜精品免费福利| 456亚洲人成在线播放网站| 男人把女人桶到高潮嗷嗷叫| 国产成人在线视频播放| 亚洲精品国产拍在线观看| 久久一er精这里有精品| YIN荡的老师系列第6部分视频| 麒麟色欧美影院在线播放| 国产午夜精品一区二区理论影院 | 99精品影院| 无码AV精品久久一区二区免费| 久久免费高清| 俄罗斯大白屁股| 性色无码AV久久蜜臀| 老湿机一区午夜精品免费福利| 国产成人h在线视频| 在线超碰免费视频观看| 日韩毛片大全| 两个奶头被吃得又翘又痛| 国产黄片毛片| 91夫妻交友论坛| 亚洲精品成人无码A片在线| 美女PK精子小游戏| 国产免费久久精品国产传媒| 99热这里只有精品8| 亚洲中字慕日产2020| 爽娇妻快高h| 欧美人妇无码精品久久| 久久亚洲精品永久网站| 国产免费看黄的私人影院| 成人在线视频免费|