فانکشنەکان (Functions) لە پایثون

وانەی شەشەم: فەنکشنەکان و چۆنیەتی بەکارهێنانیان بۆ ڕێکخستنی کۆد و دووبارە بەکارهێنانەوەی زیاتر.

فێربوونی پایتۆن

February 4, 2025

Functions in Python

وانە شەشەم: فانکشنەکان (Functions) لە پایثون

بەخێربێیت بۆ وانە شەشەم لە سلسلەی فێربوونی زمانی پایثون! لەم وانەیەدا، ئێمە بە تێکچوونی فانکشنەکان (Functions) دەچینە سەر و چۆنیەتی بەکارهێنانیان بۆ ڕێکخستنی کۆد و باشترکردنی دووبارە بەکارهێنان. فانکشنەکان یەکێک لە مفهومە بنچینەییەکانی بەرنامەنووسییە، کە بۆ دابەشکردنی بەرنامە بۆ بەشە کڵاو و ئاسان بەڕێوەبردن بەکاردێنرێن.

 

1. فانکشنەکان چییە؟

فانکشنەکان کۆیەکی کۆدەکانن کە کارێکی دیاریکراو ئەنجام دەدەن و دەتوانرێت لە کاتی پێویستدا بەکاربهێنرێن. بە بەکارهێنانی فانکشنەکان، ئێمە دەتوانین:

  • هێنانەوەی کۆد لە دووبارەبوونەوە بڕوانێت.
  • کۆد بە شێوەی باشتر ڕێکبخەین.
  • بەرنامەکە بە شێوەی باشتر و ئاسانتر بخوێنرێت و بەردەوام بمێنێت.
 

أ. دیاریکردنی فانکشن

فانکشنەکە بە بەکارهێنانی وشەی کلیلی def دیاری دەکرێت، دواتر ناوی فانکشنەکە و کورسییەکانی () کە پارامەترەکانی لە ناویدا دەبن.

def greet():
    print("Hello, World!")

ب. بەکارهێنانی فانکشن

دوای دیاریکردنی فانکشن، ئێمە دەتوانین بەکاری بهێنین بە بەکارهێنانی ناوی فانکشنەکە و کورسییەکانی.

greet()  # ئەنجام: Hello, World!

2. فانکشنەکان بە پارامەترەکان

پارامەترەکان بەهایەکانن کە لە کاتی بەکارهێنانی فانکشن بۆیان دەگوازرێت. فانکشنەکان دەتوانن بێ پارامەتر بن یان یەک یان زیاتر پارامەتریان هەبێت.

 

أ. فانکشن بە پارامەترێک

def greet(name):
    print(f"Hello, {name}!")

greet("Ali")  # ئەنجام: Hello, Ali!

ب. فانکشن بە چەندین پارامەتر

def add(a, b):
    print(a + b)

add(5, 3)  # ئەنجام: ٨

3. گەڕاندنی بەهایەکان لە فانکشنەکان

لە جیاتی نووسینی ئەنجامەکان لە ناو فانکشن، ئێمە دەتوانین بەهایەکان بگەڕێنین بە بەکارهێنانی وشەی return . ئەم بەهایانە دەتوانرێن لە گۆڕاوێکدا هێندەکرابێت یان بە شێوەی دەرئەنجام بەکاربێنرێن.

def multiply(a, b):
    return a * b

result = multiply(4, 5)
print(result)  # ئەنجام: ٢٠

تێبینی: کاتێک بە دەرئەنجامی return بگەڕێت، فانکشنەکە لە کارکردندا وەستێت و هیچ کۆدێکی دواتر ناکرێتەوە.

 

4. بەهایەکانی بنچینەیی بۆ پارامەترەکان

ئێمە دەتوانین بەهایە بنچینەییانە بۆ پارامەترەکان دیاری بکەین، بەم شێوەیە ئەگەر هیچ بەهایەک بۆ پارامەتر نەدرێت، بەهایە بنچینەییەکە بەکاردێت.

def greet(name="Guest"):
    print(f"Hello, {name}!")

greet()         # ئەنجام: Hello, Guest!
greet("Ali")    # ئەنجام: Hello, Ali!

5. فانکشنەکان بە ژمارەی نەناسراوی پارامەترەکان

