في Python ، يجب تحديد المعرفات (أسماء المتغيرات والوظائف والفئات وما إلى ذلك) وفقًا للقواعد. الأسماء التي لا تتبع القواعد لا يمكن استخدامها كمعرفات وستؤدي إلى حدوث خطأ.
يتم توفير المعلومات التالية هنا.
- الأحرف التي يمكن ولا يمكن استخدامها في المعرفات (الأسماء)
- أحرف ASCII
- حرف Unicode
- التطبيع (على سبيل المثال في الرياضيات)
- تحقق مما إذا كانت السلسلة معرّفًا صالحًا:
isidentifier()
- الكلمات التي لا يمكن استخدامها كمعرفات (أسماء) (كلمات محجوزة)
- الكلمات التي لا يجب استخدامها كمعرفات (أسماء)
- اصطلاحات التسمية لـ PEP8
الوصف التالي موجود في Python 3 ، وقد يكون مختلفًا في Python 2.
الأحرف التي يمكن ولا يمكن استخدامها في المعرفات (الأسماء)
يشير إلى الأحرف التي يمكن ولا يمكن استخدامها كمعرفات (أسماء).
بالإضافة إلى ذلك ، على الرغم من وجود العديد من الأشياء التي يجب الكتابة عنها ، إلا أن كل ما تحتاج إلى تذكره هو ما يلي.
- استخدم الأحرف الكبيرة والصغيرة والأرقام والشرطات السفلية.
- لا يمكن أن يكون الحرف الأول (الأول) رقمًا.
أحرف ASCII
أحرف ASCII التي يمكن استخدامها كمعرفات (أسماء) هي أحرف أبجدية كبيرة وصغيرة (A ~ Z ، a ~ z) ، وأرقام (0 ~ 9) ، وشرطات سفلية (_). الأبجدية حساسة لحالة الأحرف.
AbcDef_123 = 100
print(AbcDef_123)
# 100
لا يمكن استخدام الرموز بخلاف الشرطات السفلية.
# AbcDef-123 = 100
# SyntaxError: can't assign to operator
أيضًا ، لا يمكن استخدام الأرقام في البداية (الحرف الأول).
# 1_abc = 100
# SyntaxError: invalid token
يمكن أيضًا استخدام الشرطات السفلية في البداية.
_abc = 100
print(_abc)
# 100
ومع ذلك ، لاحظ أن الشرطة السفلية في البداية قد يكون لها معنى خاص.
حرف Unicode
منذ Python 3 ، يمكن أيضًا استخدام أحرف Unicode.
変数1 = 100
print(変数1)
# 100
لا يمكن استخدام جميع أحرف Unicode ، وبناءً على فئة Unicode ، لا يمكن استخدام بعضها. على سبيل المثال ، لا يمكن استخدام الرموز مثل علامات الترقيم والرسوم التوضيحية.
# 変数。 = 100
# SyntaxError: invalid character in identifier
# ☺ = 100
# SyntaxError: invalid character in identifier
راجع الوثائق الرسمية لرموز فئة Unicode التي يمكن استخدامها.
في كثير من الحالات ، لا توجد ميزة لاستخدام الأحرف الصينية ، وما إلى ذلك ، وذلك ببساطة لأنه يمكن أيضًا استخدام أحرف Unicode (بدون أخطاء).
التطبيع (على سبيل المثال في الرياضيات)
يتم تحويل أحرف Unicode إلى الصيغة الطبيعية NFKC للتفسير. على سبيل المثال ، يتم تحويل الأبجديات ذات العرض الكامل إلى أبجديات بنصف العرض (أحرف ASCII).
لاحظ أنه حتى إذا أظهر الكود المصدري عرضًا مختلفًا ، فسيتم اعتباره نفس الكائن وسيتم الكتابة فوقه.
ABC = 100
ABC = -100
print(ABC)
# -100
print(ABC)
# -100
print(ABC is ABC)
# True
تحقق مما إذا كانت السلسلة معرّفًا صالحًا: isidentifier ()
ما إذا كانت السلسلة صالحة أم لا كمعرف يمكن التحقق منها باستخدام أسلوب السلسلة isidentifier ().
إنها ترجع صوابًا إذا كانت صالحة كمعرف ، وخطأ إذا كانت غير صالحة.
print('AbcDef_123'.isidentifier())
# True
print('AbcDef-123'.isidentifier())
# False
print('変数1'.isidentifier())
# True
print('☺'.isidentifier())
# False
الكلمات التي لا يمكن استخدامها كمعرفات (أسماء) (كلمات محجوزة)
هناك بعض الكلمات (الكلمات المحجوزة) التي لا يمكن استخدامها كمعرفات حتى لو كانت سلاسل صالحة كمعرفات (أسماء).
نظرًا لأن الكلمة المحجوزة هي سلسلة صالحة كمعرف ، فإن isidentifier () ترجع true ، ولكن يحدث خطأ إذا تم استخدامها كمعرف.
print('None'.isidentifier())
# True
# None = 100
# SyntaxError: can't assign to keyword
للحصول على قائمة بالكلمات المحجوزة وللتحقق مما إذا كانت السلسلة كلمة محجوزة ، استخدم وحدة الكلمات الأساسية الخاصة بالمكتبة القياسية.
الكلمات التي لا يجب استخدامها كمعرفات (أسماء)
على سبيل المثال ، يمكن استخدام أسماء الوظائف المضمنة في Python كمعرفات ، بحيث يمكنك تعيين قيم جديدة لها كمتغيرات.
على سبيل المثال ، len () هي دالة مضمنة تُرجع عدد العناصر في قائمة أو عدد الأحرف في سلسلة.
print(len)
# <built-in function len>
print(len('abc'))
# 3
إذا قمت بتعيين قيمة جديدة لهذا الاسم len ، فسيتم استبدال الوظيفة الأصلية وتصبح غير قابلة للاستخدام. لاحظ أنه لن تتم طباعة أي خطأ أو تحذير عند تعيين قيمة جديدة.
print(len('abc'))
# 3
len = 100
print(len)
# 100
# print(len('abc'))
# TypeError: 'int' object is not callable
خطأ شائع آخر هو استخدام list = [0، 1، 2] ، مما يجعل من المستحيل استخدام list (). كن حذرا.
اصطلاحات التسمية لـ PEP8
يرمز PEP إلى اقتراح تحسين Python ، وهو مستند يصف الميزات الجديدة والجوانب الأخرى في Python.
PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
PEP 1 — PEP Purpose and Guidelines | Python.org
PEP8 هو الثامن ، ويصف “دليل أسلوب كود Python” ، أي دليل أسلوب Python.
كما تم ذكر اصطلاحات التسمية.
راجع الرابط أعلاه للحصول على مزيد من التفاصيل ، ولكن على سبيل المثال ، يوصى باستخدام أسلوب الكتابة التالي.
- وحدة
lowercase_underscore
- أحرف صغيرة + شرطة سفلية
- صفقة
lowercase
- جميع الأحرف الصغيرة
- فئات ، استثناءات
CapitalizedWords
(CamelCase
)- تكبير الحرف الأول من الكلمة ، بدون تسطير أسفل السطر
- الوظائف والمتغيرات والطرق
lowercase_underscore
- أحرف صغيرة + شرطة سفلية
- ثابت
ALL_CAPS
- الأحرف الكبيرة + الشرطة السفلية
ومع ذلك ، إذا لم يكن لدى مؤسستك اصطلاحات التسمية الخاصة بها ، فمن المستحسن اتباع PEP8.