2013-10-20 14 views
11

Esistono altri caratteri consentiti nei nomi di funzione Python eccetto caratteri alfabetici, numeri e caratteri di sottolineatura? Se sì, quali sono?Caratteri consentiti nei nomi di funzioni Python

+0

google: http://www.pasteur.fr/formation/infobio/python/ch02s03.html – BartoszKP

+0

possibile duplicato del [caratteri validi in un pitone nome della classe] (http://stackoverflow.com/questions/10120295/valid-characters-in-a-python-class-name) – Ben

+0

possibile duplicato di [Qual è la convenzione di denominazione in Python per i nomi di variabili e funzioni?] (http://stackoverflow.com/questions/159720/what-is-the-naming-convention-in-python-for-variable-and-function-names) – tecmec

risposta

14

Non in Python 2.x. Da the docs:

identifier ::= (letter|"_") (letter | digit | "_")* 
letter  ::= lowercase | uppercase 
lowercase ::= "a"..."z" 
uppercase ::= "A"..."Z" 
digit  ::= "0"..."9" 

In Python 3 it's expanded:

identifier ::= xid_start xid_continue* 
id_start  ::= <all characters in general categories Lu, Ll, Lt, Lm, Lo, Nl, 
        the underscore, and characters with the Other_ID_Start property> 
id_continue ::= <all characters in id_start, plus characters in the categories 
        Mn, Mc, Nd, Pc and others with the Other_ID_Continue property> 
xid_start ::= <all characters in id_start whose NFKC normalization 
        is in "id_start xid_continue*"> 
xid_continue ::= <all characters in id_continue whose NFKC normalization 
        is in "id_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 
+3

Puntare a qualsiasi versione dei documenti Python 3.x e la risposta è sì :) ad esempio: http://docs.python.org/3.2/reference/lexical_analysis.html#identifiers –

+0

@JonClements D'oh! Modificato. –

Problemi correlati