This may be a misuse of classes, but why can't you make a class and then not instantiate it?

    class signin:
        def handle():
            return "this works"
    
    signin.handle() # returns "this works"

On Tue, Sep 16, 2014 at 10:19 PM, Tennessee Leeuwenburg <tleeuwenburg@gmail.com> wrote:
I would like to be able to use named sections to organise my code, much an inline submodules, bit without using classes or functions to organise them. I would use this if I had a group of related functions which were not written in an object-oriented-style, possibly due to not needing any shared state. Rather than break these out into a new file, I would like to just be able to use internal structure to declare the relationship. I've used the keyword 'block' to indicate the start of a named block.

For example, 

block signin:
     def handle_new_user():
           do_it()

     def handle_existing_user():
           do_it()


while True:
    try:
        signin.handle_existing_user():
    except:
        signin.handle_new_user()

    do_other_stuff()

At the moment, I would have to either break out into more files, or somewhat clumsily co-opt things like functions or staticmethods. I think that supporting named blocks or inline module declarations would really help me organise some of my code much better. It could also provide a more seamless way to decide to break out into a new file. Once a named block got big enough, I could easily create a new file and import those functions into the same namespace.

I hope this makes sense and that I'm not overlooking anything obvious.

Cheers,
-Tennessee

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/



--
Ali Alkhatib
Department of Computer Science
PhD Student - Stanford University