شرایط استفاده شده در دستورات while و if میتوانند حاوی هر عملگرهایی باشند، نه فقط مقایسات.
عملگرهای مقایسه in و not in آزمونهای عضویت هستند که تعیین میکنند آیا مقداری در یک ظرف هست یا نه. عملگرهای is و is not مقایسه میکنند آیا دو شیء واقعاً یک شیء واحد هستند. تمام عملگرهای مقایسه اولویت یکسانی دارند که از عملگرهای عددی کمتر است.
مقایسات میتوانند زنجیرهای باشند. برای مثال، a < b == c بررسی میکند آیا a کمتر از b است و b برابر c است.
مقایسات میتوانند با عملگرهای بولی and و or ترکیب شوند و نتیجه با not نفی شود. اینها اولویتهای کمتری از عملگرهای مقایسه دارند؛ بین آنها، not بالاترین و or پایینترین اولویت را دارد، بنابراین A and not B or C معادل (A and (not B)) or C است.
عملگرهای بولی and و or عملگرهای کوتاهبُر (short-circuit) هستند: آرگومانهایشان از چپ به راست ارزیابی میشوند و ارزیابی به محض مشخص شدن نتیجه متوقف میشود. وقتی به عنوان مقدار عمومی استفاده شوند (نه بولی)، مقدار بازگشتی آخرین آرگومان ارزیابی شده است.
امکان اختصاص نتیجه یک مقایسه یا عبارت بولی دیگر به یک متغیر وجود دارد. به عنوان مثال:
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance' >>> non_null = string1 or string2 or string3 >>> non_null 'Trondheim'
توجه کنید که در پایتون، برخلاف C، اختصاص داخل عبارات باید به طور صریح با عملگر := (walrus operator) انجام شود.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial