A while back, I shared my love for using Greek letters as variable names in my 
Python (3.4) code -- when, and only when, they are warranted for improved 
readability.  For example, I like to see the following:


from math import pi as π

c = 2 * π * r


When I am copying mathematical formulas from publications, and Greek letters 
are used in that publication, I prefer to follow the text exactly as written.

Up until today, every character I've tried has been accepted by the Python 
interpreter as a legitimate character for inclusion in a variable name.  Now 
I'm copying a formula which defines a gradient.  The nabla symbol (∇) is used 
in the naming of gradients.  Python isn't having it.  The interpreter throws a 
"SyntaxError: invalid character in identifier" when it encounters the ∇.

I am now wondering what constitutes a valid character for an identifier, and 
how they were chosen.  Obviously, the Western alphabet and standard Greek 
letters work.  I just tried a few very weird characters from the Latin Extended 
range, and some Cyrillic characters.  These are also fine.

A philosophical question.  Why should any character be excluded from a variable 
name, besides the fact that it might also be an operator?

This might be a problem I can solve, I'm not sure.  Is there a file that the 
Python interpreter refers to which defines the accepted variable name 
characters?  Perhaps I could just add ∇.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to