If-elif-else konstruksiyasi. Rostlikka tekshirish if/else uch bo‘ginli qurilishi
Download 39.89 Kb.
|
If-elif-else
None ekanlikka tekshirish
Nonelikka tekshirishning 2 xil metodi mavjud. Birinchi metodi – is kalit so‘zi yordamida tekshirish. Ikkinchi metodi esa == yordamida (lekin bu metoddan foydalanish tavsiya etilmaydi, nima uchun ekanligini esa quyida tushuntirishga harakat qilamiz). Ba’zi misollarni ko‘rib chiqaylik: null_variable = None not_null_variable = 'Hammaga salom!' # is kalit so'zi if null_variable is None: print('null_variable is None') else: print('null_variable is not None') if not_null_variable is None: print('not_null_variable is None') else: print('not_null_variable is not None') # == operatori if null_variable == None: print('null_variable is None') else: print('null_variable is not None') if not_null_variable == None: print('not_null_variable is None') else: print('not_null_variable is not None') Bu kod quyidagi natijani chiqaradi: null_variable is None not_null_variable is not None null_variable is None not_null_variable is not None Juda yaxshi, demak, ular bir xil ishni bajarishmoqda. Lekin unchalik emas. Tarkibiy tiplar uchun shunday. Lekin foydalanuvchi klasslari bilan ishlaganda, ehtiyot bo‘lish lozim. Python foydalanuvchi klasslarida solishtirish operatorlarini qaytadan taqsimlash imkoniyatini beradi. Shu tarzda siz quyidagi klasslarni solishtirishingiz mumkin. Masalan, MyObject == MyOtherObject kabi. class MyClass: def __eq__(self, my_object): # Shunchaki True ni qaytaramiz return True my_class = MyClass() if my_class is None: print('my_class bu None, is kalit so\'zini ishlatdik') else: print('my_class bu None emas, is kalit so\'zini ishlatdik') if my_class == None: print('my_class bu None, == operatorini ishlatdik') else: print('my_class bu None emas, == operatorini ishlatdik') Hamda biroz kutilmagan natijani olamiz: my_class is not None, using the is keyword my_class is None, using the == syntax Juda ham qiziq, shunday emasmi? Aynan shu sababli None ekanligini tekshirishda is dan foydalanishni tavsiya etamiz. Bundan tashqari ba’zi klasslar uchun __eq__ metodiga murojaat qilish ko‘proq vaqtni oladi, is esa undan tezroq bajarilganligi uchun ham afzalroq hisoblanadi. Download 39.89 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling