Python 3.x super() in 2.x
Project description
Intro
newsuper provides you Python 3.x super() in 2.x
Why
you must hate to write code like this:
super(Foo, self).__init__()
and you might have written (WRONG) code like this:
super(self.__class__, self).__init__()
Python 3.x’s super() saves your ass:
super().__init__()
YOU WANT IT IN 2.X!
Example
Simply make your topest-level class inherited from newsuper.Object
from newsuper import Object class Foo(Object): def __init__(self): self.foo = 1 @classmethod def do_something_with_class(cls): return [cls, 'Foo'] @staticmethod def do_something_static(): return ['Foo'] class Bar(Foo): def __init__(self): super().__init__() self.bar = 1 @classmethod def do_something_static(cls): return super().do_something_static() + ['Bar'] class Baz(Bar): def __init__(self): super().__init__() self.baz = 1 @classmethod def do_something_with_class(cls): # Compatible with old super(Baz, cls) return super(Baz, cls).do_something_with_class() + ['Baz'] @staticmethod def do_something_static(): # Yes, you can even super a staticmethod! return super().do_something_static() + ['Baz'] if __name__ == '__main__': assert Baz().foo == Baz().bar == Baz().baz == 1 assert Baz.do_something_with_class() == [Baz, 'Foo', 'Baz'] assert Baz.do_something_static() == ['Foo', 'Bar', 'Baz']
property is supported too.
Install
Try it now!
Use pip:
pip install newsuper
or easy_install:
easy_install newsuper
also, there is windows installer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
newsuper-0.3c.zip
(5.3 kB
view details)
Built Distribution
newsuper-0.3c.win32.exe
(201.6 kB
view details)
File details
Details for the file newsuper-0.3c.zip
.
File metadata
- Download URL: newsuper-0.3c.zip
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f57979d191a52b64c9c50ab608959c010e7b6539c4bcf31b9393ad3d1daf6da |
|
MD5 | b2dbd52e4f06a0bef765a1a4a45ea288 |
|
BLAKE2b-256 | dd610fd19538b105a40fe6c55739958f286fbfb778d54134cea44892d0fb00c4 |
File details
Details for the file newsuper-0.3c.win32.exe
.
File metadata
- Download URL: newsuper-0.3c.win32.exe
- Upload date:
- Size: 201.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47767103c262abcf7a5e64a5aed44eec3eebd0cf195aff2d474a9124c6bdc0d1 |
|
MD5 | 13a3bce8f94bd2082db42daeaf6a0891 |
|
BLAKE2b-256 | ce4329a5d6ef9716d7e27d750a940ff8a19c75c2fa1a54bb77458d058056bb13 |