Addition of a .= operator
2QdxY4RzWzUUiLuE at potatochowder.com
2QdxY4RzWzUUiLuE at potatochowder.com
Sat May 20 14:48:34 EDT 2023
On 2023-05-21 at 06:11:02 +1200,
dn via Python-list <python-list at python.org> wrote:
> On 21/05/2023 05.54, Alex Jando wrote:
> > I have many times had situations where I had a variable of a certain type, all I cared about it was one of it's methods.
> >
> > For example:
> >
> > ------------------------------------------------------------
> > import hashlib
> > hash = hashlib.sha256(b'word')
> > hash = hash.hexdigest()
> > ------------------------------------------------------------
> > import enum
> > class Number(enum.Enum):
> > One: int = 1
> > Two: int = 2
> > Three: int = 3
> > num = Number.One
> > num = num.value
> > ------------------------------------------------------------
> >
> > Now to be fair, in the two situations above, I could just access the method right as I declare the object, however, sometimes when passing values into functions, it's a lot messier to do that.
Can you give an example, preferably one from an actual program, that
shows the mess? Is it More Messierâ„¢ than the difference between the
following examples?
# example 1
hash = hashlib.sha256(b'word')
f(hash.hexdigest()) # call f with hash's hexdigest
# example 2
hash = hashlib.sha256(b'word')
hash = hash.hexdigest() # extract hash's hexdigest
f(hash) # call f with hash's hexdigest
Can you also show what your code would look like with a .= operator?
> > So what I'm suggesting is something like this:
> >
> > ------------------------------------------------------------
> > import hashlib
> > hash = hashlib.sha256(b'word')
> > hash.=hexdigest()
> > ------------------------------------------------------------
> > import enum
> > class Number(enum.Enum):
> > One: int = 1
> > Two: int = 2
> > Three: int = 3
> > num = Number.One
> > num.=value
> > ------------------------------------------------------------
>
> A custom-class wrapper?
> Even, a decorator-able function?
More information about the Python-list
mailing list