ئەگەر نازانیت چەند پارامەترێک بۆ فانکشن دروست دەکەیت، ئێمە دەتوانین بەکاربێنین *args بۆ گواستنەوەی ژمارەی نەناسراوی پارامەترەکان.

 

أ. بەکارهێنانی *args

def sum_all(*args):
    total = 0
    for num in args:
        total += num
    return total

print(sum_all(1, 2, 3, 4))  # ئەنجام: ١٠

ب. بەکارهێنانی **kwargs

ئەگەر بەهایەکان بە شێوەی جووتەی کلیل-بەها بەکاربێنرێن، ئێمە دەتوانین **kwargs بەکاربێنین.

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Ali", age=25, city="Riyadh")
# ئەنجام:
# name: Ali
# age: 25
# city: Riyadh

6. فانکشنەکانی ناوەندی (Nested Functions)

ئێمە دەتوانین فانکشنێک لە ناو فانکشنێکی تر دروست بکەین. ئەم فانکشنە ناوەندییەکان دەتوانن تەنها لە ناو فانکشنی بابەتدا بەکاربێنرێن.

def outer_function():
    print("This is the outer function.")
    def inner_function():
        print("This is the inner function.")
    
    inner_function()

outer_function()
# ئەنجام:
# This is the outer function.
# This is the inner function.

7. فانکشنەکانی نادیار (Lambda Functions)

فانکشنە نادیارەکان (یان lambda ) فانکشنە کڵاوەکانن کە دەتوانرێن لە ڕیزێکدا بنوسرێن. ئەمە بەکاردێت کاتێک پێویستت بە فانکشنێکی سادە بۆ بەکارهێنانی کاتییەوە.

 

أ. شێوەپێدانی فانکشنی Lambda

square = lambda x: x ** 2
print(square(5))  # ئەنجام: ٢٥

ب. بەکارهێنانی Lambda لەگەڵ فانکشنەکانی تر

ئێمە دەتوانین lambda بەکاربێنین لەگەڵ فانکشنەکانی وەک map() و filter() .

# بەکارهێنانی map() بۆ بەکارهێنانی فانکشن لەسەر هەموو تەنکەکانی لیست
numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x ** 2, numbers))
print(squares)  # ئەنجام: [١, ٤, ٩, ١٦]

# بەکارهێنانی filter() بۆ ڕەتکردنەوەی تەنکەکان بە پشتڕاستی بە شەرط
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # ئەنجام: [٢, ٤]

8. ناوبەری گۆڕاوەکان (Scope)

ناوبەری گۆڕاوەکان شوێنی بەکارهێنانیان دیاری دەکات لە ناو بەرنامەدا. دوو جۆری سەرەکییەکانی ناوبەر هەیە:

  • گۆڕاوە محلییەکان (Local): گۆڕاوەکانی دیاریکراو لە ناو فانکشن و ناتوانرێت بەرەو دەرەوەی فانکشن بگەین.
  • گۆڕاوە عامەکان (Global): گۆڕاوەکانی دیاریکراو لە دەرەوەی فانکشن و دەتوانرێت لە هەموو شوێنێکدا بەکاربێنرێن.
 

أ. گۆڕاوە محلییەکان

def my_function():
    x = 10  # گۆڕاوی محلی
    print(x)

my_function()  # ئەنجام: ١٠
# print(x)  # هەڵە: x لێرەدا دیاری نەکراوە

ب. گۆڕاوە عامەکان

x = 10  # گۆڕاوی عام
def my_function():
    print(x)

my_function()  # ئەنجام: ١٠
print(x)       # ئەنجام: ١٠

تێبینی: ئەگەر بەرنامەکەت پێویست بێت گۆڕاوی عام بگۆڕێت لە ناو فانکشن، پێویستە بەکاربێنیت وشەی global .

x = 10
def modify_global():
global x
x = 20


modify_global()
print(x) # ئەنجام: ٢٠

9. کارەکانی کارا

کارەکانی ١: ژمارەی ناوەندی

def calculate_average(numbers):
    if len(numbers) == 0:
        return 0
    return sum(numbers) / len(numbers)

nums = [10, 20, 30, 40, 50]
average = calculate_average(nums)
print(f"The average is: {average}")  # ئەنجام: The average is: ٣٠.٠

کارەکانی ٢: سەیرکردنی ژمارە تاکەکان

def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

