کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش تابع ()range در پایتون

آموزش تابع range() در برنامه نویسی پایتون


اگر احتیاج دارید که روی دنباله ای از اعداد در حلقه تکرار کنید، تابع داخلی range() به کار می آید. این تابع توالی از اعداد حسابی تولید می کند.

    >>> for i in range(5):
    ...     print(i)
    ...
    0
    1
    2
    3
    4

نقطه پایان داده شده هیچگاه جزء ای از دنباله تولید شده نیست. Range(10) ده مقدار تولید می کند که اندیس های مجاز برای عناصر یک دنباله به طول ده هستند. امکان دارد که بخواهیم بازه از عددی دیگر شروع شود، و یا یک واحد افزایشی متفاوت مشخص کنیم (حتی منفی، گاهی به آن گام می گویند).

    range(5, 10)
    5, 6, 7, 8, 9
 
 range(0, 10, 3)
    0, 3, 6, 9
 
 range(-10, -100, -30)
   -10, -40, -70

برای تکرار روی اندیس های یک دنباله، می توانید range() و len() را مانند زیر ترکیب کنید:

    >>> a = ['Mary', 'had', 'a', 'little', 'lamb']
    >>> for i in range(len(a)):
    ...     print(i, a[i])
    ...
    0 Mary
    1 had
    2 a
    3 little
    4 lamb

اگر چه در بیشتر این موراد، راحت تر است از تابع enumerate() استفاده شود. لینک Looping Techniques را ببینید. اگر فقط یک range را چاپ کنید، اتفاق عجیبی می افتد:
    >>> print(range(10))
    range(0, 10)

شی باز گردانده شده توسط تابع range() به طرق مختلف به صورت یک لیست رفتار می کند، در حالی که واقعا لیست نیست. شی ای است که عناصر پی در پی دنباله مورد نظر را در زمان تکرار در حلقه باز می گرداند. اما واقعا یک لیست نیست، بدین ترتیب در ذخیره فضا صرفه جویی می کند. می گوییم چنین شی ای قابل تکرار است، یعنی به عنوان هدف برای توابع و ساختار هایی که انتظار چیزی را دارند که بتوان از آن عناصر ترتیبی به دست آورد تا هنگامی که عناصر خاتمه یابند ، مناسب است. دیدیم که عبارت for دارای این چنین ساختاری است، درحالی که یک مثال از یک تابع که یک شی قابل تکرار را پذیرفته تابع sum() است:

    >>> sum(range(4))  # 0 + 1 + 2 + 3
    6

در ادامه با توابع بیشتری آشنا خواهیم شد که تکرار پذیر ها را به عنوان آرگومان دریافت می کنند و آنها را باز می گردانند. در انتها شاید کنجکاو باشید بدانید چگونه از یک range یک لیست بگیرید. و این راه حل است:

    >>> list(range(4))
    [0, 1, 2, 3]

در بخش ساختار های داده، جزییات بیشتری درباره list() ارائه می دهیم.

1403/05/28 4156 699
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...