আমার কাছে এমন একটি পদ্ধতি রয়েছে যা নির্দিষ্ট অবস্থার জন্য পরীক্ষা করার জন্য ক্রমানুসারে 4 টি অন্যান্য পদ্ধতিতে কল করে এবং যখনই কেউ সত্যবাদী কিছু ফিরিয়ে দেয় তখনই তাৎক্ষণিকভাবে (নিম্নলিখিতগুলি পরীক্ষা করে না) ফিরে আসে।
def check_all_conditions():
x = check_size()
if x:
return x
x = check_color()
if x:
return x
x = check_tone()
if x:
return x
x = check_flavor()
if x:
return x
return None
এটি অনেকটা ব্যাগেজ কোডের মতো মনে হচ্ছে। বিবৃতি প্রতি 2-লাইন পরিবর্তে, আমি বরং কিছু করতে চাই:
x and return x
তবে এটি পাইথন অবৈধ। আমি কি এখানে একটি সহজ, মার্জিত সমাধান মিস করছি? ঘটনাচক্রে, এই পরিস্থিতিতে, এই চারটি চেক পদ্ধতি ব্যয়বহুল হতে পারে, তাই আমি তাদের একাধিকবার কল করতে চাই না।
x and return x
তার চেয়ে ভাল মনে করেন if x: return x
? পরেরটি আরও বেশি পঠনযোগ্য এবং এভাবে বজায় রাখা যায়। চরিত্র বা রেখার সংখ্যা সম্পর্কে আপনার খুব বেশি চিন্তা করা উচিত নয়; পঠনযোগ্যতা গণনা। এগুলি যাইহোক যাইহোক হোয়াইটস্পেস অক্ষরগুলির ঠিক একই সংখ্যা এবং যদি আপনার সত্যিই অবশ্যই করা if x: return x
হয় তবে কেবল একটি লাইনে কাজ করবে।
x
(এর বিপরীতে bool(x)
) সুতরাং আমি মনে করি এটি নিরাপদ যে এই ধারণাটি নেওয়া নিরাপদ যে ওপির কার্যগুলি যে কোনও কিছু ফিরিয়ে দিতে পারে, এবং তিনি সত্যবাদী যেটি প্রথম চান তা চান।