এই চেষ্টা কি ব্লক ব্যবহার করে "স্টেটমেন্ট" দিয়ে অজগরটি ব্যবহার করার সঠিক উপায়?
try:
with open("file", "r") as f:
line = f.readline()
except IOError:
<whatever>
যদি এটি হয়, তবে জিনিসগুলি করার পুরানো পদ্ধতিটি বিবেচনা করুন:
try:
f = open("file", "r")
line = f.readline()
except IOError:
<whatever>
finally:
f.close()
এখানে "উইথ" স্টেটমেন্টের প্রাথমিক সুবিধাটি কি আমরা তিন লাইনের কোড থেকে মুক্তি পেতে পারি? এই ব্যবহারের ক্ষেত্রে এটি আমার কাছে বাধ্যতামূলক বলে মনে হয় না (যদিও আমি বুঝতে পারি যে "সহ" বিবৃতিটির অন্যান্য ব্যবহার রয়েছে)।
সম্পাদনা: উপরের কোডের দুটি ব্লকের কার্যকারিতা কি অভিন্ন?
সম্পাদনা 2: প্রথম কয়েকটি উত্তর সাধারণত "সাথে" ব্যবহারের সুবিধাগুলি সম্পর্কে কথা বলে তবে সেগুলি এখানে প্রান্তিক উপকার বলে মনে হয়। আমরা সবাই বছরের পর বছর ধরে স্পষ্টভাবে f.close () কল করছি। আমি মনে করি এর একটি উপকারিতা হ'ল স্লোপি কোডারগুলি "উইথ" ব্যবহার করে উপকৃত হবে।