在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python 重載與重寫(xiě)的概念

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-11-03 15:13 ? 次閱讀

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

我們先來(lái)看看重載與重寫(xiě)的概念:

重載:

重載的條件如下:

1.一個(gè)類(lèi)里面

2.方法名字相同

3.參數(shù)不同

而參數(shù)不同可分為:參數(shù)類(lèi)型不同,參數(shù)個(gè)數(shù)不同。而上一次推送中,對(duì)on_created的修改并沒(méi)有針對(duì)參數(shù),我們只是單純地對(duì)函數(shù)內(nèi)容進(jìn)行修改而已。因此只能叫 重寫(xiě)

重寫(xiě):

條件如下:

1.參數(shù)列表與原函數(shù)一致。

2.返回類(lèi)型與原函數(shù)一致。

因此,根據(jù)這個(gè)條件,Python中絕大部分的繼承修改只能叫 重寫(xiě) ,而不能叫 重載

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

不過(guò)我們依然能通過(guò)singledispatch裝飾器來(lái)實(shí)現(xiàn)重載,不過(guò)官方稱(chēng)這樣的函數(shù)為泛型函數(shù),官方文檔:
https://docs.python.org/3/library/functools.html#functools.singledispatch

使用方法:

在需要被重載的函數(shù)上加上裝飾器:

圖片

然后用register屬性注冊(cè)重載后的函數(shù):

圖片

