কম্পিউটার টিউটোরিয়াল

পাইথন KeyError: কারণ, সমাধান এবং হ্যান্ডলিং টেকনিক

KeyError কী এবং কেন হয়?

KeyError পাইথনে তখন উঠে যখন আপনি একটি ডিকশনারিতে অস্তিত্বহীন একটি কী (key) এক্সেস করার চেষ্টা করেন।

raspberry_pi = {"name": "Raspberry Pi 4", "price": 35.00, "RAM": "4GB"}
print(raspberry_pi["usb_ports"])  # KeyError: 'usb_ports'

KeyError হ্যান্ডেল করার ৪টি কার্যকর পদ্ধতি

১. get() মেথড ব্যবহার (সেরা ও পাইথনিক)

value = raspberry_pi.get("usb_ports", "Not Available")
print(value)  # আউটপুট: Not Available

get(key, default) — কী না থাকলে ডিফল্ট ভ্যালু রিটার্ন করে, এক্সেপশন ছাড়া।

২. 'in' অপারেটর দিয়ে চেক করা

key = "usb_ports"
if key in raspberry_pi:
    print(raspberry_pi[key])
else:
    print("Key not found")

সদস্যত্ব যাচাই (Membership test) করে নিরাপদে এক্সেস করা যায়।

৩. try-except ব্লক ব্যবহার

try:
    print(raspberry_pi["usb_ports"])
except KeyError:
    print("This information is not available.")

EAFP (Easier to Ask for Forgiveness than Permission) স্টাইল — পাইথনে প্রচলিত।

৪. setdefault() মেথড (কী না থাকলে যোগ করুন)

value = raspberry_pi.setdefault("usb_ports", 4)
print(value)        # 4
print(raspberry_pi) # এখন usb_ports কী আছে

কোন পদ্ধতি কখন ব্যবহার করবেন?

পরিস্থিতিসুপারিশকৃত পদ্ধতি
সিম্পল ভ্যালু রিট্রিভ, ডিফল্ট দরকারdict.get(key, default)
কী আছে কিনা চেক করে লজিক বানাতেif key in dict:
এক্সেপশন হ্যান্ডেলিং প্যাটার্ন ফলো করতেtry/except KeyError
কী না থাকলে ডিফল্ট দিয়ে ডিকশনারি আপডেট করতেdict.setdefault(key, default)

নিষ্কর্ষ

KeyError এড়াতে সর্বোত্তম উপায় হলো get() মেথড বা in অপারেটর ব্যবহার। try-except জটিল লজিকের জন্য উপযুক্ত। সঠিক পদ্ধতি বেছে নিয়ে কোডকে ক্র্যাশ-প্রুফ করুন।

  1. Python Dictionary সহজে অ্যাক্সেস করা

  2. পাইথনে ডিকশনারি কীভাবে ডিফাইন করবেন?

  3. পাইথন ডিকশনারি-এ একটি কী এক্সিস্ট করে কিনা চেক করবেন?

  4. পাইথন ডিকশনারি থেকে কি রিমুভ করার পদ্ধতি