I declare this post Off Topic. Please open another thread (preferably on
python-ideas).

Everybody else, please don't respond to this particular post by the OP.

On Wed, Jun 24, 2020 at 11:12 AM pylang <pyla...@gmail.com> wrote:

> Great timing! Last week I was trying to emulate a certain Rust example in
> Python.
> Rust has a way to implement families of classes without subclassing,
> which I think could be a great addition to Python someday.  I'll explain
> below.
>
> Here is a Rust example (https://youtu.be/WDkv2cKOxx0?t=3795)
> that demonstrates a way to implement classes without subclassing.
>
> # Rust Code
> enum Shape {
>     Circle(f32),
>     Square(f32),
>     Rectangle(f32, f32)
> }
>
> impl Shape {
>     fn area(self) -> f32 {
>         match self {
>             Shape::Circle(r) => 3.1 * r * r,
>             Shape::Square(l) => l * l,
>             Shape::Rectangle(l, w) => l * w
>         }
>     }
> }
>
> fn main () {
>     let c = Shape::Circle(3.0);
>     let s = Shape::Square(3.0);
>     let r = Shape::Rectangle(3.0, 7.5);
>     println!("○ {}", c.area());
>     println!("□ {}", s.area());
>     println!("▭ {}", r.area());
> }
>
> # Output
> ○ 27.899998
> □ 9
> ▭ 22.5
>
> The general idea is:
> - declare classes that share a certain type
> - extend common methods with a match-case style
>
> That's it.  No sub-classing required.
>
> I wondered if someday, can we do this in Python? This match-case proposal
> seems to fit well in this example.
>
> While I know this PEP does not focus on detailed applications,
> does anyone believe we can achieve elegant class creation (sans
> subclassing) with match-cases?
>
>
> On Wed, Jun 24, 2020 at 2:04 PM Guido van Rossum <gu...@python.org> wrote:
>
>> On Tue, Jun 23, 2020 at 11:27 PM Emily Bowman <silverback...@gmail.com>
>> wrote:
>> > I wonder if it's time to officially designate _ as a reserved name.
>>
>> Alas, it's too late for that. The i18n community uses _("message text")
>> to mark translatable text. You may want to look into the gettext stdlib
>> module.
>>
>> --
>> --Guido van Rossum (python.org/~guido)
>> *Pronouns: he/him **(why is my pronoun here?)*
>> <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
>> _______________________________________________
>> Python-Dev mailing list -- python-dev@python.org
>> To unsubscribe send an email to python-dev-le...@python.org
>> https://mail.python.org/mailman3/lists/python-dev.python.org/
>> Message archived at
>> https://mail.python.org/archives/list/python-dev@python.org/message/P6EKIKFP6MX2N2KVFFCF4XUVVMSJ6Q5B/
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
>

-- 
--Guido van Rossum (python.org/~guido)
*Pronouns: he/him **(why is my pronoun here?)*
<http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/H77H4OQH67ZAD6UA5NLQSKP3TXMPYOAU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to