News for hackers. Stuff that matters.
Re:Brython, Python in the browser by peller on Tuesday January 29, 2013 @07:29AM (#5133590)
They don't; it's purely a matter of convention that Python style guides prefer under_scored over camelCased. But you are entirely free to implement all of your python functions and variables and whatnot in camelCase, and in fact, many libraries do.
Re:Brython, Python in the browser by peller on Tuesday January 29, 2013 @07:34AM (#5133615)
You could probably even try to write a decorator that converted under_scores function names to camelCase for a nice little introduction into various parts of some of the more internal pieces of python.
Re:Brython, Python in the browser by _ZeD_ on Tuesday January 29, 2013 @10:46AM (#5134573)
uhmm, AFAIK pep8 suggest UpperCamelCase for classes, under_score for packages, methods and functions[0]

btw: it's not a decorator :) but a camelCase->under_score renamer it's pretty easy to write

    import re
    
    def unCamel(obj, *maybe_camels):
        if not maybe_camels:
            maybe_camels = filter(lambda n: not n.startswith('_'), dir(obj))
    
        for maybe_camel in maybe_camels:
            underscore = re.sub(r'([^A-Z])([A-Z])([^A-Z])',
                lambda m: '%c_%c%c' % (m.group(1), m.group(2).lower(), m.group(3)),
                maybe_camel)
            if underscore != maybe_camel:
                setattr(obj, underscore, getattr(obj, maybe_camel))
    
    if __name__ == '__main__':
        class CamelCase(object):
            def multiWordMethod(self):
                print('called multiWordMethod')
        
        def multiWordFunction():
            print('called multiWordFunction')
    
        unCamel(CamelCase)    # magic
        import sys
        unCamel(sys.modules[__name__], 'multiWordFunction')    # magic
    
        CamelCase().multi_word_method()
        multi_word_function()



[0] http://www.python.org/dev/peps/pep-0008/
Re:Brython, Python in the browser by cnlwsu on Tuesday January 29, 2013 @09:53AM (#5134257)
Even in python standard library there are mixtures ie threading.Thread. Although those (as I understand it) are just remnants of old implementation that is kept for backwards compatibility.
Re:Brython, Python in the browser by aidos on Tuesday January 29, 2013 @11:27AM (#5134796)
Isn't that normal? I though lowercase module name, uppercase class was the standard casing.

threading.Thread would seem to be consistent with the Google Python Style Guide (threading = module, Thread = Class)

http://google-styleguide.googlecode.com/svn/trunk/pyguide.ht...

Re:Brython, Python in the browser by cnlwsu on Thursday January 31, 2013 @10:56AM (#5145525)
the methods of threading.Thread are camel case (ie getName)

http://docs.python.org/2/library/threading.html