پرسش

چرا باید از dict.get(key) به جای dict[key] استفاده کرد؟

Why dict.get(key) instead of dict[key]?

dict[key] و dict.get(key) چه فرقی باهم دارند؟ چرا باید از روش dict.get(key) استفاده کنیم؟

1403/06/05
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

استفاده از dict.get(key) به جای dict[key] مزایای زیادی داره.

  1. پاسخ به نبود کلید: وقتی که از dict[key] استفاده می‌کنی و کلید وجود نداشته باشه، یک استثناء (Exception) به نام KeyError ایجاد می‌شه. اما dict.get(key) به جای ایجاد استثناء، مقدار None برمی‌گردونه (مگر اینکه مقدار پیش‌فرض دیگری رو مشخص کرده باشی).
d = {'a': 1, 'b': 2}
value = d.get('c')  # This will return None, no exception
  1. مقدار پیش‌فرض: با استفاده از dict.get(key, default) می‌تونی مقدار پیش‌فرضی رو مشخص کنی که اگر کلید پیدا نشد، برگردونه. این ویژگی بسیار مفیده، مثلاً وقتی نمی‌دونی که کلید در دیکشنری وجود داره یا نه و می‌خوای یک مقدار پیش‌فرض مشخص کنی.
value = d.get('c', 'default_value')  # This will return 'default_value'
  1. کاهش خطاهای احتمالی: با استفاده از dict.get(key) می‌تونی از بروز خطاهای غیرمنتظره جلوگیری کنی و کد تو رو مقاوم‌تر کنه. مخصوصاً زمانی که با داده‌هایی سر و کار داری که ممکنه کلیدهای مورد نظر وجود نداشته باشند.

در نهایت، dict.get(key) یک روش امن‌تر و انعطاف‌پذیرتر برای دسترسی به مقادیر دیکشنری هست و توصیه میشه که در مواقعی که احتمالاً کلید در دیکشنری وجود نداره از اون استفاده کنی.

پاسخ: 1403/06/05
آخرین آپدیت: 1403/08/09