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

পাইথনে আর্গুমেন্ট পাস-বাই-ভ্যালু নাকি পাস-বাই-রেফারেন্স?

পাইথন একটি মেকানিজম ব্যবহার করে যাকে "Call-by-Object" বলা হয়, এটিকে কখনো "Call by Object Reference" বা "Call by Sharing" ও বলা হয়।

যদি আপনি ইমিউটেবল আর্গুমেন্ট যেমন ইন্টিজার, স্ট্রিং বা টাপল ফাংশনে পাস করেন, তবে এটি Call-by-value-এর মতো আচরণ করে। কিন্তু মিউটেবল আর্গুমেন্ট পাস করলে বিষয়টি আলাদা।

পাইথন ভাষার সব প্যারামিটার (আর্গুমেন্ট) পাস-বাই-রেফারেন্স হয়। অর্থাৎ ফাংশনের ভিতরে প্যারামিটার কী রেফার করছে সেটা পরিবর্তন করলে কলিং ফাংশনেও পরিবর্তনটি প্রতিফলিত হয়।

উদাহরণ

student = {'Archana': 28, 'krishna': 25, 'Ramesh': 32, 'vineeth': 25} 
def test(student): 
    new = {'alok': 30, 'Nevadan': 28} 
    student.update(new) 
    print("Inside the function", student) 
    return 

test(student) 
print("outside the function:", student)

আউটপুট

Inside the function {'Archana': 28, 'krishna': 25, 'Ramesh': 32, 'vineeth': 25, 'alok': 30, 'Nevadan': 28} 
outside the function: {'Archana': 28, 'krishna': 25, 'Ramesh': 32, 'vineeth': 25, 'alok': 30, 'Nevadan': 28}
  1. C#-এ প্যারামিটার পাসিং (Parameter Passing): ভ্যালু, রেফারেন্স, আউট, প্যারাম অ্যারে

  2. Matplotlib-এ মাল্টিভ্যারিয়েট ফাংশন প্লট করুন

  3. পাইথন ফাংশনের আর্গামেন্ট সংখ্যা বের করার পদ্ধতি

  4. পাইথনে ল্যাম্বডা ফাংশন ব্যবহারের পদ্ধতি