توابع به عنوان شئ

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

توابع به عنوان شئ

اگرچه آنها به صورت متفاوتی از متغیرهای عادی ایجاد می شوند، توابع مانند هر نوع دیگری در پایتون دارای ارزش هستند. می توانند به متغیر ها بست داده شوند و یا دوباره مقدار دهی شوند و مجدد در قسمت دیگری از کد فرا خوانده شوند.

def multiply(x, y):
   return x * y

a = 4
b = 7
operation = multiply
print(operation(a, b))

خروجی:

>>>
28
>>>

نکته: مثال بالا توابع را به یک عملیات متغیر اختصاص داده است. در حال حاضر، نام عملیات نیز می تواند برای انجام عملیات صدا زده شود و مورد استفاده قرار گیرد. توابع نیز می توانند بعنوان استدلال های دیگر توابع استفاده شوند.

def add(x, y):
  return x + y

def do_twice(func, x, y):
  return func(func(x, y), func(x, y))

a = 5
b = 10

print(do_twice(add, a, b))

خروجی:

>>>
30
>>>

نکته: همانطور که می بینید تابع do_twice یک تابع دیگر را به عنوان آرگومان ورودی دریافت می کند و در بدنه کد خود استفاده می کند.

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
12دیدگاه
  • $taha$
    8 months, 1 week ago

    سلام من توابع به عنوان شیئ رو درست متوجه نشدم مثلا اینکه چجوری فانک بجای ادد هست و اینکه پرانتز جلو اسم تابع رو بهتر توضیح دهید
    مرسی

    • علی بیگدلی
      8 months, 1 week ago

      هر تابعی که به یک متغیر متصل می کنید تبدیل به یک نگهدارنده شئ تابع میشه و با صدا زدن اسم متغیر در حقیقت تابع را فراخوانی می کنید. در نظر داشته باشید که مورد مشابه در برنامه نویسی شئ گرا اتفاق میافته

  • mohammad reza gholami
    10 months, 3 weeks ago

    عاااااااالییییی😍

    • علی بیگدلی
      10 months, 3 weeks ago

      متشکرم نظر لطفتونه

  • طاها1386
    11 months, 3 weeks ago

    سلام مهندس . ممنون میشم بگید return رو برای چی میزاریم یا من اگه

    def multiply(x,y):
    print(x*y)
    x = int(input("enter frist num1: "))
    y = int(input("enter selant num1: "))
    #operation = multiply
    print(multiply(x,y))

    این رو قرار بدم خروجی رو حراب میکینه ممنون میشم توضیح بدین

    • علی بیگدلی
      11 months, 2 weeks ago

      بعضی توابع عملیاتی رو که بهشون میگی میرن و انجام میدن و بازگشتی ندارن مثل اینکه بگی "کولر رو روشن کن" اما بعصی عملیات نیاز هستش که نتیجه نهایی برای عملکرد های بعدی به شما به عنوان پاسخ داده بشن مثل اینکه بگی " برو ببین چند نفر تو کلاسن و بشمر" نتیجه این عمل میشه یه عدد که return میشه به کسی که اجراش کرده و نگهداری میشهو بعد باهاش عملیات های دیگه انجام میشه

  • Mohamad Almbrd
    11 months, 4 weeks ago

    سلام
    ممنون از زحماتتون
    میشه توضیح بدین چجوری def رو وارد یک حلقه while true کنیم؟

    • علی بیگدلی
      11 months, 4 weeks ago

      اگر منظورتون تعریف تابع در داخل حلقه هستش که اصلا معقول نیست ولی اگر منظورتون اجرای تابع و به اصطلاح call کردن تابع باشه هر جایی از کد که لازم بود می تونید این کار رو انجام بدید حتی تو حلقه که عملا بعد از فاصله داخل حلقه while True می تونید هر کاری انجام بدید

    • Mohamad Almbrd
      11 months, 3 weeks ago

      ممنون از راهنماییتون
      استاد دوره ی آموزش Django نمیذارید؟

    • علی بیگدلی
      11 months, 3 weeks ago

      اول اینکه من استاد نیستم و مهندس و توسعه دهنده هستم
      و دوم اتفاقا در حال درست کردنش هستم در حال حاضر چندتا دوره ناقص موندن که همین که تموم بشه دوره آموزش query های Sql میگذارم و بعدش django

    • علی بیگدلی
      11 months, 3 weeks ago

      اول اینکه من استاد نیستم و مهندس و توسعه دهنده هستم
      و دوم اتفاقا در حال درست کردنش هستم در حال حاضر چندتا دوره ناقص موندن که همین که تموم بشه دوره آموزش query های Sql میگذارم و بعدش django

    • Mohamad Almbrd
      11 months, 3 weeks ago

      خیلی ممنون
      موفق باشید