unicode as valid naming symbols
wxjmfauth at gmail.com
wxjmfauth at gmail.com
Tue Mar 25 14:52:40 EDT 2014
Le mardi 25 mars 2014 19:30:34 UTC+1, Mark H. Harris a écrit :
> greetings, I would like to create a lamda as follows:
>
>
>
> √ = lambda n: sqrt(n)
>
>
>
>
>
> On my keyboard mapping the "problem" character is alt-v which produces
>
> the radical symbol. When trying to set the symbol as a name within the
>
> name-space gives a syntax error:
>
>
>
> >>> from math import sqrt
>
> >>>
>
> >>> √ = lambda n: sqrt(n)
>
> SyntaxError: invalid character in identifier
>
> >>>
>
> >>>
>
>
>
> however this works:
>
>
>
> >>>
>
> >>> λ = lambda n: sqrt(n)
>
> >>>
>
> >>> λ(2)
>
> 1.4142135623730951
>
> >>>
>
>
>
> The question is which unicode(s) are capable of being proper name
>
> characters, and which ones are off-limits, and why?
>
>
>
>
>
> marcus
>>> '√'.isidentifier()
False
>>> 'λ'.isidentifier()
True
>>> '$'.isidentifier()
False
>>> '啕'.isidentifier()
True
>>> 'a'.isidentifier()
True
>>> '啕2z'.isidentifier()
True
>>> print(''.isidentifier.__doc__)
S.isidentifier() -> bool
Return True if S is a valid identifier according
to the language definition.
>>>
cf "unicode.org" doc
jmf
More information about the Python-list
mailing list