New implementation(patterns)

Debiller 777 ozovozovozo202 at gmail.com
Sat Apr 15 15:34:45 EDT 2017


So.....Basically recently I just faced with some problem. I wanted to create my own data type. I created new class put something in it. But I really wanted to set items in it like so:
========
>>>datatype[0][0][1]=1
========
As you could see I used 3 keys.... But magic method __setitem__ alows me only to do something like this:
=======
>>>datatype[0,0,1]=1
=======
And that's a little bit uncomortable.
Also...I know that  probably everyone sometime wanted to 'hide' class name when you create object and not to write this:
=======
>>>var=MyClass('David')
=======
...And instead to write this:
=======
>>>var=<David>
>>>var
<__main__.MyClass object at 0x0000006242B13748>
=======
I think that would be much easier and glamourus.
So here I present you special type of object: pattern


Example:
=======
>>>&mypattern='<'str'>'
======
Here I created variable that stored pattern
This pattern allows me to write '<>' with string in this
For example from that momemnt if I type '<Example>'
Nothing will happen.
Also patterns can have commands in them:
======
>>>&mynewpattern='#'list'#'
>>> def &mynewpattern:
...   return MyClass(list)
======
Here I gave pattern 'mynewpattern' functionality. Now it RETURNS CLASS!!!
This way we could make shorter and more beautiful.In the example list is type of data like string or integer. And now I made that when I type lists with '#'s program returns class MyClass.

That's concludes explanation of patterns

P.S. Ask me in comments if you didnt understand something. 


More information about the Python-list mailing list