Comment utiliser « classe » le mot en fonction du paramètre appelle en python

StackOverflow https://stackoverflow.com/questions/2062683

  •  20-09-2019
  •  | 
  •  

Question

Je suis en train d'écrire un générateur XML par la demande de mon manager. Pour l'amour de moins typages, j'ai décidé en utilisant ElementTree comme analyseur et SimpleXMLWriter comme écrivain.

Le fichier XML de résultat nécessite les attributs nommés « classe ». par exemple.

<Node class="oops"></Node>

Comme le tutoriel officiel suggéré, d'écrire un nœud XML il suffit d'utiliser cette méthode:

w.element("meta", name="generator", value="my application 1.0")

Alors je l'ai écrit:

w.element("Node", class="oops")

python ne bâillements SyntaxError. Toute aide?

Était-ce utile?

La solution

Je suppose que les développeurs SimpleXMLWriter signifiait cette solution:

w.element("Node", None, {'class': 'oops'})

ou

w.element("Node", attrib={'class': 'oops'})

Autres conseils

Qu'est-ce que steveha a écrit est vrai. Comme en toutes les langues, les mots-clés ne peuvent pas être utilisés à des fins différentes.

Qu'est-ce que vous pouvez faire, si vous devez utiliser est cette « classe »:

w.element("Node", **{'class': 'oops'})

class est un mot réservé en Python. Vous ne pouvez pas l'utiliser pour un nom de variable, plus que vous pouvez avoir une variable appelée class en C ++.

L'abréviation usuelle class est soit klass ou cls.

Voici une liste officielle des mots réservés en Python:

http://docs.python.org/reference/lexical_analysis.html#keywords

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top