国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

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

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

python類接口和抽象超類分析

jf_78858299 ? 來源:梯閱線條 ? 作者:小梯子 ? 2023-04-06 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.1 導(dǎo)入模塊執(zhí)行class語句

python導(dǎo)入模塊時(shí)會(huì)執(zhí)行class語句及主體內(nèi)的頂層語句。

示例

# test.py
class MyClass:
   print('MyClass')
# cmd執(zhí)行下面語句
E:\\documents\\F盤>python
>>> import test
MyClass

1.2 pytho類接口技術(shù)

python類接口技術(shù)通過繼承實(shí)現(xiàn)。

# test.py
class Super:
   '''定義一個(gè)超類。
  定義一個(gè)method方法。
  定義一個(gè)delegate方法,方法內(nèi)調(diào)用子類定義的action方法。
  '''
   def method(self):
       print('in Super.method')
   def delegate(self):
       '''調(diào)用子類定義的action'''
       self.action()
   
class Inheritor(Super):pass

class Replacer(Super):
   '''定義 Replacer 繼承 Super
  替換超類的 method 方法
  '''
   def method(self):
       print('in Replacer.method')

class Extender(Super):
   '''定義 Extender 繼承 Super
  調(diào)用超類的 method 方法, 并且進(jìn)行擴(kuò)展
  '''
   def method(self):
       print('Begin Extender.method')
       Super.method(self)
       print('End Extender.method')
       
class Provider(Super):
   '''定義 Provider 繼承 Super
  實(shí)現(xiàn)超類 delegate 內(nèi)調(diào)用的 action 方法
  '''
   def action(self):
       print('in Provider.action')
       
if __name__ == '__main__':
   for cls in (Inheritor,Replacer,Extender,Provider):
       print('\\n{}....'.format(cls.__name__))
       cls().method()
       
   print('\\nProvider')
   p = Provider()
   p.delegate()

''' 運(yùn)行結(jié)果

E:\\documents\\F盤>python test.py

Inheritor....
in Super.method

Replacer....
in Replacer.method

Extender....
Begin Extender.method
in Super.method
End Extender.method

Provider....
in Super.method

Provider
in Provider.action
'''

1.3 python抽象超類

python類的部分行為由子類提供,則為抽象超類。

1.3.1 調(diào)用方法時(shí)觸發(fā)提示

顯式要求子類必須實(shí)現(xiàn)抽象超類的方法:

(1) 方法一,在超類方法用assert False

(2) 方法二,在超類方法用 raise NotImplementedError

未實(shí)現(xiàn),則在實(shí)例調(diào)用方法時(shí)觸發(fā)報(bào)錯(cuò)提示。

子類和超類都未提供方法 ,報(bào) has no attribute

>>> class AbsSuper:
   def delegate(self):
       self.action()
       
>>> class Provider(AbsSuper):pass
>>> p=Provider()
>>> p.delegate()
Traceback (most recent call last):
 File ", line 1, in

在超類方法用assert False

>>> class AbsSuper:
   def delegate(self):
       self.action()
   def action(self):
       assert False,'子類必須定義 action'

       
>>> class Provider(AbsSuper):pass

>>> Provider().delegate()
Traceback (most recent call last):
 File ", line 1, in

在超類方法用raise NotImplementedError

>>> class AbsSuper:
   def delegate(self):
       self.action()
   def action(self):
       raise NotImplementedError('子類必須定義 action')
>>> class Provider(AbsSuper):pass

>>> Provider().delegate()
Traceback (most recent call last):
 File ", line 1, in

1.3.2 創(chuàng)建實(shí)例時(shí)觸發(fā)提示

(1) 帶有@abstractmethod修飾的方法為抽象方法。

(2) 帶有抽象方法的類不能進(jìn)行實(shí)例化。

(3) 超類有抽象方法時(shí),子類必須重寫超類的抽象方法。

(4) 未重寫,則創(chuàng)建實(shí)例時(shí)觸發(fā)報(bào)錯(cuò)提示。

抽象方法定義:

(1) python3:超類頭部括號(hào)送metaclass**=**ABCMeta。

(2) python2:超類主體定義**metaclass****=**ABCMeta。

(3) 用@abstractmethod修飾方法。

python3示例

>>> from abc import ABCMeta,abstractmethod
>>> class MySuper(metaclass=ABCMeta):
   def delegate(self):
       self.action()
   # @abstractmethod 為抽象方法,子類必須重寫
   @abstractmethod
   def action(self):
       pass  # 抽象方法在父類通常留空,用pass進(jìn)行占位

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

    關(guān)注

    1

    文章

    277

    瀏覽量

    41817
  • Class
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    20099
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86811
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何使用Python? 優(yōu)勢(shì)有哪些?

      Python是一種面向?qū)ο蟮母呒?jí)語言,因此類對(duì)于Python非常重要。是一個(gè)空間,在該空間中變量(屬性/方法)分別存儲(chǔ)。運(yùn)算符' . '用于調(diào)用的屬性和方法。
    發(fā)表于 07-30 18:08

    python的理解與使用

    python的理解與使用1. 通俗理解(英文名 class),是具有相同特性(屬性)和行為(方法)的對(duì)象(實(shí)例)的抽象模板。從定義上來
    發(fā)表于 03-07 16:51

    JAVA語言的抽象封裝與

    JAVA語言的抽象封裝與5.1 抽象與封裝5.2 Java的5.3 的修飾符5.4 域5.5 方法5.6 訪問控制符面向?qū)ο蟮某绦蛟O(shè)計(jì)
    發(fā)表于 12-14 20:33 ?45次下載

    抽象類接口的區(qū)別及用法

    接口只能包含方法聲明,而抽象類還可以包含方法的定義。
    發(fā)表于 12-28 14:34 ?1664次閱讀

    《Visual C# 2005開發(fā)技術(shù)》抽象類、多態(tài)及接口

    《Visual C# 2005開發(fā)技術(shù)》抽象類、多態(tài)及接口
    發(fā)表于 02-07 15:17 ?0次下載

    分析java接口抽象類區(qū)別

    一。抽象類 二。接口 三。抽象類接口的區(qū)別 一。抽象類 在了解抽象類之前,先來了解一下
    發(fā)表于 09-27 16:40 ?0次下載

    python的理解與使用

    python的理解與使用 1. 通俗理解 (英文名 class),是具有相同特性(屬性)和行為(方法)的對(duì)象(實(shí)例)的抽象模板。 從定
    的頭像 發(fā)表于 03-07 16:51 ?1854次閱讀

    Python繼承的基本規(guī)則

    繼承規(guī)則 與其他基于的語言一樣,可以通過繼承組合多個(gè)定義。 定義可以擴(kuò)展(或繼承)多個(gè)其他。這些又可以擴(kuò)展其他
    的頭像 發(fā)表于 09-20 14:24 ?761次閱讀

    java接口抽象類的區(qū)別

    Java中的接口(Interface)和抽象類(Abstract class)都是抽象的概念,它們可以用來定義的行為和特征。雖然它們具有一些相似之處,但也存在一些重要的區(qū)別。本文將詳
    的頭像 發(fā)表于 11-21 09:45 ?861次閱讀

    Java中抽象類接口的介紹

    Java是一種面向?qū)ο蟮木幊陶Z言,提供了抽象類接口兩種機(jī)制來幫助開發(fā)人員組織和管理代碼。本文將詳細(xì)介紹Java語言中抽象類接口的概念、特點(diǎn)、使用方式以及它們之間的區(qū)別和聯(lián)系。
    的頭像 發(fā)表于 11-21 09:47 ?707次閱讀

    抽象類可以實(shí)現(xiàn)接口

    抽象類是一種特殊的,在面向?qū)ο缶幊讨衅鸬搅撕苤匾淖饔?。同時(shí),接口也是面向?qū)ο缶幊讨械囊粋€(gè)重要概念,用于定義的契約和行為。抽象類
    的頭像 發(fā)表于 11-21 09:49 ?1606次閱讀

    java接口是特殊的抽象類

    Java接口是一種特殊的抽象類嗎? 在Java編程語言中,接口(interface)與抽象類(abstract class)是兩種不同的概念,盡管它們之間存在一些相似之處,但在設(shè)計(jì)和使
    的頭像 發(fā)表于 11-21 10:07 ?906次閱讀

    如何理解java中的抽象類

    Java中的抽象類是一種特殊的,無法被實(shí)例化,只能被繼承。它是一個(gè)中間層的,位于具體接口之間,用于定義通用的屬性和方法,并提供一些默
    的頭像 發(fā)表于 11-21 10:16 ?839次閱讀

    java抽象類可以有普通方法嗎

    Java中的抽象類可以有普通方法,但它也可以有抽象方法。抽象類是一種中間狀態(tài),介于普通接口之間。它允許定義方法的具體實(shí)現(xiàn),同時(shí)也可以定義
    的頭像 發(fā)表于 11-21 10:22 ?2000次閱讀

    java抽象類可以有構(gòu)造函數(shù)嗎

    Java 中,抽象類是一種不能直接實(shí)例化的,它通常用作其他的父接口的實(shí)現(xiàn)。
    的頭像 發(fā)表于 11-21 10:23 ?1547次閱讀