unicode as valid naming symbols

wxjmfauth at gmail.com wxjmfauth at gmail.com
Tue Mar 25 19:52:40 CET 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