MCPcopy Index your code
hub / github.com/bslatkin/effectivepython / __new__

Method __new__

example_code/item_062.py:77–82  ·  view source on GitHub ↗
(meta, name, bases, class_dict)

Source from the content-addressed store, hash-verified

75print("Example 2")
76class ValidatePolygon(type):
77 def __new__(meta, name, bases, class_dict):
78 # Only validate subclasses of the Polygon class
79 if bases:
80 if class_dict["sides"] < 3:
81 raise ValueError("Polygons need 3+ sides")
82 return type.__new__(meta, name, bases, class_dict)
83
84class Polygon(metaclass=ValidatePolygon):
85 sides = None # Must be specified by subclasses

Callers

nothing calls this directly

Calls 2

__new__Method · 0.45
getMethod · 0.45

Tested by

no test coverage detected