আমি মনে করি হাঁসের টাইপিংয়ের প্রকৃতি এবং পাইথোনিক থাকার বিষয়ে আরও কম প্রশ্ন, আমার ধারণা।
প্রথমত - ডিক্টের সাথে কাজ করার সময়, বিশেষত যখন ডিকের কাঠামোটি মোটামুটি অনুমানযোগ্য হয় এবং প্রদত্ত কীটি সাধারণত উপস্থিত হয় না তবে কখনও কখনও হয়, আমি প্রথমে দুটি পদ্ধতির কথা ভাবি:
if myKey in dict:
do_some_work(dict[myKey])
else:
pass
এবং অবশ্যই ইয়ে ওলেডে 'ক্ষমা বনাম অনুমতি' পদ্ধতির কাছে।
try:
do_some_work(dict[myKey])
except KeyError:
pass
একজন ট্র্যাভেলম্যান পাইথন লোক হিসাবে আমার মনে হয় যে আমি দ্বিতীয়টিকে অনেক বেশি পছন্দ করেছি, যা কেবলমাত্র আমার কাছে অদ্ভুত লাগে বলে মনে হয় কারণ পাইথন ডকসগুলিতে try/exceptsযখন সত্যিকারের কোনও ভুল আছে তখন তার পছন্দ নেই বলে মনে হচ্ছে , সাফল্যের অভাবে?
যদি মাঝে মাঝে ডিকের মাইডিক্টে কী না থাকে এবং এটি পরিচিত যে এটি সর্বদা that চাবিটি রাখে না, তবে প্রসঙ্গগতভাবে বিভ্রান্তি বাদ দিয়ে কি চেষ্টা করা যায়? এটি কোনও প্রোগ্রামিং ত্রুটি নয়, এটি কেবলমাত্র তথ্যের একটি সত্য - এই ডিকটির ঠিক সেই নির্দিষ্ট কীটি ছিল না।
এটি বিশেষত গুরুত্বপূর্ণ মনে হয় যখন আপনি চেষ্টাটি / বাদে / অন্য বাক্য বিন্যাসের দিকে লক্ষ্য করেন, যা চেষ্টা করা হয় যে খুব বেশি ত্রুটি ধরা পড়ছে না তা নিশ্চিত করার ক্ষেত্রে এটি সত্যিই দরকারী বলে মনে হচ্ছে। আপনি এর মতো কিছু করতে সক্ষম:
try:
foo += bar
except TypeError:
pass
else:
return some_more_work(foo)
এর ফলে কি এমন সব ধরণের অদ্ভুত ত্রুটি গিলতে পরিচালিত করে না যা সম্ভবত কিছু খারাপ কোডের ফলাফল? উপরের কোডটি কেবল আপনাকে যুক্ত করার চেষ্টা করছে 2 + {}এবং আপনি কখনই বুঝতে পারবেন না যে আপনার কোডের কিছু অংশ মারাত্মকভাবে ভুল হয়েছে। আমি প্রস্তাব দিচ্ছি না যে আমাদের সমস্ত প্রকারের পরীক্ষা করা উচিত, এজন্যই এটি পাইথন এবং জাভাস্ক্রিপ্ট নয় - তবে আবার চেষ্টা / প্রসঙ্গে চেষ্টা করে মনে হচ্ছে যে প্রোগ্রামটি এমন কিছু করা উচিত যা করা উচিত নয়, পরিবর্তে এটি করা উচিত চালিয়ে যেতে সক্ষম করার।
আমি বুঝতে পারলাম উপরের উদাহরণটি খড়ের সাথে যুক্তিযুক্ত কিছু, এবং বাস্তবে ইচ্ছাকৃতভাবে খারাপ। তবে পাইথোনিক ধর্মের ভিত্তিতে better to ask forgiveness than permissionআমি সাহায্য করতে পারছি না তবে মনে হচ্ছে এটি বালিতে রেখাটি সঠিকভাবে প্রয়োগের / অন্য বনাম চেষ্টা করা / বাদে সঠিক প্রয়োগের মধ্যে যেখানে প্রশ্ন রয়েছে, বিশেষত যখন আপনি জানেন কী কী আশা করবেন আপনি যে ডেটা নিয়ে কাজ করছেন তা
আমি এখানে গতির উদ্বেগ বা সর্বোত্তম অনুশীলনের কথাও বলছি না, আমি কেবল ধরণের ক্ষেত্রে অনুভূত ভেন ডায়াগ্রামের সাথে চুপচাপ বিভ্রান্ত হয়েছি যেখানে মনে হয় এটি কোনওভাবে যেতে পারে তবে লোকেরা চেষ্টা করে / বাদ দিয়ে ভুল করে কারণ 'কেউ কোথাও বলেছিল এটি পাইথোনিক'। আমি কি এই সিনট্যাক্সের প্রয়োগ সম্পর্কে ভুল সিদ্ধান্ত নিয়েছি?