Python-3.4.3/C4/Advanced-Features-of-Functions/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 Advanced Features of Functions এর স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত।
00:07 এখানে আমরা ফাংশন সংজ্ঞায়িত করার সময় আর্গুমেন্ট থেকে ডিফল্ট ভ্যালু নির্ধারণ করা শিখব।
00:15 keyword arguments সহ ফাংশন সংজ্ঞায়িত এবং কল করা।
00:20 arbitrary arguments সহ ফাংশন সংজ্ঞায়িত এবং কল করা।
00:25 Python standard library তে উপলব্ধ কিছু built-in functions শিখব।
00:31 টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি উবুন্টু লিনাক্স 16.04 অপারেটিং সিস্টেম
00:38 Python 3.4.3 এবং IPython 5.1.0
00:45 টিউটোরিয়ালটি অনুশীলন করতে, আপনার জানা উচিত যে IPython console এ বুনিয়াদী পাইথন কমান্ড রান করা এবং ফাংশন কিভাবে ব্যবহার করে।
00:55 না হলে এই ওয়েবসাইটে সম্পর্কিত পাইথন টিউটোরিয়াল দেখুন।
01:00 প্রথমে Python এ ডিফল্ট arguments সম্পর্কে দেখি।
01:05 Python এ Function arguments এর ডিফল্ট ভ্যালু থাকতে পারে।
01:10 আমরা argument এর জন্য ভ্যালু ছাড়া ফাংশন কল করলে, উপলব্ধ থাকলে এর ডিফল্ট ভ্যালু ব্যবহার করা হয়।
01:18 অন্যথায় এটি এরর দেয়।
01:21 ipython শুরু করি। টার্মিনালটি খুলুন।
01:26 ipython3 লিখুন এবং এন্টার টিপুন।
01:30 এখান থেকে টার্মিনালে প্রতিটি কমান্ড লেখার পর এন্টার কী টিপতে ভুলবেন না।
01:37 function Welcome সংজ্ঞায়িত করি।
01:40 প্রদর্শিত কোড লিখুন।
01:44 এখানে welcome ফাংশন নাম রয়েছে। greet argument রয়েছে যাতে কোনো ডিফল্ট ভ্যালু নেই এবং name argument এর ডিফল্ট ভ্যালু হল World.
01:55 ফাংশনে, ডিফল্ট ভ্যালু সহ সকল arguments নন-ডিফল্ট arguments এর পর আসা উচিত।
02:03 প্রথমে দুটি arguments সহ welcome ফাংশন কল করি।
02:08 লিখুন welcome বন্ধনীতে ডাবল উদ্ধৃতিতে Hi comma ডাবল উদ্ধৃতিতে Chandru
02:17 আমরা প্রত্যাশিত স্বাগত ম্যাসেজ Hi Chandru পেয়েছি।
02:21 এখন শুধুমাত্র একটি argument সহ ফাংশন কল করি।
02:25 লিখুন welcome বন্ধনীতে ডাবল উদ্ধৃতিতে Hello
02:31 আমরা Hello World হিসাবে আউটপুট পাই।
02:35 এখানে Hello প্যারামিটার greet এর জন্য পাস হয় এবং
02:39 World, name প্যারামিটারের ডিফল্ট ভ্যালু।
02:44 দেখানো অনুযায়ী ডিফল্ট ভ্যালু 23 সহ আরেকটি প্যারামিটার age যুক্ত করুন।
02:51 এখন লিখুন welcome বন্ধনীতে ডাবল উদ্ধৃতিতে Hello
02:58 এখানে, welcome ফাংশন এখনও কার্যকর হয় কারণ আমরা age এর জন্য ডিফল্ট ভ্যালু দিয়েছি।
03:06 ডিফল্ট ভ্যালু আমাদের বিদ্যমান ফাংশনে নতুন প্যারামিটার যুক্ত করতে দেয়।
03:12 এটি ফাংশনের বিদ্যমান ব্যবহারকে ভাঙ্গবে না।
03:16 ভিডিওটি থামান। এই অনুশীলনী চেষ্টা করুন এবং তারপর ভিডিওটি আবার শুরু করুন।
03:22 arguments বদলে welcome ফাংশনকে পুনরায় সংজ্ঞায়িত করুন।
03:27 name argument কে greet argument এর আগে World এর ডিফল্ট ভ্যালু সহ রাখুন।
03:34 সমাধানের জন্য টার্মিনালে যান।
03:38 দেখানো অনুযায়ী লিখুন।
03:42 আমরা একটি এরর পেয়েছি: SyntaxError: non-default argument follows default argument
03:50 ফাংশনটি সংজ্ঞায়িত করার সময় ডিফল্ট ভ্যালু সহ সকল arguments শেষে আসা উচিত।
03:57 ভিডিওটি থামান। এই অনুশীলনী চেষ্টা করুন এবং তারপর ভিডিওটি আবার শুরু করুন।
04:03 greet argument এর জন্য Hello এর ডিফল্ট ভ্যালু সহ welcome ফাংশন পুনরায় সংজ্ঞায়িত করি।
04:10 তারপর, কোনো arguments ছাড়া ফাংশন কল করুন।
04:14 সমাধানের জন্য টার্মিনালে যান।
04:18 দেখানো অনুযায়ী লিখুন।
04:21 তারপর লিখুন, welcome ওপেন এবং ক্লোস বন্ধনী।
04:26 যেমনকি আমরা দেখতে পারি, আমরা Hello World আউটপুট পাই।
04:31 উভয় প্যারামিটারের ডিফল্ট ভ্যালু ব্যবহার করা হয় কারণ ফাংশন কোনো ভ্যালু পাস না করেই কল করা হয়।
04:39 এরপর দেখি যে keyword arguments কি।
04:43 আমরা keyword arguments পাস করে ফাংশন কল করার সময় arguments এর ক্রম মনে রাখার দরকার নেই।
04:51 এর বদলে আমরা এতে ভ্যালু পাস করার জন্য argument এর name ব্যবহার করতে পারি।
04:57 marks নামক ফাংশন সংজ্ঞায়িত করি যা arguments হিসাবে তিনটি মার্ক্স নেয়।
05:04 দেখানো অনুযায়ী লিখুন।

