الفرق بين المراجعتين ل"Python/constants"
(أنشأ الصفحة ب'== ثوابت في مجال الأسماء الداخلي == تقدم بايثون بعض الثوابت الموجودة في مجال الأسماء الداخلي ه...') |
ط (←مصادر) |
||
(13 مراجعة متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
+ | تقدم بايثون مجموعة من الثوابت، بعضها في [[Python/scopes-and-namespaces|مجال الأسماء]] الداخلي، أما البعض الآخر فيضاف من قبل [[Python/modules|الوحدة]] <code>site</code> إلى [[Python/interpreter|مفسّر بايثون]] التفاعلي.<noinclude>{{DISPLAYTITLE:الثوابت في بايثون}}</noinclude> | ||
== ثوابت في مجال الأسماء الداخلي == | == ثوابت في مجال الأسماء الداخلي == | ||
− | |||
− | |||
=== <code>False</code> === | === <code>False</code> === | ||
− | يمثّل هذا الثابت القيمة الخاطئة للنوع <code>[[Python/boolean|bool]]</code>. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ <code>[[Python/ | + | يمثّل هذا الثابت القيمة الخاطئة للنوع <code>[[Python/boolean|bool]]</code>. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ <code>[[Python/built-in exceptions#SyntaxError|SyntaxError]]</code> عند محاولة القيام بذلك. |
=== <code>True</code> === | === <code>True</code> === | ||
− | يمثّل هذا الثابت القيمة الصحيحة للنوع <code>[[Python/boolean|bool]]</code>. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ <code>[[Python/ | + | يمثّل هذا الثابت القيمة الصحيحة للنوع <code>[[Python/boolean|bool]]</code>. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ <code>[[Python/built-in exceptions#SyntaxError|SyntaxError]]</code> عند محاولة القيام بذلك. |
=== <code>None</code> === | === <code>None</code> === | ||
− | هذا الثابت هو القيمة الوحيدة للنوع <code>NoneType</code>، ويستخدم <code>None</code> للتعبير عن غياب القيمة، كما في حالة عدم تمرير [[Python/arguments|الوسائط]] الافتراضية إلى الدالة. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الاستثناء <code>SyntaxError</code> عند محاولة القيام بذلك. | + | هذا الثابت هو القيمة الوحيدة للنوع <code>NoneType</code>، ويستخدم <code>None</code> للتعبير عن غياب القيمة، كما في حالة عدم تمرير [[Python/arguments|الوسائط]] الافتراضية إلى الدالة. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الاستثناء <code>[[Python/built-in exceptions#SyntaxError|SyntaxError]]</code> عند محاولة القيام بذلك. |
=== <code>NotImplemented</code> === | === <code>NotImplemented</code> === | ||
سطر 16: | سطر 15: | ||
'''ملاحظة:''' | '''ملاحظة:''' | ||
− | عندما يعيد تابع ثنائي (أو موضعي) القيمة <code>NotImplemented</code> فإنّ مفسّر بايثون سيحاول إجراء العملية | + | عندما يعيد تابع ثنائي (أو موضعي) القيمة <code>NotImplemented</code> فإنّ مفسّر بايثون سيحاول إجراء العملية المنعكسة (reflected) على النوع الآخر (أو أي طريقة دعم تراجعي (fallback) أخرى وذلك حسب نوع العامل المستخدم). إن أعادت جميع المحاولات القيمة <code>NotImplemented</code>، فسيطلق المفسّر الاستثناء المناسب. |
تؤدي إعادة القيمة <code>NotImplemented</code> بطريقة خاطئة إلى ظهور رسالة خطأ قد تكون مضلّلة أو يمكن أن تعاد قيمة <code>NotImplemented</code> إلى شيفرة بايثون. | تؤدي إعادة القيمة <code>NotImplemented</code> بطريقة خاطئة إلى ظهور رسالة خطأ قد تكون مضلّلة أو يمكن أن تعاد قيمة <code>NotImplemented</code> إلى شيفرة بايثون. | ||
سطر 22: | سطر 21: | ||
'''ملاحظة:''' | '''ملاحظة:''' | ||
− | يجب التمييز بين <code>NotImplementedError</code> و <code>NotImplemented</code> بالرغم من أنّ لهما اسمين متشابهين ويستخدمان للغرض ذاته. راجع <code>[[Python/NotImplementedError|NotImplementedError]]</code> للمزيد من التفاصيل حول كيفية استخدامه. | + | يجب التمييز بين <code>NotImplementedError</code> و <code>NotImplemented</code> بالرغم من أنّ لهما اسمين متشابهين ويستخدمان للغرض ذاته. راجع <code>[[Python/built-in exceptions#NotImplementedError|NotImplementedError]]</code> للمزيد من التفاصيل حول كيفية استخدامه. |
=== <code>Ellipsis</code> === | === <code>Ellipsis</code> === | ||
− | هذا الثابت مشابه لـ <code>...</code>، وهو قيمة خاصة يستخدم غالبًا مع عبارات الاقتطاع الموسّعة الخاصة بأنواع حاويات البيانات المعرّفة من قبل المستخدم. | + | هذا الثابت مشابه لـ <code>...</code>، وهو قيمة خاصة يستخدم غالبًا مع عبارات الاقتطاع (slicing) الموسّعة الخاصة بأنواع حاويات البيانات المعرّفة من قبل المستخدم. |
=== <code>__debug__</code> === | === <code>__debug__</code> === | ||
يحمل هذا الثابت القيمة <code>True</code> إن جرى تشغيل بايثون دون استخدام الخيار <code>-O</code> في سطر الأوامر. راجع أيضًا عبارة <code>[[Python/assert|assert]]</code>. | يحمل هذا الثابت القيمة <code>True</code> إن جرى تشغيل بايثون دون استخدام الخيار <code>-O</code> في سطر الأوامر. راجع أيضًا عبارة <code>[[Python/assert|assert]]</code>. | ||
− | ملاحظة: | + | '''ملاحظة:''' |
− | لا يمكن إعادة إسناد قيم إلى الثوابت <code>None</code>، <code>False</code>، <code>True</code> و <code>__debug__</code>، وتؤدي محاولة إسناد أي قيمة لها حتى في أسماء الخاصيات إلى إطلاق الخطأ <code>[[Python/ | + | لا يمكن إعادة إسناد قيم إلى الثوابت <code>None</code>، <code>False</code>، <code>True</code> و <code>__debug__</code>، وتؤدي محاولة إسناد أي قيمة لها حتى في أسماء الخاصيات إلى إطلاق الخطأ <code>[[Python/syntax_errors|SyntaxError]]</code>، لذا يمكن أن نعتبر أنّ هذه الثوابت هي ثوابت صحيحة (true constants). |
== ثوابت تضيفها الوحدة <code>site</code> == | == ثوابت تضيفها الوحدة <code>site</code> == | ||
− | يجري استيراد [[Python/modules|الوحدة]] <code>site</code> عند بدء تشغيل مفسّر بايثون بصورة تلقائية، إلا إذا استُخدم الخيار -S في سطر الأوامر، وتضيف هذه الوحدة عددًا من الثوابت إلى مجال الأسماء الداخلي. هذه الثوابت مفيدة في [[Python/interpreter|مفسر بايثون]] التفاعلي ولا | + | يجري استيراد [[Python/modules|الوحدة]] <code>site</code> عند بدء تشغيل [[Python/interpreter|مفسّر بايثون]] بصورة تلقائية، إلا إذا استُخدم الخيار <code>-S</code> في سطر الأوامر، وتضيف هذه الوحدة عددًا من الثوابت إلى [[Python/scopes-and-namespaces|مجال الأسماء]] الداخلي (built-in). هذه الثوابت مفيدة في [[Python/interpreter|مفسر بايثون]] التفاعلي ولا تستخدم في البرامج الاعتيادية. |
+ | |||
+ | === <code>quit(code=None)</code> أو <code>exit(code=None)</code> === | ||
+ | هما كائنان يؤدي استخدامها إلى عرض رسالة مثل <code>"Use quit() or Ctrl-D (i.e. EOF) to exit"</code> وعند استدعائها تطلق [[Python/exceptions|الاستثناء]] <code>[[Python/built-in exceptions#SystemExit|SystemExit]]</code> مع شيفرة الخروج المحدّدة <code>code</code>. | ||
− | === <code> | + | === <code>copyright</code> أو <code>credits</code> === |
+ | هما كائنان يؤدي طباعتهما أو استدعاؤهما إلى عرض نص حقوق النشر أو جملة الشكر والتقدير.<syntaxhighlight lang="text"> | ||
+ | >>> copyright | ||
+ | Copyright (c) 2001-2017 Python Software Foundation. | ||
+ | All Rights Reserved. | ||
− | + | Copyright (c) 2000 BeOpen.com. | |
− | + | All Rights Reserved. | |
− | + | Copyright (c) 1995-2001 Corporation for National Research Initiatives. | |
+ | All Rights Reserved. | ||
− | + | Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. | |
− | + | All Rights Reserved. | |
+ | </syntaxhighlight> | ||
=== <code>license</code> === | === <code>license</code> === | ||
− | + | تؤدّي طباعة هذا الكائن إلى عرض الرسالة <code>"Type license() to see the full license text"</code> وعند استدعائه يعرض الترخيص الكامل على شكل صفحات. | |
+ | |||
+ | == مصادر == | ||
+ | * صفحة [https://docs.python.org/3/library/constants.html Built-in Constants] في توثيق بايثون الرسمي. | ||
[[تصنيف:Python]] | [[تصنيف:Python]] | ||
[[تصنيف:Python Constants]] | [[تصنيف:Python Constants]] |
المراجعة الحالية بتاريخ 07:38، 12 أغسطس 2018
تقدم بايثون مجموعة من الثوابت، بعضها في مجال الأسماء الداخلي، أما البعض الآخر فيضاف من قبل الوحدة site
إلى مفسّر بايثون التفاعلي.
ثوابت في مجال الأسماء الداخلي
False
يمثّل هذا الثابت القيمة الخاطئة للنوع bool
. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError
عند محاولة القيام بذلك.
True
يمثّل هذا الثابت القيمة الصحيحة للنوع bool
. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError
عند محاولة القيام بذلك.
None
هذا الثابت هو القيمة الوحيدة للنوع NoneType
، ويستخدم None
للتعبير عن غياب القيمة، كما في حالة عدم تمرير الوسائط الافتراضية إلى الدالة. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الاستثناء SyntaxError
عند محاولة القيام بذلك.
NotImplemented
هذا الثابت هو قيمة خاصة يجب أن تعيدها التوابع الخاصة بالنظام الثنائي (binary) مثل: __eq__()
، و __lt__()
، و __add__()
، و __rsub__()
، وغيرها، للإشارة إلى أن العملية لم تعتمد (not implemented) بالنسبة إلى النوع الآخر، ويمكن أن تعاد هذه القيمة بواسطة التوابع الموضعية (in-place) الخاصة بالنظام الثنائي مثل __imul__()
و __iand__()
وغيرها، للسبب عينه. القيمة الصحيحة لهذا الثابت هي True
.
ملاحظة:
عندما يعيد تابع ثنائي (أو موضعي) القيمة NotImplemented
فإنّ مفسّر بايثون سيحاول إجراء العملية المنعكسة (reflected) على النوع الآخر (أو أي طريقة دعم تراجعي (fallback) أخرى وذلك حسب نوع العامل المستخدم). إن أعادت جميع المحاولات القيمة NotImplemented
، فسيطلق المفسّر الاستثناء المناسب.
تؤدي إعادة القيمة NotImplemented
بطريقة خاطئة إلى ظهور رسالة خطأ قد تكون مضلّلة أو يمكن أن تعاد قيمة NotImplemented
إلى شيفرة بايثون.
ملاحظة:
يجب التمييز بين NotImplementedError
و NotImplemented
بالرغم من أنّ لهما اسمين متشابهين ويستخدمان للغرض ذاته. راجع NotImplementedError
للمزيد من التفاصيل حول كيفية استخدامه.
Ellipsis
هذا الثابت مشابه لـ ...
، وهو قيمة خاصة يستخدم غالبًا مع عبارات الاقتطاع (slicing) الموسّعة الخاصة بأنواع حاويات البيانات المعرّفة من قبل المستخدم.
__debug__
يحمل هذا الثابت القيمة True
إن جرى تشغيل بايثون دون استخدام الخيار -O
في سطر الأوامر. راجع أيضًا عبارة assert
.
ملاحظة:
لا يمكن إعادة إسناد قيم إلى الثوابت None
، False
، True
و __debug__
، وتؤدي محاولة إسناد أي قيمة لها حتى في أسماء الخاصيات إلى إطلاق الخطأ SyntaxError
، لذا يمكن أن نعتبر أنّ هذه الثوابت هي ثوابت صحيحة (true constants).
ثوابت تضيفها الوحدة site
يجري استيراد الوحدة site
عند بدء تشغيل مفسّر بايثون بصورة تلقائية، إلا إذا استُخدم الخيار -S
في سطر الأوامر، وتضيف هذه الوحدة عددًا من الثوابت إلى مجال الأسماء الداخلي (built-in). هذه الثوابت مفيدة في مفسر بايثون التفاعلي ولا تستخدم في البرامج الاعتيادية.
quit(code=None)
أو exit(code=None)
هما كائنان يؤدي استخدامها إلى عرض رسالة مثل "Use quit() or Ctrl-D (i.e. EOF) to exit"
وعند استدعائها تطلق الاستثناء SystemExit
مع شيفرة الخروج المحدّدة code
.
copyright
أو credits
هما كائنان يؤدي طباعتهما أو استدعاؤهما إلى عرض نص حقوق النشر أو جملة الشكر والتقدير.
>>> copyright
Copyright (c) 2001-2017 Python Software Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
license
تؤدّي طباعة هذا الكائن إلى عرض الرسالة "Type license() to see the full license text"
وعند استدعائه يعرض الترخيص الكامل على شكل صفحات.
مصادر
- صفحة Built-in Constants في توثيق بايثون الرسمي.