1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6 <title>abc.ABCMeta</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
18 <th> <a
19 href="lxml-module.html">Home</a> </th>
22 <th> <a
23 href="module-tree.html">Trees</a> </th>
26 <th> <a
27 href="identifier-index.html">Indices</a> </th>
30 <th> <a
31 href="help.html">Help</a> </th>
33 <!-- Project homepage -->
34 <th class="navbar" align="right" width="100%">
35 <table border="0" cellpadding="0" cellspacing="0">
36 <tr><th class="navbar" align="center"
37 ><a class="navbar" target="_top" href="/">lxml API</a></th>
41 <table width="100%" cellpadding="0" cellspacing="0">
44 <span class="breadcrumbs">
51 <table cellpadding="0" cellspacing="0">
52 <!-- hide/show private -->
53 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54 onclick="toggle_private();">hide private</a>]</span></td></tr>
55 <tr><td align="right"><span class="options"
56 >[<a href="frames.html" target="_top">frames</a
57 >] | <a href="abc.ABCMeta-class.html"
58 target="_top">no frames</a>]</span></td></tr>
63 <!-- ==================== TYPE DESCRIPTION ==================== -->
64 <h1 class="epydoc">Type ABCMeta</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
70 <strong class="uidshort">ABCMeta</strong>
74 <p>Metaclass for defining Abstract Base Classes (ABCs).</p>
75 <p>Use this metaclass to create an ABC. An ABC can be subclassed
76 directly, and then acts as a mix-in class. You can also register
77 unrelated concrete classes (even built-in classes) and unrelated
78 ABCs as 'virtual subclasses' -- these and their descendants will
79 be considered subclasses of the registering ABC by the built-in
80 issubclass() function, but the registering ABC won't show up in
81 their MRO (Method Resolution Order) nor will method
82 implementations defined by the registering ABC be callable (not
83 even via super()).</p>
85 <!-- ==================== INSTANCE METHODS ==================== -->
86 <a name="section-InstanceMethods"></a>
87 <table class="summary" border="1" cellpadding="3"
88 cellspacing="0" width="100%" bgcolor="white">
89 <tr bgcolor="#70b0f0" class="table-header">
90 <td colspan="2" class="table-header">
91 <table border="0" cellpadding="0" cellspacing="0" width="100%">
93 <td align="left"><span class="table-header">Instance Methods</span></td>
94 <td align="right" valign="top"
95 ><span class="options">[<a href="#section-InstanceMethods"
96 class="privatelink" onclick="toggle_private();"
97 >hide private</a>]</span></td>
103 <td width="15%" align="right" valign="top" class="summary">
104 <span class="summary-type">bool</span>
105 </td><td class="summary">
106 <table width="100%" cellpadding="0" cellspacing="0" border="0">
108 <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__instancecheck__" class="summary-sig-name">__instancecheck__</a>(<span class="summary-sig-arg">cls</span>,
109 <span class="summary-sig-arg">instance</span>)</span><br />
110 Override for isinstance(instance, cls).</td>
111 <td align="right" valign="top">
121 <td width="15%" align="right" valign="top" class="summary">
122 <span class="summary-type">bool</span>
123 </td><td class="summary">
124 <table width="100%" cellpadding="0" cellspacing="0" border="0">
126 <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__subclasscheck__" class="summary-sig-name">__subclasscheck__</a>(<span class="summary-sig-arg">cls</span>,
127 <span class="summary-sig-arg">subclass</span>)</span><br />
128 Override for issubclass(subclass, cls).</td>
129 <td align="right" valign="top">
139 <td width="15%" align="right" valign="top" class="summary">
140 <span class="summary-type"> </span>
141 </td><td class="summary">
142 <table width="100%" cellpadding="0" cellspacing="0" border="0">
144 <td><span class="summary-sig"><a name="_dump_registry"></a><span class="summary-sig-name">_dump_registry</span>(<span class="summary-sig-arg">cls</span>,
145 <span class="summary-sig-arg">file</span>=<span class="summary-sig-default">None</span>)</span><br />
146 Debug helper to print the ABC registry.</td>
147 <td align="right" valign="top">
157 <td width="15%" align="right" valign="top" class="summary">
158 <span class="summary-type"> </span>
159 </td><td class="summary">
160 <table width="100%" cellpadding="0" cellspacing="0" border="0">
162 <td><span class="summary-sig"><a name="register"></a><span class="summary-sig-name">register</span>(<span class="summary-sig-arg">cls</span>,
163 <span class="summary-sig-arg">subclass</span>)</span><br />
164 Register a virtual subclass of an ABC.</td>
165 <td align="right" valign="top">
175 <td colspan="2" class="summary">
176 <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
177 <code>__call__</code>,
178 <code>__delattr__</code>,
181 <code>__getattribute__</code>,
183 <code>__hash__</code>,
184 <code>__init__</code>,
188 <code>__repr__</code>,
189 <code>__setattr__</code>,
190 <code>__subclasses__</code>,
193 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
194 <code>__format__</code>,
195 <code>__reduce__</code>,
196 <code>__reduce_ex__</code>,
197 <code>__sizeof__</code>,
198 <code>__str__</code>,
199 <code>__subclasshook__</code>
204 <!-- ==================== STATIC METHODS ==================== -->
205 <a name="section-StaticMethods"></a>
206 <table class="summary" border="1" cellpadding="3"
207 cellspacing="0" width="100%" bgcolor="white">
208 <tr bgcolor="#70b0f0" class="table-header">
209 <td colspan="2" class="table-header">
210 <table border="0" cellpadding="0" cellspacing="0" width="100%">
212 <td align="left"><span class="table-header">Static Methods</span></td>
213 <td align="right" valign="top"
214 ><span class="options">[<a href="#section-StaticMethods"
215 class="privatelink" onclick="toggle_private();"
216 >hide private</a>]</span></td>
222 <td width="15%" align="right" valign="top" class="summary">
223 <span class="summary-type">a new object with type S, a subtype of T</span>
224 </td><td class="summary">
225 <table width="100%" cellpadding="0" cellspacing="0" border="0">
227 <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">mcls</span>,
228 <span class="summary-sig-arg">name</span>,
229 <span class="summary-sig-arg">bases</span>,
230 <span class="summary-sig-arg">namespace</span>)</span></td>
231 <td align="right" valign="top">
241 <!-- ==================== CLASS VARIABLES ==================== -->
242 <a name="section-ClassVariables"></a>
243 <table class="summary" border="1" cellpadding="3"
244 cellspacing="0" width="100%" bgcolor="white">
245 <tr bgcolor="#70b0f0" class="table-header">
246 <td colspan="2" class="table-header">
247 <table border="0" cellpadding="0" cellspacing="0" width="100%">
249 <td align="left"><span class="table-header">Class Variables</span></td>
250 <td align="right" valign="top"
251 ><span class="options">[<a href="#section-ClassVariables"
252 class="privatelink" onclick="toggle_private();"
253 >hide private</a>]</span></td>
259 <td width="15%" align="right" valign="top" class="summary">
260 <span class="summary-type"> </span>
261 </td><td class="summary">
262 <a name="_abc_invalidation_counter"></a><span class="summary-name">_abc_invalidation_counter</span> = <code title="21">21</code>
266 <!-- ==================== PROPERTIES ==================== -->
267 <a name="section-Properties"></a>
268 <table class="summary" border="1" cellpadding="3"
269 cellspacing="0" width="100%" bgcolor="white">
270 <tr bgcolor="#70b0f0" class="table-header">
271 <td colspan="2" class="table-header">
272 <table border="0" cellpadding="0" cellspacing="0" width="100%">
274 <td align="left"><span class="table-header">Properties</span></td>
275 <td align="right" valign="top"
276 ><span class="options">[<a href="#section-Properties"
277 class="privatelink" onclick="toggle_private();"
278 >hide private</a>]</span></td>
284 <td colspan="2" class="summary">
285 <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
286 <code>__abstractmethods__</code>,
287 <code>__base__</code>,
288 <code>__bases__</code>,
289 <code>__basicsize__</code>,
290 <code>__dictoffset__</code>,
291 <code>__flags__</code>,
292 <code>__itemsize__</code>,
293 <code>__mro__</code>,
294 <code>__name__</code>,
295 <code>__weakrefoffset__</code>
297 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
298 <code>__class__</code>
303 <!-- ==================== METHOD DETAILS ==================== -->
304 <a name="section-MethodDetails"></a>
305 <table class="details" border="1" cellpadding="3"
306 cellspacing="0" width="100%" bgcolor="white">
307 <tr bgcolor="#70b0f0" class="table-header">
308 <td colspan="2" class="table-header">
309 <table border="0" cellpadding="0" cellspacing="0" width="100%">
311 <td align="left"><span class="table-header">Method Details</span></td>
312 <td align="right" valign="top"
313 ><span class="options">[<a href="#section-MethodDetails"
314 class="privatelink" onclick="toggle_private();"
315 >hide private</a>]</span></td>
321 <a name="__instancecheck__"></a>
323 <table class="details" border="1" cellpadding="3"
324 cellspacing="0" width="100%" bgcolor="white">
326 <table width="100%" cellpadding="0" cellspacing="0" border="0">
327 <tr valign="top"><td>
328 <h3 class="epydoc"><span class="sig"><span class="sig-name">__instancecheck__</span>(<span class="sig-arg">cls</span>,
329 <span class="sig-arg">instance</span>)</span>
331 </td><td align="right" valign="top"
336 Override for isinstance(instance, cls).
338 <dt>Returns: bool</dt>
340 type.__instancecheck__
345 <a name="__new__"></a>
347 <table class="details" border="1" cellpadding="3"
348 cellspacing="0" width="100%" bgcolor="white">
350 <table width="100%" cellpadding="0" cellspacing="0" border="0">
351 <tr valign="top"><td>
352 <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">mcls</span>,
353 <span class="sig-arg">name</span>,
354 <span class="sig-arg">bases</span>,
355 <span class="sig-arg">namespace</span>)</span>
356 <br /><em class="fname">Static Method</em>
358 </td><td align="right" valign="top"
365 <dt>Returns: a new object with type S, a subtype of T</dt>
368 <dd><em class="note">(inherited documentation)</em></dd>
373 <a name="__subclasscheck__"></a>
375 <table class="details" border="1" cellpadding="3"
376 cellspacing="0" width="100%" bgcolor="white">
378 <table width="100%" cellpadding="0" cellspacing="0" border="0">
379 <tr valign="top"><td>
380 <h3 class="epydoc"><span class="sig"><span class="sig-name">__subclasscheck__</span>(<span class="sig-arg">cls</span>,
381 <span class="sig-arg">subclass</span>)</span>
383 </td><td align="right" valign="top"
388 Override for issubclass(subclass, cls).
390 <dt>Returns: bool</dt>
392 type.__subclasscheck__
398 <!-- ==================== NAVIGATION BAR ==================== -->
399 <table class="navbar" border="0" width="100%" cellpadding="0"
400 bgcolor="#a0c0ff" cellspacing="0">
403 <th> <a
404 href="lxml-module.html">Home</a> </th>
407 <th> <a
408 href="module-tree.html">Trees</a> </th>
411 <th> <a
412 href="identifier-index.html">Indices</a> </th>
415 <th> <a
416 href="help.html">Help</a> </th>
418 <!-- Project homepage -->
419 <th class="navbar" align="right" width="100%">
420 <table border="0" cellpadding="0" cellspacing="0">
421 <tr><th class="navbar" align="center"
422 ><a class="navbar" target="_top" href="/">lxml API</a></th>
426 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
428 <td align="left" class="footer">
429 Generated by Epydoc 3.0.1
430 on Wed Jan 29 12:26:21 2020
432 <td align="right" class="footer">
433 <a target="mainFrame" href="http://epydoc.sourceforge.net"
434 >http://epydoc.sourceforge.net</a>
439 <script type="text/javascript">
441 // Private objects are initially displayed (because if
442 // javascript is turned off then we want them to be
443 // visible); but by default, we want to hide them. So hide
444 // them unless we have a cookie that says to show them.