ثابتهای توکار¶
تعداد کمی از ثابتها در فضای نام توکار قرار دارند. آنها عبارتند از:
- False¶
مقدار نادرست نوع
bool. انتساب بهFalseغیرمجاز است و باعث پرتابSyntaxErrorمیشود.
- True¶
مقدار درست نوع
bool. انتساب بهTrueغیرمجاز است وSyntaxErrorپرتاب میکند.
- None¶
شیءای که اغلب برای نشان دادن نبود یک مقدار استفاده میشود، مانند زمانی که آرگومانهای پیشفرض به یک تابع ارسال نمیشوند. انتساب به
Noneغیرمجاز است و یکSyntaxErrorپرتاب میکند.Noneتنها نمونه از نوعNoneTypeاست.
- NotImplemented¶
مقدار ویژهای که باید توسط متدهای ویژه دودویی (برای نمونه
__eq__()،__lt__()،__add__()،__rsub__()و غیره) برگردانده شود تا نشان دهد عملیات نسبت به نوع دیگر پیادهسازی نشده است؛ ممکن است توسط متدهای ویژه دودویی درجا (برای نمونه__imul__()،__iand__()و غیره) برای همین هدف برگردانده شود. این مقدار نباید در یک زمینه بولی ارزیابی شود.NotImplementedتنها نمونه از نوعtypes.NotImplementedTypeاست.توجه
هنگامی که یک متد دودویی (یا درجا)
NotImplementedرا برمیگرداند، مفسر عملیات بازتابی را روی نوع دیگر امتحان میکند (یا راهحل جایگزین دیگری، بسته به عملگر). اگر تمام تلاشهاNotImplementedرا برگردانند، مفسر استثنای مناسبی پرتاب میکند. برگرداندن بهاشتباهNotImplementedمنجر به یک پیام خطای گمراهکننده یا برگردانده شدن مقدارNotImplementedبه کد پایتون میشود.برای نمونهها، پیادهسازی عملیات حسابی را ببینید.
ملاحظه
NotImplementedوNotImplementedErrorقابل جایگزینی با یکدیگر نیستند. این ثابت باید فقط همانطور که در بالا توضیح داده شد استفاده شود؛ برای جزئیات درباره استفاده صحیح از استثنا،NotImplementedErrorرا ببینید.تغییر یافته در نسخهی 3.9: ارزیابی
NotImplementedدر زمینه بولی منسوخ شد.تغییر یافته در نسخهی 3.14: ارزیابی
NotImplementedدر یک زمینه بولی، اکنون یکTypeErrorپرتاب میکند. پیش از این بهTrueارزیابی میشد و از پایتون 3.9، یکDeprecationWarningنشان میداد.
- Ellipsis¶
همان لفظی سهنقطه (ellipsis)
...، شیءای که اغلب برای نشان دادن اینکه چیزی حذفشده است استفاده میشود. انتساب بهEllipsisامکانپذیر است، اما انتساب به...یکSyntaxErrorپرتاب میکند.Ellipsisتنها نمونه از نوعtypes.EllipsisTypeاست.
- __debug__¶
این ثابت زمانی درست است که پایتون با گزینهی
-Oاجرا نشده باشد. همچنین دستورassertرا ببینید.
توجه
نامهای None، False، True و __debug__ قابل انتساب مجدد نیستند (انتساب به آنها، حتی بهعنوان نام یک ویژگی، SyntaxError را پرتاب میکند)، بنابراین میتوان آنها را ثابتهای «واقعی» در نظر گرفت.
ثابتهای اضافهشده توسط ماژول site¶
ماژول site (که بهصورت خودکار هنگام راهاندازی ایمپورت میشود، مگر اینکه گزینه خط فرمان -S داده شده باشد) چند ثابت را به فضای نام توکار اضافه میکند. این ثابتها برای پوسته تعاملی مفسر مفید هستند و نباید در برنامهها استفاده شوند.
- quit(code=None)¶
- exit(code=None)¶
اشیایی که وقتی چاپ میشوند، پیامی مانند «برای خروج از quit() یا Ctrl-D (یعنی EOF) استفاده کنید» را چاپ میکنند، و وقتی مستقیماً در مفسر تعاملی به آنها دسترسی پیدا شود یا بهعنوان تابع فراخوانی شوند،
SystemExitرا با کد خروج مشخصشده پرتاب میکنند.
- help
شیءای که هنگام چاپ، پیام «برای راهنمای تعاملی، help() را وارد کنید، یا برای راهنمایی دربارهی شیء، help(object) را وارد کنید.» را چاپ میکند، و هنگامی که مستقیماً در مفسر تعاملی به آن دسترسی پیدا شود، سامانهی راهنمای توکار را فراخوانی میکند (به
help()مراجعه کنید).
- copyright¶
- credits¶
اشیایی که هنگام چاپ یا فراخوانی، بهترتیب متن copyright یا credits را چاپ میکنند.
- license¶
شیءای که هنگام چاپ، پیام «برای دیدن متن کامل پروانه، license() را تایپ کنید» را چاپ میکند و هنگام فراخوانی، متن کامل پروانه را بهشیوهای مشابه صفحهبند (pager)، یعنی هر بار یک صفحه، نمایش میدهد.