মডিউল পাঠ (1/4)
def এবং ফিরে যান
একটি ফাংশন কোডের একটি পুনঃব্যবহারযোগ্য ব্লক: আপনি এটিকে একবার def দিয়ে সংজ্ঞায়িত করুন,
তারপর যতবার ইচ্ছা কল করুন। ফাংশন কোড মডুলার করে,
পরীক্ষাযোগ্য, এবং স্ব-ডকুমেন্টিং।
মৌলিক সিনট্যাক্স
def saluta(nome):
return f"Ciao, {nome}!"
saluta("Ada") # 'Ciao, Ada!'defফাংশনটি প্রবর্তন করে, এর পরে নাম এবং পরামিতিগুলি বন্ধনী:ইন্ডেন্টেড ব্লক খোলে।returnকলারকে একটি মান ফেরত পাঠায় এবং ফাংশনটি শেষ করে।
স্পষ্ট return বনাম অন্তর্নিহিত None
আপনি যদি return না লেখেন, ফাংশনটি None প্রত্যক্ষ করে:
def stampa_e_basta(x):
print(x)
risultato = stampa_e_basta("ciao")
# prints 'ciao'
print(risultato) # Noneএকটি খালি return (কোনও মান নেই) এছাড়াও None ফেরত দেয়, তবে এটি প্রাথমিক হিসাবে পরিবেশন করতে পারে
প্রস্থান:
def primo_pari(nums):
for n in nums:
if n % 2 == 0:
return n
return None # explicit: communicates "not found"একাধিক মান? একটি tuple ফেরত
পাইথনের কোন "আউট প্যারামিটার" নেই: একাধিক জিনিস ফেরত দিতে, একটি রিটার্ন করুন tuple (প্রায়শই কলার দ্বারা আনপ্যাক করা হয়)
def divisione_resto(a, b):
return a // b, a % b
quoziente, resto = divisione_resto(17, 5)
# 3, 2ডকস্ট্রিং: অন্তর্নির্মিত ডকুমেন্টেশন
ফাংশনের ভিতরের প্রথম স্ট্রিংটি হল ডকস্ট্রিং: এটি দেখায়
help(fn) এবং IDE-তে টুলটিপ হিসাবে।
def area_cerchio(raggio):
"""Calcola l'area di un cerchio dato il raggio."""
import math
return math.pi * raggio ** 2সুযোগ: স্থানীয় ভেরিয়েবল
একটি ফাংশনের ভিতরে সংজ্ঞায়িত ভেরিয়েবলগুলি হল স্থানীয়: সেগুলি বিদ্যমান নেই৷ বাইরে
def f():
x = 10
return x
f() # 10
x # NameError: name 'x' is not definedফাংশন সবসময় কিছু ফেরত দেয়
পাইথনে, যদি একটি ফাংশন স্পষ্টভাবে একটি return স্টেটমেন্ট ঘোষণা না করে বা একটি খালি return ফিচার না করে, তাহলে এটি স্পষ্টভাবে বিশেষ মান None প্রদান করবে। এমন কোন ফাংশন নেই যা একটি মান ফেরত দেয় না।
চেষ্টা করে দেখুন
একটি ফাংশন `ডবল(x)` সংজ্ঞায়িত করুন যা `x * 2` প্রদান করে। তারপর এটিকে 7 দিয়ে কল করুন এবং ফলাফলটিকে `ফলাফল`-এ বরাদ্দ করুন। `ফলাফল` মূল্যায়ন করুন।
ইঙ্গিত দেখান
রিটার্ন x * 2 ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
`মিনিমাম_সর্বোচ্চ (সংখ্যা)` সংজ্ঞায়িত করুন যা একটি টিপল প্রদান করে `(সর্বাধিক, সর্বনিম্ন)`। এটিকে `[3, 1, 4, 1, 5, 9, 2, 6]` এ কল করুন এবং ফলাফলটিকে `mn, mx`-এ আনপ্যাক করুন। `(mn, mx)` মূল্যায়ন করুন।
ইঙ্গিত দেখান
রিটার্ন মিন (সংখ্যা), সর্বোচ্চ (সংখ্যা)
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
একটি ফাংশন সংজ্ঞায়িত করুন \`is_palindrome(text)\` যা ইনপুট স্ট্রিং তার বিপরীত সংস্করণের সমান হলে \`True\` প্রদান করে এবং অন্যথায় \`False\`। শেষ অভিব্যক্তি হিসাবে \`is_palindrome("রাডার")\` দিয়ে ফাংশনটি পরীক্ষা করুন।
ইঙ্গিত দেখান
স্লাইসিং টেক্সট ব্যবহার করুন [::-1] স্ট্রিংটি বিপরীত করতে এবং মূল পাঠ্যের সাথে তুলনা করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