কম্পিউটার

পাইথনে একটি ফাংশনে ডিফল্ট প্যারামিটার মান কিভাবে সেট করবেন?


পাইথনের ডিফল্ট প্যারামিটার মানগুলি পরিচালনা করা কয়েকটি জিনিসের মধ্যে একটি যা বেশিরভাগ নতুন পাইথন প্রোগ্রামারদের বিরক্ত করতে পারে।

ডিফল্ট মান হিসাবে একটি "পরিবর্তনযোগ্য" অবজেক্ট ব্যবহার করে সমস্যার কারণ কি; অর্থাৎ, একটি মান যা জায়গায় পরিবর্তন করা যেতে পারে, যেমন একটি তালিকা বা অভিধান।

প্রতিবার ফাংশনটি কল করার সময় একটি নতুন তালিকা তৈরি করা হয় যদি একটি দ্বিতীয় যুক্তি প্রদান না করা হয়, যাতে প্রত্যাশিত আউটপুট হয়:

<প্রে>[12][43]

যখন ফাংশনটি সংজ্ঞায়িত করা হয় তখন একটি নতুন তালিকা তৈরি করা হয় এবং একই তালিকা প্রতিটি ধারাবাহিক কলে ব্যবহার করা হয়।

Python এর ডিফল্ট আর্গুমেন্টগুলি একবার মূল্যায়ন করা হয় যখন ফাংশনটি সংজ্ঞায়িত করা হয়, প্রতিবার ফাংশনটি কল করার সময় নয়। এর মানে হল যে আপনি যদি একটি মিউটেবল ডিফল্ট আর্গুমেন্ট ব্যবহার করেন এবং এটিকে পরিবর্তন করেন, তাহলে আপনি সেই বস্তুটিকে ফাংশনে ভবিষ্যতের সকল কলের জন্যও মিউটেট করবেন।

আমাদের কি করা উচিত

প্রতিবার ফাংশনটি কল করার সময় একটি নতুন অবজেক্ট তৈরি করুন, একটি ডিফল্ট আর্গ ব্যবহার করে সংকেত দেওয়ার জন্য যে কোনও আর্গুমেন্ট দেওয়া হয়নি (কোনও প্রায়শই ভাল পছন্দ নয়)।

উদাহরণ

def func(data=[]):data.append(1) datafunc()func()def append2(element, foo=None):যদি foo হয় None:foo =[] foo.append(element) প্রত্যাবর্তন পদচিহ্ন(অ্যাপেন্ড২(১২))প্রিন্ট(অ্যাপেন্ড২(৪৩))

আউটপুট

<প্রে>[12][43]
  1. পাইথন:একটি ফাংশন থেকে একাধিক মান ফেরত দিন

  2. একটি জাভাস্ক্রিপ্ট ফাংশনের জন্য একটি ডিফল্ট প্যারামিটার মান কিভাবে সেট করবেন?

  3. পাইথন ম্যাটপ্লটলিবে একটি মাল্টিভেরিয়েট ফাংশন কীভাবে প্লট করবেন?

  4. কিভাবে Matplotlib Python এ X-অক্ষ মান সেট করবেন?