دالة len()
في بايثون أداة قوية وفعّالة تُستخدم لتحديد عدد العناصر في الكائنات، مثل التسلسلات أو المجموعات. يمكنك استخدام len()
مع أنواع بيانات متنوعة، بما في ذلك السلاسل النصية والقوائم والقواميس وأنواع البيانات الخارجية مثل مصفوفات NumPy وإطارات بيانات pandas. يساعدك فهم آلية عمل len()
مع أنواع البيانات المختلفة على كتابة أكواد بايثون أكثر كفاءةً وإيجازًا.
يعد استخدام len()
في بايثون أمرًا مباشرًا للأنواع المضمنة، ولكن يمكنك توسيعه إلى فئاتك المخصصة من خلال تنفيذ التابع.__len__()
يتيح لك هذا تخصيص ما يعنيه الطول بالنسبة إلى الكائنات الخاصة بك. على سبيل المثال، مع pandas DataFrames، تقوم len()
بإرجاع عدد الصفوف. إن إتقان len()
لا يعزز فهمك لهياكل بيانات Python فحسب، بل يمكّنك أيضًا من إنشاء برامج أكثر قوة وقابلية للتكيف.
في هذا الدرس، ستتعلم متى تستخدم دالة len()
في بايثون وكيفية استخدامها بفعالية. ستكتشف أنواع البيانات المضمنة التي تُعتبر وسيطات صالحة لـ len()
وتلك التي لا يمكنك استخدامها. ستتعلم أيضًا كيفية استخدام len()
مع أنواع خارجية مثل ndarray في NumPy وDataFrame في pandas، ومع فئاتك الخاصة.
البدء باستخدام ()len في بايثون
الدالة len()
هي إحدى الدوال المضمنة في بايثون. تُرجع هذه الدالة طول الكائن. على سبيل المثال، يُمكنها إرجاع عدد العناصر في قائمة. يُمكن استخدام هذه الدالة مع أنواع بيانات مُختلفة. مع ذلك، ليست جميع أنواع البيانات مُعاملات صحيحة لدالة len()
.
يمكنك البدء بالاطلاع على المساعدة الخاصة بهذه الدالة:
>>> help(len)
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
تأخذ الدالة كائنًا كوسيطة وتُرجع طوله. وثائق len()
تشرح أكثر:
إرجاع طول (عدد عناصر) كائن. قد تكون الوسيطة تسلسلًا (مثل سلسلة نصية، أو بايتات، أو مجموعة، أو قائمة، أو نطاقًا) أو مجموعة (مثل قاموس، أو مجموعة، أو مجموعة مجمدة). (المصدر)
عند استخدام أنواع بيانات مدمجة والعديد من أنواع الجهات الخارجية مع دالة len()
، لا تحتاج الدالة إلى التكرار خلال بنية البيانات. يُخزَّن طول كائن الحاوية كسمة للكائن. تُعدّل قيمة هذه السمة في كل مرة تُضاف فيها عناصر إلى بنية البيانات أو تُزال منها، وتُرجع دالة len()
قيمة سمة الطول. هذا يضمن عمل دالة len()
بكفاءة.
في الأقسام التالية، ستتعلم كيفية استخدام دالة len()
مع التسلسلات والمجموعات. ستتعلم أيضًا بعض أنواع البيانات التي لا يمكنك استخدامها كوسائط لدالة len()
في بايثون.
استخدام ()len مع التسلسلات المضمنة
التسلسل هو حاوية تحتوي على عناصر مرتبة. القوائم، والمجموعات، والسلاسل النصية هي ثلاثة من التسلسلات الأساسية المضمنة في بايثون. يمكنك معرفة طول التسلسل باستدعاء الدالة len()
:
>>> greeting = "Good Day!"
>>> len(greeting)
9
>>> office_days = ["Tuesday", "Thursday", "Friday"]
>>> len(office_days)
3
>>> london_coordinates = (51.50722, -0.1275)
>>> len(london_coordinates)
2
عند إيجاد طول سلسلة greeting
، و office_days
، ومجموعة london_coordinates
، استخدم الدالة len()
بنفس الطريقة. جميع أنواع البيانات الثلاثة تُعد وسيطات صالحة للدالة len()
.
تُرجع الدالة len()
دائمًا عددًا صحيحًا لأنها تحسب عدد عناصر الكائن الذي تُمرر إليه. تُرجع الدالة 0 إذا كانت الوسيطة تسلسلًا فارغًا:
>>> len("")
0
>>> len([])
0
>>> len(())
0
في الأمثلة السابقة، ستجد طول سلسلة نصية فارغة، وقائمة فارغة، وعنصر فارغ. تُرجع الدالة القيمة 0 في كل حالة.
كائن النطاق هو أيضًا تسلسل يمكنك إنشاؤه باستخدام دالة range()
. لا يخزن كائن النطاق جميع القيم، بل يُولّدها عند الحاجة. مع ذلك، لا يزال بإمكانك معرفة طول كائن النطاق باستخدام دالة len()
:
>>> len(range(1, 20, 2))
10
يتضمن هذا النطاق من الأرقام الأعداد الصحيحة من 1 إلى 19 بزيادات قدرها 2. ويمكن تحديد طول كائن النطاق من قيم البداية والتوقف والخطوة.
في هذا القسم، استخدمتَ دالة len()
في بايثون مع السلاسل النصية والقوائم والأزواج وكائنات النطاق. مع ذلك، يمكنك أيضًا استخدام الدالة مع أي تسلسل مُضمّن آخر.
استخدام ()len مع المجموعات المضمنة
في مرحلة ما، قد تحتاج إلى معرفة عدد العناصر الفريدة في قائمة أو تسلسل آخر. يمكنك استخدام المجموعات و len()
لتحقيق ذلك:
>>> import random
>>> numbers = [random.randint(1, 20) for _ in range(20)]
>>> numbers
[3, 8, 19, 1, 17, 14, 6, 19, 14, 7, 6, 1, 17, 10, 8, 14, 17, 10, 2, 5]
>>> unique_numbers = set(numbers)
>>> unique_numbers
{1, 2, 3, 5, 6, 7, 8, 10, 14, 17, 19}
>>> len(unique_numbers)
11
يمكنك توليد أرقام القائمة باستخدام فهم القائمة، وهي تحتوي على عشرين رقمًا عشوائيًا تتراوح بين ١ و٢٠. سيختلف الناتج في كل مرة يتم فيها تشغيل الكود لأنك تُولّد أرقامًا عشوائية. في هذه العملية تحديدًا، يوجد أحد عشر رقمًا فريدًا في قائمة الأرقام العشرين المُولّدة عشوائيًا.
نوع البيانات المضمن الآخر الذي ستستخدمه كثيرًا هو القاموس. في القاموس، يتكون كل عنصر من زوج مفتاح-قيمة. عند استخدام القاموس كحجة لـ len()
، تقوم الدالة بإرجاع عدد العناصر الموجودة في القاموس:
>>> len({"James": 10, "Mary": 12, "Robert": 11})
3
>>> len({})
0
يُظهر ناتج المثال الأول وجود ثلاثة أزواج مفتاح-قيمة في هذا القاموس. وكما هو الحال مع المتتاليات، تُرجع الدالة len()
القيمة 0 عندما تكون الوسيطة قاموسًا فارغًا أو مجموعة فارغة. هذا يؤدي إلى كون القواميس والمجموعات الفارغة خاطئة.
استكشاف ()len مع أنواع البيانات المدجمة الأخرى
لا يمكنك استخدام جميع أنواع البيانات المدجمة كوسائط لـ len()
. بالنسبة لأنواع البيانات التي لا تخزّن أكثر من عنصر واحد، لا يُعتد بمفهوم الطول. هذا هو الحال مع الأرقام والأنواع المنطقية:
>>> len(5)
Traceback (most recent call last):
...
TypeError: object of type 'int' has no len()
>>> len(5.5)
Traceback (most recent call last):
...
TypeError: object of type 'float' has no len()
>>> len(True)
Traceback (most recent call last):
...
TypeError: object of type 'bool' has no len()
>>> len(5 + 2j)
Traceback (most recent call last):
...
TypeError: object of type 'complex' has no len()
أنواع البيانات المدجمة (integer، float، boolean، complex) هي أمثلة على أنواع البيانات المضمنة التي لا يمكنك استخدامها مع len()
. تُثير الدالة خطأً من النوع (TypeError) عندما تكون الوسيطة كائنًا من نوع بيانات ليس له طول.
يمكنك أيضًا استكشاف ما إذا كان من الممكن استخدام المتكررات والمولدات كحجج لـ len(
):
>>> import random
>>> numbers = [random.randint(1, 20) for _ in range(20)]
>>> len(numbers)
20
>>> numbers_iterator = iter(numbers)
>>> len(numbers_iterator)
Traceback (most recent call last):
...
TypeError: object of type 'list_iterator' has no len()
>>> numbers_generator = (random.randint(1, 20) for _ in range(20))
>>> len(numbers_generator)
Traceback (most recent call last):
...
TypeError: object of type 'generator' has no len()
لقد رأيتَ بالفعل أن للقائمة طولًا، مما يعني أنه يمكنك استخدامه كوسيطة في دالة len()
. يمكنك إنشاء مُكرِّر من القائمة باستخدام الدالة المُدمجة iter()
. في المُكرِّر، يتم جلب كل عنصر عند الحاجة إليه، مثلاً عند استخدام الدالة next()
أو في حلقة تكرارية. مع ذلك، لا يمكنك استخدام مُكرِّر في دالة len()
.
يظهر لك خطأ TypeError عند محاولة استخدام مُكرر كوسيطة لـ len()
. بما أن المُكرر يقوم بجلب كل عنصر عند الحاجة إليه، فإن الطريقة الوحيدة لقياس طوله هي استنفاد المُكرر. يمكن أن يكون المُكرر غير محدود، مثل المُكرر المُعاد بواسطة itertools.cycle()
، وبالتالي لا يمكن تحديد طوله.
لا يمكنك استخدام المولدات مع len()
لنفس السبب. لا يمكن قياس طول هذه الكائنات دون استخدامها.
استكشاف ()len بشكل أكبر مع بعض الأمثلة
في هذا القسم، ستتعرف على بعض حالات الاستخدام الشائعة لدالة len()
. ستساعدك هذه الأمثلة على فهم متى تُستخدم هذه الدالة وكيفية استخدامها بفعالية. في بعض الأمثلة، سترى أيضًا حالات تُعدّ فيها len()
حلاً ممكنًا، ولكن قد توجد طرق أخرى لتحقيق نفس النتيجة باستخدام لغة بايثون.
التحقق من طول إدخال المستخدم
حالة الاستخدام الشائعة لـ len()
هي التحقق من طول التسلسل الذي أدخله المستخدم:
username = input("Choose a username: [4-10 characters] ")
if 4 <= len(username) <= 10:
print(f"Thank you. The username {username} is valid")
else:
print("The username must be between 4 and 10 characters long")
في هذا المثال، يمكنك استخدام عبارة if للتحقق مما إذا كان العدد الصحيح المُرجع بواسطة len()
أكبر من أو يساوي 4 وأقل من أو يساوي 10. يمكنك تشغيل هذا البرنامج النصي وستحصل على ناتج مشابه:
$ python username.py
Choose a username: [4-10 characters] stephen_g
Thank you. The username stephen_g is valid
اسم المستخدم في هذه الحالة يتكون من تسعة أحرف، لذا فإن الشرط في عبارة if يُقيّم على أنه صحيح. يمكنك تشغيل البرنامج النصي مرة أخرى وإدخال اسم مستخدم غير صالح:
$ python username.py
Choose a username: [4-10 characters] sg
The username must be between 4 and 10 characters long
في هذه الحالة، يقوم len(username)
بإرجاع القيمة 2، ويتم تقييم الشرط في العبارة if على أنه False.
إنهاء حلقة بناءً على طول الكائن
ستستخدم الدالة len()
للتحقق من وصول طول تسلسل قابل للتغيير، مثل قائمة، إلى رقم معين. في المثال التالي، تطلب من المستخدم إدخال ثلاثة خيارات لاسم المستخدم، والتي تُخزّن في قائمة:
usernames = []
print("Enter three options for your username")
while len(usernames) < 3:
username = input("Choose a username: [4-10 characters] ")
if 4 <= len(username) <= 10:
print(f"Thank you. The username {username} is valid")
usernames.append(username)
else:
print("The username must be between 4 and 10 characters long")
print(usernames)
أنت الآن تستخدم نتيجة دالة len()
في جملة while. إذا أدخل المستخدم اسم مستخدم غير صحيح، فلن تحتفظ بالمدخلات. عندما يُدخل المستخدم سلسلة نصية صحيحة، تُضاف إلى قائمة أسماء المستخدمين. تتكرر الحلقة حتى يصبح هناك ثلاثة عناصر في القائمة.
يمكنك أيضًا استخدام len()
للتحقق من متى يكون التسلسل فارغًا:
>>> colors = ["red", "green", "blue", "yellow", "pink"]
>>> while len(colors) > 0:
... print(f"The next color is {colors.pop(0)}")
...
The next color is red
The next color is green
The next color is blue
The next color is yellow
The next color is pink
استخدم تابع القائمة .pop()
لإزالة العنصر الأول من القائمة في كل تكرار حتى تصبح فارغة. إذا كنت تستخدم هذه الدالة على قوائم كبيرة، يُنصح بإزالة العناصر من نهايتها لأنها أكثر فعالية. يمكنك أيضًا استخدام نوع بيانات deque من وحدة collections
المدمجة، مما يسمح لك بالظهور من اليسار بكفاءة.
توجد طريقة أكثر بايثونية لتحقيق نفس الناتج باستخدام صدق التسلسلات:
>>> colors = ["red", "green", "blue", "yellow", "pink"]
>>> while colors:
... print(f"The next color is {colors.pop(0)}")
...
The next color is red
The next color is green
The next color is blue
The next color is yellow
The next color is pink
القائمة الفارغة خاطئة. هذا يعني أن عبارة while تُفسّر القائمة الفارغة على أنها خاطئة. أما القائمة غير الفارغة فهي صحيحة، وعبارة while تُعاملها على أنها صحيحة. القيمة المُعادة بواسطة len()
تُحدد صحة التسلسل. يكون التسلسل صحيحًا عندما تُرجع len()
أي عدد صحيح غير صفري، ويكون خاطئًا عندما تُرجع len()
القيمة 0.
العثور على فهرس العنصر الأخير في التسلسل
تخيل أنك تريد إنشاء سلسلة من الأرقام العشوائية في النطاق من 1 إلى 10، وترغب في الاستمرار في إضافة أرقام إلى السلسلة حتى يتجاوز مجموع جميع الأرقام 21. يقوم الكود التالي بإنشاء قائمة فارغة ويستخدم حلقة while لملء القائمة:
>>> import random
>>> numbers = []
>>> while sum(numbers) <= 21:
... numbers.append(random.randint(1, 10))
...
>>> numbers
[3, 10, 4, 7]
>>> numbers[len(numbers) - 1]
7
>>> numbers[-1] # A more Pythonic way to retrieve the last item
7
>>> numbers.pop(len(numbers) - 1) # You can use numbers.pop(-1) or numbers.pop()
7
>>> numbers
[3, 10, 4]
تُضاف أرقام عشوائية إلى القائمة حتى يتجاوز المجموع 21. يختلف الناتج الذي تحصل عليه باختلاف توليد الأرقام العشوائية. لعرض آخر رقم في القائمة، استخدم الدالة len(numbers)
واطرح منه 1 لأن أول فهرس للقائمة هو 0. تتيح لك الفهرسة في بايثون استخدام الفهرس -1 للحصول على آخر عنصر في القائمة. لذلك، مع أنه يمكنك استخدام الدالة len()
في هذه الحالة، إلا أنك لستَ بحاجة إلى ذلك.
تريد حذف آخر رقم في القائمة بحيث لا يتجاوز مجموع جميع الأرقام فيها 21. استخدم الدالة len()
مرة أخرى لحساب فهرس آخر عنصر في القائمة، والذي تستخدمه كمعامل لدالة القائمة .pop()
. حتى في هذه الحالة، يمكنك استخدام -1 كمعامل لدالة .pop()
لإزالة آخر عنصر من القائمة وإعادته. كخيار أخير، يمكنك استبعاد العامل تمامًا، فالوضع الافتراضي هو إزالة العنصر الأخير.
تقسيم القائمة إلى نصفين
إذا كنتَ بحاجة إلى تقسيم تسلسل إلى نصفين، فستحتاج إلى استخدام الفهرس الذي يُمثل نقطة المنتصف للتسلسل. يمكنك استخدام الدالة len()
لإيجاد هذه القيمة. في المثال التالي، ستُنشئ قائمة أرقام عشوائية ثم تُقسّمها إلى قائمتين أصغر:
>>> import random
>>> numbers = [random.randint(1, 10) for _ in range(10)]
>>> numbers
[9, 1, 1, 2, 8, 10, 8, 6, 8, 5]
>>> first_half = numbers[: len(numbers) // 2]
>>> second_half = numbers[len(numbers) // 2 :]
>>> first_half
[9, 1, 1, 2, 8]
>>> second_half
[10, 8, 6, 8, 5]
في عبارة التعيين التي تُعرّف فيها first_half، تستخدم الشريحة التي تُمثّل العناصر من بداية numbers إلى نقطة المنتصف. يمكنك تحديد ما تُمثّله الشريحة بتحليل الخطوات التي تستخدمها في تعبير الشريحة:
- أولاً، تقوم دالة
len(numbers)
بإرجاع العدد الصحيح 10. - بعد ذلك،
10 // 2
يعيد العدد الصحيح 5 كما تستخدم عامل القسمة الصحيح. - أخيرًا،
0:5
هي شريحة تمثل العناصر الخمسة الأولى، والتي لها المؤشرات 0، 1، 2، 3، و4. لاحظ أن نقطة النهاية مستبعدة.
في المهمة التالية، حيث تُعرّف second_half
، ستستخدم نفس التعبير في الشريحة. في هذه الحالة، يُمثل العدد الصحيح 5 بداية النطاق. الشريحة الآن هي 5: لتمثيل العناصر من الفهرس 5 إلى نهاية القائمة.
إذا كانت قائمتك الأصلية تحتوي على عدد فردي من العناصر، فلن يكون نصف طولها عددًا صحيحًا. عند استخدام قسمة الأعداد الصحيحة، ستحصل على الحد الأدنى للعدد. ستحتوي قائمة first_half
الآن على عنصر أقل من second_half
.
يمكنك تجربة ذلك بإنشاء قائمة أولية من أحد عشر رقمًا بدلًا من عشرة. لن تكون القوائم الناتجة أنصافًا، بل ستمثل أقرب بديل لتقسيم متتالية فردية.
استخدام الدالة ()len مع مكتبات الطرف الثالث
يمكنك أيضًا استخدام دالة len()
في بايثون مع أنواع بيانات مخصصة متعددة من مكتبات خارجية. في القسم الأخير من هذا الدرس، ستتعلم كيف يعتمد سلوك دالة len()
على تعريف الفئة. في هذا القسم، ستستعرض أمثلة على استخدام دالة len()
مع أنواع بيانات من مكتبتين خارجيتين شائعتين.
مصفوفة NumPy
وحدة NumPy هي حجر الأساس لجميع التطبيقات الكمية للبرمجة في بايثون. تُقدم هذه الوحدة نوع البيانات numpy.ndarray. يُعد هذا النوع من البيانات، إلى جانب الدوال داخل NumPy، مثاليًا للحسابات العددية، ويشكل حجر الأساس لأنواع البيانات في الوحدات الأخرى.
قبل البدء باستخدام NumPy، ستحتاج إلى تثبيت المكتبة. يمكنك استخدام مدير الحزم القياسي في بايثون، pip، وتشغيل الأمر التالي في وحدة التحكم:
$ python -m pip install numpy
لقد قمت بتثبيت NumPy، ويمكنك الآن إنشاء مصفوفة NumPy من قائمة واستخدام len()
على المصفوفة:
>>> import numpy as np
>>> numbers = np.array([4, 7, 9, 23, 10, 6])
>>> type(numbers)
<class 'numpy.ndarray'>
>>> len(numbers)
6
تقوم دالة np.array()
بإنشاء كائن من نوع numpy.ndarray من القائمة التي تمررها كحجة.
مع ذلك، يمكن لمصفوفات NumPy أن تحتوي على أكثر من بُعد واحد. يمكنك إنشاء مصفوفة ثنائية الأبعاد بتحويل قائمة قوائم إلى مصفوفة:
>>> import numpy as np
>>> numbers = [
[11, 1, 10, 10, 15],
[14, 9, 16, 4, 4],
[28, 1, 19, 7, 7],
]
>>> numbers_array = np.array(numbers)
>>> numbers_array
array([[11, 1, 10, 10, 15],
[14, 9, 16, 4, 4],
[28, 1, 19, 7, 7])
>>> len(numbers_array)
3
>>> numbers_array.shape
(3, 5)
>>> len(numbers_array.shape)
2
>>> numbers_array.ndim
2
تتكون قائمة numbers
من ثلاث قوائم، تحتوي كل منها على خمسة أعداد صحيحة. عند استخدام هذه القائمة لإنشاء مصفوفة NumPy، تكون النتيجة مصفوفة بثلاثة صفوف وخمسة أعمدة. تُرجع الدالة عدد الصفوف في المصفوفة عند تمرير هذه المصفوفة ثنائية الأبعاد كمعامل في دالة len()
.
للحصول على حجم كلا البعدين، استخدم الخاصية .shape
، وهي مجموعة تُظهر عدد الصفوف والأعمدة. يمكنك الحصول على عدد أبعاد مصفوفة NumPy إما باستخدام .shape
و len()
أو باستخدام الخاصية .ndim
.
بشكل عام، عندما يكون لديك مصفوفة بأي عدد من الأبعاد، تقوم len()
بإرجاع حجم البعد الأول:
>>> import numpy as np
>>> array_3d = np.random.randint(1, 20, [2, 3, 4])
>>> array_3d
array([[[14, 9, 15, 14],
[17, 11, 10, 5],
[18, 1, 3, 12]],
[[ 1, 5, 6, 10],
[ 6, 3, 1, 12],
[ 1, 4, 4, 17]]])
>>> array_3d.shape
(2, 3, 4)
>>> len(array_3d)
2
في هذا المثال، تُنشئ مصفوفة ثلاثية الأبعاد بالشكل (2، 3، 4)
، حيث يكون كل عنصر عددًا صحيحًا عشوائيًا بين 1 و20. تستخدم الدالة np.random.randint()
لإنشاء المصفوفة هذه المرة. تُرجع الدالة len()
القيمة 2، وهي حجم البعد الأول.
إطار بيانات الباندا
نوع DataFrame في مكتبة pandas هو نوع بيانات آخر يستخدم على نطاق واسع في العديد من التطبيقات.
قبل أن تتمكن من استخدام pandas، ستحتاج إلى تثبيته باستخدام الأمر التالي في وحدة التحكم:
$ python -m pip install pandas
لقد قمت بتثبيت حزمة pandas، ويمكنك الآن إنشاء إطار بيانات من القاموس:
>>> import pandas as pd
>>> marks = {
"Robert": [60, 75, 90],
"Mary": [78, 55, 87],
"Kate": [47, 96, 85],
"John": [68, 88, 69],
}
>>> marks_df = pd.DataFrame(marks, index=["Physics", "Math", "English"])
>>> marks_df
Robert Mary Kate John
Physics 60 78 47 68
Math 75 55 96 88
English 90 87 85 69
>>> len(marks_df)
3
>>> marks_df.shape
(3, 4)
مفاتيح القاموس هي سلاسل نصية تمثل أسماء طلاب الصف. قيمة كل مفتاح هي قائمة بعلامات ثلاثة مواد. عند إنشاء إطار بيانات من هذا القاموس، تُعرّف الفهرس باستخدام قائمة تحتوي على أسماء المواد.
يحتوي إطار البيانات على ثلاثة صفوف وأربعة أعمدة. تُرجع الدالة len()
عدد الصفوف في إطار البيانات. يحتوي نوع إطار البيانات أيضًا على الخاصية .shape
، والتي يمكنك استخدامها لإظهار أن البُعد الأول لإطار البيانات يُمثل عدد الصفوف.
لقد رأيتَ كيف تعمل دالة len()
مع عدد من أنواع البيانات المُدمجة، وكذلك مع بعض أنواع البيانات من وحدات خارجية.
لقد استكشفت كيفية استخدام len()
لتحديد عدد العناصر في التسلسلات والمجموعات وأنواع البيانات الأخرى التي تحتوي على عدة عناصر في وقت واحد، مثل مصفوفات NumPy وPandas DataFrames.
دالة len()
في بايثون أداة أساسية في العديد من البرامج. بعض استخداماتها بسيطة، ولكن هذه الدالة تتجاوز بكثير حالات استخدامها الأساسية، كما رأيتم في هذا الدرس. معرفة متى يمكنك استخدام هذه الدالة وكيفية استخدامها بفعالية سيساعدك على كتابة شيفرة برمجية أكثر دقة.
لديك الآن أساس متين لفهم دالة len()
. يساعدك تعلّم المزيد عنها على فهم الاختلافات بين أنواع البيانات بشكل أفضل. أنت الآن جاهز لاستخدام len()
في خوارزمياتك ولتحسين وظائف بعض تعريفات الفئات لديك من خلال تحسينها باستخدام دالة .__len__()
.
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.