Browse Source

New

pull/28/head
Jure Šorn 6 years ago
parent
commit
8ea9072761
1 changed files with 2 additions and 1 deletions
  1. 3
      README.md

3
README.md

@ -1460,8 +1460,9 @@ class MyMetaClass(type):
attrs['a'] = 'abcde'
return type.__new__(cls, name, parents, attrs)
```
* **New() is a class method that gets called before init(). If it returns an instance of its class, then that instance gets passed to init() as a 'self' argument, unless it is called directly as in example above.**
* **New() is a class method that gets called before init(). If it returns an instance of its class, then that instance gets passed to init() as a 'self' argument.
* **It receives the same arguments as init(), except for the first one that specifies the desired class of returned instance.**
* **New() can also be called directly, usually from a new() method of a child class (`'def __new__(cls): return super().__new__(cls)'`), in which case init() is not called.**
### Metaclass Attribute
**When class is created it checks if it has metaclass defined. If not, it recursively checks if any of his parents has it defined and eventually comes to type.**

Loading…
Cancel
Save