效果如下:

  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里的"重載",盡管大部分時(shí)候都不會(huì)用到這個(gè)功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1865

    瀏覽量

    32833
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4367

    瀏覽量

    64050
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4823

    瀏覽量

    86061
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Python

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

    函數(shù)重載隱藏覆蓋的區(qū)別

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

    漫談java中重載重寫(xiě)的不同

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

    java構(gòu)造函數(shù)重載定義

    方法重寫(xiě) 1、重寫(xiě)只能出現(xiàn)在繼承關(guān)系之中。當(dāng)一個(gè)類(lèi)繼承它的父類(lèi)方法時(shí),都有機(jī)會(huì)重寫(xiě)該父類(lèi)的方法。一個(gè)特例是父類(lèi)的方法被標(biāo)識(shí)為final。重寫(xiě)的主要優(yōu)點(diǎn)是能夠定義某個(gè)子類(lèi)型特有的行為
    發(fā)表于 09-27 11:40 ?0次下載

    python基礎(chǔ)教程之python是什么?概念解析

    Python,是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言Python基礎(chǔ)教程本書(shū)包括Python程序設(shè)計(jì)的方方面面,首先從Python的安裝開(kāi)始,隨后介紹了
    發(fā)表于 11-30 10:33 ?2341次閱讀
    <b class='flag-5'>python</b>基礎(chǔ)教程之<b class='flag-5'>python</b>是什么?<b class='flag-5'>概念</b>解析

    Java中重載重寫(xiě)的區(qū)別及范例詳解

    重載 overloading 1) 方法重載是讓類(lèi)以統(tǒng)一的方式處理不同類(lèi)型數(shù)據(jù)的一種手段。多個(gè)同名函數(shù)同時(shí)存在,具有不同的參數(shù)個(gè)數(shù)/類(lèi)型。重載是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。 2) Java的方法
    發(fā)表于 12-08 10:38 ?1315次閱讀

    總結(jié)25個(gè)python相關(guān)的基礎(chǔ)概念

    Python 是一種解釋型,面向?qū)ο蟮母呒?jí)編程語(yǔ)言。和別的一些使用標(biāo)點(diǎn)符號(hào)的語(yǔ)言不同,Python使用了大量的英語(yǔ)單詞作為關(guān)鍵字,因而具有很好的可讀性。而且跟其他編程語(yǔ)言相比,它有更少的語(yǔ)法結(jié)構(gòu)。本文總結(jié)25個(gè)python相關(guān)的
    的頭像 發(fā)表于 12-28 17:57 ?6754次閱讀

    C++:重載、重定義和重寫(xiě)概念和區(qū)分

    在C++中我們經(jīng)常會(huì)遇見(jiàn)“重載、重定義、重寫(xiě)”的概念,三個(gè)概念名字很像,很容易混淆,今天我們對(duì)三者進(jìn)行一個(gè)區(qū)分。
    的頭像 發(fā)表于 06-29 11:33 ?5965次閱讀

    C++之操作重載符學(xué)習(xí)的總結(jié)(二)

    復(fù)數(shù)的概念可以通過(guò)自定義類(lèi)實(shí)現(xiàn);復(fù)數(shù)中的運(yùn)算操作可以通過(guò)操作符重載實(shí)現(xiàn);賦值操作符只能通過(guò)成員函數(shù)實(shí)現(xiàn);操作符重載的本質(zhì)為函數(shù)定義。
    的頭像 發(fā)表于 12-24 16:26 ?726次閱讀

    重載連接器的優(yōu)勢(shì)是什么

    重載連接器是在特殊的環(huán)境下使用的,所以在設(shè)計(jì)重載連接器的時(shí)候會(huì)根據(jù)相應(yīng)的條件進(jìn)行設(shè)計(jì),而且重載連接器應(yīng)用在很多領(lǐng)域,那么重載連接器有哪些優(yōu)勢(shì)呢? 下面我們一起來(lái)看看吧!
    的頭像 發(fā)表于 06-30 15:53 ?2059次閱讀

    如何接線重載連接器

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

    python類(lèi)重載運(yùn)算符init和str介紹

    python模塊都有個(gè)內(nèi)置屬性**name**。
    的頭像 發(fā)表于 02-21 10:33 ?839次閱讀

    python中間模塊重載介紹

    python通過(guò)reload重載模塊動(dòng)態(tài)更新最新代碼。 ## 1.1 reload
    的頭像 發(fā)表于 02-21 11:16 ?702次閱讀

    Python列表的基本概念、常用操作及實(shí)際應(yīng)用

    于各種編程場(chǎng)景,從簡(jiǎn)單的數(shù)據(jù)處理到復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法。本文將介紹Python列表的基本概念、常用操作以及一些實(shí)際應(yīng)用。
    的頭像 發(fā)表于 04-16 10:42 ?2213次閱讀

    java中的重載重寫(xiě)的區(qū)別

    Java中的重載(Overload)和重寫(xiě)(Override)是兩個(gè)重要的面向?qū)ο缶幊?b class='flag-5'>概念,盡管它們?cè)谑褂煤凸δ苌嫌兴煌鼈兌寂c方法和多態(tài)性相關(guān)。本文將全面介紹重載
    的頭像 發(fā)表于 11-17 17:13 ?892次閱讀
    主站蜘蛛池模板: 天天做天天添婷婷我也去 | 沟沟人体一区二区 | 在线免费黄 | 亚洲电影在线播放 | 色网站观看 | 高清国产亚洲va精品 | 欧美国产黄色 | 亚洲激情视频网站 | 最刺激黄a大片免费观看下截 | 高清视频一区 | 亚洲午夜久久久 | 午夜高清免费观看视频 | 欧美成年性色mmm | 欧美三级网站 | 欧美福利片在线观看 | 成年色黄大色黄大片 视频 成年视频xxxxx免费播放软件 | 国产精品午夜免费观看网站 | 亚洲成人高清在线 | 国产伦子系列视频6 | 欧美精品二区 | 亚洲 [12p] | 日本三级在线观看免费 | 777成了人乱视频 | 欧美无遮挡一区二区三区 | 亚洲午夜精品久久久久久抢 | 色无欲天天天影视综合网 | 免费黄色大片网站 | 国产成人综合日韩精品婷婷九月 | 黄网站观看 | 欧美高清视频一区 | www.午夜 | 国产精品美女久久久久网站 | 日本最黄| 在线观看精品视频看看播放 | 999毛片免费观看 | 久久久亚洲欧美综合 | 免费一级大毛片a一观看不卡 | 久久婷婷激情 | 国内黄色一级片 | 四虎影院大全 | 天天操操操操操操 |