freeCodeCamp/guide/arabic/python/data-structures/ranges/index.md

3.3 KiB

title localeTitle
The Python Range نطاق بايثون

بايثون نطاقات

بدلاً من كونه دالة ، فإن النطاق هو في الواقع نوع متسلسل غير قابل للتغيير ويشيع استخدامه لحل عدد محدد من المرات في الحلقات.

خلق:

يتم إنشاء ranges باستخدام منشئ range . المعلمات منشئ هي:

  • start : القيمة الأولى الشاملة للنطاق (عدد صحيح اختياري ، القيم الافتراضية إلى 0).
  • stop : قيمة التوقف الحصرية ، يتوقف النطاق عند توفير هذه القيمة أو أكبر (العدد الصحيح المطلوب).
  • step : القيمة المضافة إلى القيمة الحالية للحصول على القيمة التالية (عدد صحيح اختياري ، الإعداد الافتراضي إلى 1).

`>>> range(10) # Only the stop parameter is required. range(0, 10)

range(0, 10) # Default for start parameter is 0. range(0, 10) range(0, 10, 1) # Default for step is 1. Start parameter is required if step is needed. range(0, 10) `

أمثلة:

ونظرًا لأن ranges متكررة ، يمكن تمريرها إلى list tuple لإنشاء هذه الأنواع من التسلسلات. باستخدام هذه الحقيقة ، يمكننا تصور بعض الأمثلة:

`>>> list(range(10)) # range as argument for list constructor. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

tuple(range(10)) # range as argument for tuple constructor. (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) `

ranges طول الصفر:

`>>> list(range(10, 0)) # start greater than stop with postive step. []

list(range(10, 10)) # start equal to stop with postive step. [] list(range(10, 10, -1)) # start equal to stop with negative step. [] list(range(0, 10, -1)) # start less than stop with negative step. [] `

ranges مع وسيطات الخطوة:

`>>> list(range(0, 10, 2)) # next value would be 10, stops at 8. [0, 2, 4, 6, 8]

list(range(0, 10, 3)) # next value would be 12, stops at 9. [0, 3, 6, 9] list(range(0, 10, 4)) # next value would be 12, stops at 8. [0, 4, 8] list(range(10, 0, -1)) # negative step makes decreasing ranges. [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] list(range(-5, -30, -3)) # negative integers are valid arguments. [-5, -8, -11, -14, -17, -20, -23, -26, -29] `

فوائد:

إن الفائدة من استخدام range هي أنه بغض النظر عن مدى نطاق معين ، فإن هناك حاجة إلى كمية صغيرة من الذاكرة لتخزين range ، وقيم البدء ، والتوقف ، والخطوة. يتم حساب القيم الفردية ranges عند التكرار.

`>>> import sys

a_range = range(1000000) a_list = list(a_range) a_tuple = tuple(a_range) sys.getsizeof(a_range) 48 sys.getsizeof(a_list) 9000112 sys.getsizeof(a_tuple) 8000048 `

مزيد من المعلومات:

بيثون دوك - النطاقات

TODO: ranges الطرق لا تنفذ ولا تنفذ