তারপর আমরা keywords নির্দিষ্ট না করেই marks ফাংশন কল করব।

05:11 লিখুন marks বন্ধনীতে 34 comma 23 comma 45
05:18 আমরা first: 34 second: 23 and third: 45 আউটপুট পাই।
05:24 এখানে ভ্যালুগুলি 34, 23 এবং 45 স্থান অনুসারে পাস করা হবে।
05:31 এটি নিশ্চিত করতে আমরা ভিন্ন ভ্যালু দিয়ে চেষ্টা করব।
05:35 লিখুন marks বন্ধনীতে 34 comma 45 comma 23
05:42 আমরা দেখতে পারি যে প্রিন্ট হওয়া ভ্যালু বদলে যায় কারণ সেটি স্থান অনুসারে পাস করা হয়।
05:49 এখন আমরা keyword এর দুটি ভ্যালু এবং keyword সহ একটি ভ্যালু পাস করি।
05:55 লিখুন marks বন্ধনীতে 34 comma 23 comma third is equal to 45
06:04 এখানে প্রথম দুটি ভ্যালু পজিশন অনুসারে এবং তৃতীয়টি keyword argument হিসাবে পাস করা হয়েছে।
06:12 তবে, keyword arguments কে শেষে নির্দিষ্ট করা উচিত।
06:17 এখন লিখুন marks বন্ধনীতে 34 comma second is equal to 23 comma 45
06:26 আমরা SyntaxError, positional argument follows keyword argument পেয়েছি।
06:32 এটি এইজন্য কারণ এখানে keyword argument শেষে নির্দিষ্ট করা হয়নি।
06:38 আমরা সকল প্যারামিটার keyword arguments হিসাবে পাস করতে পারি।
06:43 লিখুন marks বন্ধনীতে second is equal to 34 comma first is equal to 23 comma third is equal to 45
06:54 এখানে keyword এর ক্রম বদলে গেলেও আমরা আউটপুটটি এইভাবে পাই:

first: 23 second: 34 and third: 45

07:03 এরপর আমরা শুধুমাত্র keyword arguments নিতে ফাংশন সংজ্ঞায়িত করা শিখব।
07:09 দেখানো অনুযায়ী লিখুন।
07:12 ফাংশনটি আবার কল করতে লিখুন:

marks বন্ধনীতে second is equal to 34 comma first is equal to 23 comma third is equal to 45

07:25 প্যারামিটারের শুরুতে asterisk চিহ্নে ধ্যান দিন।
07:29 এটি ফাংশনকে শুধুমাত্র arguments keyword গ্রহণ করতে সীমাবদ্ধ করে।
07:34 আবার আমরা keyword arguments ছাড়াই ফাংশনটি কল করার চেষ্টা করি।
07:39 লিখুন marks বন্ধনীতে 45 comma 34 comma 23
07:46 এটি আমাদের marks() takes 0 positional arguments but 3 were given হিসাবে TypeError দেয়।
07:53 এইভাবে positional arguments ছাড়াই শুধুমাত্র arguments keyword এর ব্যবহার প্রয়োগ করতে পারি।
08:00 এরপর arbitrary arguments ব্যবহার করা শিখি।
08:05 আমরা arguments এর সংখ্যা সর্বদা আগে থেকে জানতে পারি না যা ফাংশনে পাস করা হয়নি।
08:12 arguments এর arbitrary সংখ্যা দেখাতে argument নামের আগে asterisk (*) চিহ্ন ব্যবহার করুন।
08:19 আমরা যে কোনো positional arguments সংখ্যা গ্রহণ করার জন্য ফাংশন সংজ্ঞায়িত করতে পারি।
08:25 দেখানো অনুযায়ী লিখুন।

