আমি পাইথনের স্কোপিং বিধি সম্পর্কে জিজ্ঞাসা করছি না; লুপগুলির জন্য পাইথনে স্কোপিং কীভাবে কাজ করে তা আমি সাধারণত বুঝতে পারি । আমার প্রশ্নটি কেন ডিজাইনের সিদ্ধান্তগুলি এইভাবে নেওয়া হয়েছিল। উদাহরণস্বরূপ (কোনও পাং উদ্দেশ্য নয়):
for foo in xrange(10):
bar = 2
print(foo, bar)
উপরেরটি (9,2) মুদ্রণ করবে।
এটি আমাকে অদ্ভুত হিসাবে আঘাত করে: 'foo' সত্যিই কেবল লুপটি নিয়ন্ত্রণ করে এবং লুপের ভিতরে 'বার' সংজ্ঞায়িত হয়। আমি বুঝতে পারি কেন 'বার' এর জন্য লুপের বাইরে প্রবেশযোগ্য হওয়া প্রয়োজন (অন্যথায়, লুপগুলির জন্য খুব সীমাবদ্ধ কার্যকারিতা থাকবে)। আমি যা বুঝতে পারি না তা কেন লুপটি প্রস্থান করার পরে নিয়ন্ত্রণ ভেরিয়েবলের স্কোপে থাকা প্রয়োজন। আমার অভিজ্ঞতা হিসাবে, এটি কেবল বিশ্বব্যাপী নেমস্পেসকে বিশৃঙ্খলা করে এবং অন্য ভাষাগুলির দোভাষী দ্বারা ধরা পড়তে পারে এমন ত্রুটিগুলি খুঁজে বের করা শক্ত করে তোলে।
for
লুপটি আপনার বিশ্বব্যাপী নেমস্পেসকে বিশৃঙ্খলা করবে it বন্ধ বন্ধ!