Бұған дейін біз операторлар туралы, оның ішінде салыстыру операторлары туралы айтқан болатынбыз. Бағдарлама жазу барысында бізге көп жағдайда белгілі-бір шартқа байланысты әртүрлі әрекеттерді орындауға тура келеді. Мысалы x айнымалысын y айнымалысына бөлуді қарастырайық.
x=5 y=2 print(x/y)
Бұл жерде нәтижесі 2.5 шығады.
Енді y айнымалысына 0 мәнін меншіктетсек бағдарлама коды қатемен аяқталады.
Бұл жағдайдан біз санды 0-ге бөлуге болмайтынын көреміз және бағдарлама орындалу барысында осыған сай қате шығады.
Шарт операторының жалпы жағдайда жазылуы
if логикалық өрнек н/е салыстыру операторы: оператор else: оператор
Демек біз екі айнымалыны бір-біріне бөлгенде бөлгіштің 0-ге тең емес екеніне көз жеткізуіміз керек. Яғни біздің жағдайда y -айнымалысы 0-ге тең емес болса, онда бөлу операциясын қолдана аламыз.
Бұл жерде біз шарт операторы арқылы y айнымылысы 0-ге тең емес екенін тексеріп тұрмыз. y тең емес 0-ге демек салыстыру операторы бізге True логикалық мәнін қайтарады.
Егер y айнымалысы 0-ге тең болатын болса салыстыру операторы False мәнін қайтарады сондықтан x/y өрнегі орындалмайды. Бұл жағдайда біз жоғарыдағыдай қате кодын алмаймыз, өйткені y-ге тең емес жағдайда ғана бөлу операциясын орындаймыз.
Қажет болса толық шарт операторын жазып өз қате кодымызды шығара аламыз.
Шарт операторының орындалу реті
Алдымен салыстыру операторы тексеріледі. Егер салыстыру операторының нәтижесі True(ақиқат) болса онда if(егер) қызметші сөзінен кейінгі тұрған оператор орындалады. Егер нәтиже False(жалған) болса онда else(әйтпесе) қызметші сөзінен кейінгі тұрған оператор орындалады. Естеріңізде болса біз осыған дейін python тілінде операторлық жақшаның жоқ екенін айтқан болатынбыз. Сондықтан тәуелді операторлар 4 бос орын(space) арқылы анықталады.
Шарт операторы жазылу форматына байланысты толық және толық емес болып бөлінуі мүмкін.
Мысалы бізге екі сан берілсін. Осы сандардың қайсысы үлкен екенін анықтайық.
Егер толық шарт операторы қолданылса, онда if және else бөліктері болады.
Жоғарыдағы кодты толық емес шарт операторымен жазып көрейік.
Жоғарыдағы кодты қарайтын болсақ біз шартты тексермес бұрын a айнымалысын үлкен деп алдық. Содан кейін b айнымалысы a-дан үлкен болса, онда жауабымызды өзгертеміз және шарт операторы аяқталғаннан кейін жауабымызды шығарамыз.