On 10/12/2014 2:45 PM, Ian Kelly wrote:
On Sun, Oct 12, 2014 at 6:55 AM, roro codeath <rorocode...@gmail.com> wrote:
How to implement it in my class?
class Str(str):
def __init__(self, *args, **kwargs):
pass
Str('smth', kwarg='a')
The error is coming from the __new__ method. Because str is an
immutable type, you should override the __new__ method, not __init__.
or, if one is mere adding a method, do not add __new__ either.
Example:
class Str(str):
def __new__(cls, *args, **kwargs):
return super().__new__(cls, args[0])
Str('smth', kwarg='a')
'smth'
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list