¿Hay otros caracteres permitidos en los nombres de funciones de Python, excepto caracteres alfabéticos, números y guiones bajos? Si es así, ¿qué son?
No en Python 2.x. De los documentos :
identifier ::= (letter|"_") (letter | digit | "_")* letter ::= lowercase | uppercase lowercase ::= "a"..."z" uppercase ::= "A"..."Z" digit ::= "0"..."9"
En Python 3 se expande :
identifier ::= xid_start xid_continue* id_start ::= id_continue ::= xid_start ::= xid_continue ::= The Unicode category codes mentioned above stand for: Lu - uppercase letters Ll - lowercase letters Lt - titlecase letters Lm - modifier letters Lo - other letters Nl - letter numbers Mn - nonspacing marks Mc - spacing combining marks Nd - decimal numbers Pc - connector punctuations Other_ID_Start - explicit list of characters in PropList.txt to support backwards compatibility Other_ID_Continue - likewise