print(is_prime(11))  # ئەنجام: True
print(is_prime(15))  # ئەنجام: False

کارەکانی ٣: بەکارهێنانی Lambda لەگەڵ filter()

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # ئەنجام: [٢, ٤, ٦]

10. پێشنیارەکان لەسەر بەکارهێنانی فانکشنەکان

  • فانکشنەکان بچوک و دیاریکراو بکە: هەوڵبدە فانکشنێک تەنها بە پشتڕاستی بە کارێک دابنێت. ئەمە کۆدەکە بە شێوەی باشتر و ئاسانتر بخوێنێت و بەردەوام بمێنێت.

  • ناوەکانی ڕوون بەکاربھێنە: ناوەکانی دیاری بکە کە وەسفی کاری فانکشن بە شێوەی ڕوون بکەن.

  • کەمتر بەکاربهێنە گۆڕاوە عامەکان: هەوڵبدە کەمتر بەکاربهێنیت گۆڕاوە عامەکان، چونکە لە بەرنامەی گەورەدا دەکرێت کێشە دروست بکەن.

 

کۆتایی

لەم وانەیەدا، ئێمە فێر بووین چۆن فانکشنەکان دروست بکەین و بەکاربهێنین بۆ ڕێکخستنی کۆد و باشترکردنی دووبارە بەکارهێنان. فانکشنەکان ئامرازێکی هێزمندە بۆ دابەشکردنی بەرنامە بۆ بەشە کڵاو و ئاسان بەڕێوەبردن.

 

لە وانەی داهاتوودا، ئێمە بیردەردەچینەوە بۆ کارکردن لەگەڵ هەڵەکان (Error Handling) و چۆنیەتی شاردنی استثناکان لە بەرنامەکان. بەردەوام بمێنە لە چارەسەرکردن و هیچ شک نەکە لە پرسینەوەی پرسیارەکانت ئەگەر پێویست بە یارمەتیت هەبێت!

 

🚀 ئێستاش ئەتوانیت بەردەوام بمێنە لە ڕێگایەکی راستەقینە بۆ بوونی بەرنامەنووسێکی پێشکەوتوو!

  • Web development tutorial A-0

    فێربوونی بەرنامەسازی ماڵپەڕ A-0

    لە سفرەوە بۆ پڕۆ: گەشتی تەواوی پەرەپێدانی وێب

    بینینی بابەت
  • Differences Between Android and iOS

    جیاوازی نێوان ئەندرۆید و ئای ئۆ ئێس

    بەرنامەسازی ئەپی مۆبایل: جیاوازی نێوان ئەندرۆید و ئای ئۆ ئێس و باشترین پراکتیزەکان

    بینینی بابەت
  • Game Development with Unity

    پەرەپێدانی یاری بە بەکارهێنانی یونیتی

    پەرەپێدانی یاری لەگەڵ یونیتی: لە بیرۆکەوە بۆ بەرهەمی تەواو

    بینینی بابەت
  • Mastering Programming with Python

    شارەزایی لە بەرنامەسازی بە بەکارهێنانی پایتۆن

    شارەزابوون لە بەرنامەسازی بە پایتۆن: پڕۆژە و ئامۆژگاری دەستی

    بینینی بابەت
  • What are the benefits of websites

    سوودەکانی ماڵپەڕەکان چین؟

    سوودەکانی ماڵپەڕی کۆمپانیاکان

    بینینی بابەت
  • Web development tutorial A-1

    فێربوونی بەرنامەسازی ماڵپەڕ A-1

    وانەی یەکەم: فێربوونی HTML لە سفرەوە - پێشەکییەکی گشتگیر لەگەڵ ڕێکخستنی ئامرازەکان

    بینینی بابەت
  • Web development tutorial A-2

    فێربوونی بەرنامەسازی ماڵپەڕ A-2

    وانەی دووەم: فێربوونی HTML لە سفرەوە - تاگە پێشکەوتووەکان و خشتەکان

    بینینی بابەت
  • Artificial Intelligence Qwen AI

    ئینتەلیکەنی ئارەزویی Qwen AI

    Qwen AI مۆدێلی زانستی ئارەزویییە چەندکارەیە کە زمانەکان پشتگیری دەکات و کارە خەیاڵی و کاراکەرەکان دەڕێژێت

    بینینی بابەت