كيفية استخدام "الطبقة" كلمة عن مكالمات وظيفة معلمة في بيثون

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

  •  20-09-2019
  •  | 
  •  

سؤال

وأنا أكتب مولد XML في طلب مدير بلدي. من أجل أقل typings '، أنا قررت استخدام ElementTree كما محلل وSimpleXMLWriter ككاتب.

ووXML نتيجة تتطلب سمات اسمه "الطبقة". مثلا

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

وكما اقترح البرنامج التعليمي الرسمي، لكتابة عقدة XML فقط استخدام هذا الأسلوب:

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

وهكذا كتبت:

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

وفشل الثعبان التثاؤب خطأ قواعدي. أي مساعدة؟

هل كانت مفيدة؟

المحلول

وأعتقد يعني المطورين SimpleXMLWriter هذا الحل:

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

أو

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

نصائح أخرى

وماذا steveha وقد كتب هو الصحيح. كما هو الحال في أي لغة، كلمات لا يمكن أن تستخدم لأغراض مختلفة.

ما يمكنك القيام به، إذا كان يجب استخدام "الطبقة" هو:

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

وclass هي كلمة محجوزة في بيثون. أنت فقط لا يمكن استخدامه لاسم متغير، أي أكثر مما كنت يمكن أن يكون متغير يسمى class في C ++.

والاختصار المعتاد لclass إما klass أو cls.

وفيما يلي قائمة رسمية من الكلمات المحجوزة في بيثون:

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top