তারপর লিখুন family বন্ধনীতে ডাবল উদ্ধৃতিতে Duryodhana comma ডাবল উদ্ধৃতিতে Dushasana

08:38 এখানে আমরা ফাংশন একাধিক arguments সহ কল করেছি।
08:43 এই arguments ফাংশনে পাস হওয়ার সময় tuple এ চলে যায়।
08:49 এখন দেখানো অনুযায়ী লিখুন।
08:53 যেমনকি আপনি দেখতে পারেন, আমরা function family কে names argument এ পাস হওয়া অধিক ভ্যালু সহ কল করতে পারি।
09:01 আমরা function family তে প্রথম কলে 2 টি ভ্যালু এবং দ্বিতীয় কলে 4 টি ভ্যালু পাস করেছি।
09:09 উভয় ক্ষেত্রেই এই ভ্যালু parameter names এ বরাদ্দ করা হয়েছে।
09:15 আমরা keyword arguments এর arbitrary সংখ্যা পেতে ফাংশন সংজ্ঞায়িত করতে পারি।
09:21 দেখানো অনুযায়ী লিখুন।

তারপর ফাংশন কল করতে যেমন দেখানো হয়েছে লিখুন।

09:29 person ফাংশন এতে পাস করা keyword arguments এর dictionary প্রিন্ট করে।
09:35 প্যারামিটার নামের শুরুতে double asterisk চিহ্নে ধ্যান করুন।
09:40 এটি শূন্য বা আরো keyword arguments পাস করতে সক্ষম করে।
09:45 লক্ষ্য করুন: Single asterisk (*) চিহ্নের ব্যবহার arbitrary number of positional arguments গ্রহণ করতে ব্যবহৃত হয়।
09:53 double asterisk (**) চিহ্নের ব্যবহার keyword arguments এর arbitrary number গ্রহণ করতে ব্যবহৃত হয়।
10:01 এখন দেখানো অনুযায়ী person ফাংশন কল করুন।
10:06 এখানে আমরা প্রথম ক্ষেত্রে 3 keyword arguments এবং দ্বিতীয় ক্ষেত্রে 4 পাস করেছি।
10:14 ফাংশন ভ্যালু সহ keyword arguments এর dictionary প্রিন্ট করে।
10:20 Python built-in functions ও প্রদান করে।
10:22 কয়েকটি হল abs()

any()

10:29 dir()

help()

10:33 আপনি built-in functions এর সম্পূর্ণ সূচী এবং তাদের ব্যবহার পেতে এই লিঙ্কটি দেখতে পারেন।
10:39 এটি আমাদের টিউটোরিয়ালের শেষে নিয়ে আসে। সংক্ষেপে...
10:45 এখানে আমরা ফাংশনকে Default arguments, keyword arguments এবং Arbitrary arguments সহ সংজ্ঞায়িত করতে শিখেছি।
10:55 আপনার সমাধানের জন্য এখানে কিছু স্ব মূল্যায়ন প্রশ্ন রয়েছে।
11:00 ফাংশনের সকল arguments এর ডিফল্ট ভ্যালু থাকতে পারে না। - সত্য বা মিথ্যা?
11:08 নিম্নলিখিত একটি বৈধ ফাংশন সংজ্ঞায়িত। সত্য বা মিথ্যা?
11:15 ফাংশন কল করার সময়, নিম্নের কোনটি সঠিক।
11:20 এবং উত্তর হল:

প্রথম। মিথ্যা। Python ফাংশনের সকল arguments এর ডিফল্ট ভ্যালু থাকতে পারে।

11:28 দ্বিতীয়। মিথ্যা। ডিফল্ট arguments সহ সকল প্যারামিটার শেষে সংজ্ঞায়িত করা উচিত।
11:35 তৃতীয়। ফাংশন কল করার সময়, শুধুমাত্র keyword arguments যে কোনো ক্রমে থাকতে পারে, তবে শেষে কল করা উচিত।
11:44 দয়া করে সময়ের সাথে আপনার প্রশ্ন এই ফোরামে পোস্ট করুন।
11:48 এই ফোরামে Python সম্পর্কিত আপনার সাধারণ প্রশ্ন পোস্ট করুন।
11:53 FOSSEE দল TBC প্রকল্প সমন্বয় করে।
11:57 স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। আরো জানতে এই লিঙ্কে যান।
12:06 আই আই টী বোম্বে থেকে আমি কৌশিক দত্ত বিদায় নিচ্ছি। অংশগ্রহনের জন্য ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta