<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">簡介說明</b> 原文鏈接: - [abc](https://docs.python.org/zh-cn/3.9/library/abc.html#module-abc) ``` 版本:abc 作用:Abstract Base Classes在代碼中定義和使用抽象基類進行API檢查 ``` <br/> # <b style="color:#4F4F4F;">abc</b> <br/> # <span style="color:#619BE4">*@abstractmethod</span> ***** 聲明抽象方法 <br/> # <span style="color:#619BE4">*get_cache_token()</span> ***** 返回當前抽象基類的緩存令牌 <br/> # <b style="color:#4F4F4F;">abc.ABCMeta</b> <br/> # <span style="color:#619BE4">[new]-ABCMeta()</span> ***** 設置類的metaclass <br/> ### 示例內容 <span style="color:red;">1. 舉例說明</span> ``` from abc import ABCMeta class MyABC(metaclass=ABCMeta): pass ``` <br/> # <b style="color:#4F4F4F;">abc.ABC</b> <br/> # <span style="color:#619BE4">[new]-ABC()</span> ***** 繼承該類創建抽象類 <br/> ### 示例內容 <span style="color:red;">1. 舉例說明</span> ``` 將“子類”注冊為該抽象基類的“抽象子類” from abc import ABC class MyABC(ABC): pass MyABC.register(tuple) assert issubclass(tuple, MyABC) assert isinstance((), MyABC) ``` <br/> # <span style="color:#619BE4">register()</span> ***** 將“子類”注冊為該抽象基類的“抽象子類” <br/> # <span style="color:#619BE4">\_\_subclasshook\_\_()</span> ***** 檢查 subclass 是否是該抽象基類的子類 <br/> ### 示例內容 <span style="color:red;">1. 舉例說明</span> ``` class Foo: def __getitem__(self, index): ... def __len__(self): ... def get_iterator(self): return iter(self) class MyIterable(ABC): @abstractmethod def __iter__(self): while False: yield None def get_iterator(self): return self.__iter__() @classmethod def __subclasshook__(cls, C): if cls is MyIterable: if any("__iter__" in B.__dict__ for B in C.__mro__): return True return NotImplemented MyIterable.register(Foo) ``` <br/> # <span style="color:#619BE4">\_\_subclasses\_\_()</span> ***** 通過基類找出所有的具體類 <br/>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看