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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|