কম্পিউটার

পাইথনে পদ্ধতি এবং ফাংশনের মধ্যে পার্থক্য


ফাংশন

একটি ফাংশন একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য কোডের একটি ব্লক, যার নিজস্ব সুযোগ থাকবে এবং নাম দ্বারা ডাকা হয়। সমস্ত ফাংশনে শূন্য(না) আর্গুমেন্ট বা একাধিক আর্গুমেন্ট থাকতে পারে। প্রস্থান করার সময়, একটি ফাংশন এক বা একাধিক মান ফেরত দিতে পারে বা দিতে পারে না৷

বেসিক ফাংশন সিনট্যাক্স

def functionName( arg1, arg2,….):
   …….
   # Function_body
   ……..

আসুন আমাদের নিজস্ব (ব্যবহারকারী) তৈরি করি, একটি খুব সাধারণ ফাংশন যার নাম sum (ব্যবহারকারী তার ইচ্ছামত নাম দিতে পারে)”। ফাংশন "সমষ্টি"-এ num1 এবং num2 নামক দুটি আর্গুমেন্ট রয়েছে এবং ফাংশনে পাস করা আর্গুমেন্টের যোগফল (সমষ্টি) ফিরিয়ে দেবে। যখন আমরা ফাংশনকে (সমষ্টি) মান (আর্গুমেন্ট) 5 এবং 6 দিয়ে কল করি, তখন এটি 11 প্রদান করে।

def sum(num1, num2):
   return (num1 + num2)

আউটপুট

>>> sum(5,6)
11

সুতরাং উপরে থেকে, আমরা দেখতে পাই 'রিটার্ন' স্টেটমেন্ট পাইথন ফাংশন থেকে একটি মান প্রদান করে।

ফাংশন আমাদের কোড পুনঃব্যবহারযোগ্যতা বাস্তবায়নের অনুমতি দেয়। তিন ধরনের ফাংশন আছে -

  • অন্তর্নির্মিত ফাংশন ( নাম অনুসারে, এই ফাংশনগুলি পাইথন ভাষার সাথে আসে, উদাহরণস্বরূপ, সাহায্য() যেকোনো সাহায্য চাইতে, সর্বোচ্চ()- সর্বোচ্চ মান পেতে, টাইপ()- কোনো বস্তুর ধরন ফেরত দিতে এবং আরো অনেক।)

  • ব্যবহারকারী-সংজ্ঞায়িত ফাংশন (এগুলি এমন ফাংশন যা ব্যবহারকারীরা তাদের সাহায্য করার জন্য তৈরি করে, যেমন আমরা উপরে তৈরি করেছি "সমষ্টি" ফাংশন)।

  • বেনামী ফাংশন (এটিকে ল্যাম্বডা ফাংশনও বলা হয় এবং সাধারণ ফাংশনের বিপরীতে যা def ব্যবহার করে সংজ্ঞায়িত করা হয় কীওয়ার্ড lambda ব্যবহার করে সংজ্ঞায়িত করা হয় কীওয়ার্ড)।

পদ্ধতি

পাইথনের একটি পদ্ধতি কিছুটা একটি ফাংশনের অনুরূপ, এটি অবজেক্ট/ক্লাসের সাথে যুক্ত ছাড়া। দুটি প্রধান পার্থক্য ছাড়া পাইথনের পদ্ধতিগুলি ফাংশনের সাথে খুব মিল।

  • পদ্ধতিটি একটি বস্তুর জন্য নিহিতভাবে ব্যবহৃত হয় যার জন্য এটি বলা হয়।

  • পদ্ধতিটি ক্লাসের মধ্যে থাকা ডেটাতে অ্যাক্সেসযোগ্য।

সাধারণ পদ্ধতি সিনট্যাক্স

class ClassName:
   def method_name():
      …………..
      # Method_body
      ………………

আসুন একটি সহজ কোড -

এর মাধ্যমে পদ্ধতিটি বুঝুন
class Pet(object):
   def my_method(self):
      print("I am a Cat")
cat = Pet()
cat.my_method()

আউটপুট

I am a Cat

উপরের কোডে, আমরা প্রথমে ক্লাস "পেট" সংজ্ঞায়িত করেছি। তারপর আমরা এই ব্লুপ্রিন্ট থেকে "বিড়াল" বস্তুটি তৈরি করেছি। এরপরে, আমরা আমাদের কাস্টম পদ্ধতিকে বলি my_method অবজেক্টের সাথে (.i.e. cat)।

পাইথনে পদ্ধতি এবং ফাংশনের মধ্যে মূল পার্থক্য

যেহেতু আমরা ফাংশন এবং পদ্ধতি উভয়ের প্রাথমিক ধারণা পেয়েছি, আসুন তাদের মধ্যে মূল পার্থক্যগুলি হাইলাইট করি -

  • একটি ফাংশনের বিপরীতে, পদ্ধতিগুলিকে একটি বস্তুতে বলা হয়। আমাদের উপরের উদাহরণের মতো আমরা আমাদের পদ্ধতিকে .i.e. "cat" অবজেক্টে "my_method" যেখানে কোন বস্তু ছাড়াই "sum" ফাংশন বলা হয়। এছাড়াও, যেহেতু পদ্ধতিটি একটি বস্তুর উপর বলা হয়, এটি সেই ডেটাতে অ্যাক্সেস করতে পারে।

  • পদ্ধতির বিপরীতে যা বস্তুর অবস্থা পরিবর্তন করতে পারে, পাইথন ফাংশন এটি করে না এবং সাধারণত এটিতে কাজ করে।

সংক্ষেপে, একটি পদ্ধতি একটি ফাংশন যা একটি বস্তুর অন্তর্গত।


  1. পাইথন CGI প্রোগ্রামিং এ GET এবং POST এর মধ্যে পার্থক্য কি?

  2. পাইথনে getattr() এবং setattr() ফাংশনের মধ্যে পার্থক্য কী?

  3. 'র মধ্যে পার্থক্য কি।' , '?' এবং পাইথন রেগুলার এক্সপ্রেশনে '*'?

  4. জাভাস্ক্রিপ্ট এবং পাইথনে সেমিকোলনের মধ্যে পার্থক্য কী?