دالة ()expandtabs في بايثون
تقوم دالة ()expandtabs بإرجاع سلسلة جديدة مع استبدال علامات الجدولة "t\" بمسافات فارغة . أي أن دالة ()expandtabs تحدد مقدار المساحة الفارغة التي سيتم استبدالها بعلامات الجدولة "t\" في السلسلة.
علامات الجدولة t\ تمثل أفتراضياً 4 مسافات فارغة عند عرض السلسلة النصية. و لكن عندما يتم استخدام دالة ()expandtabs سيتم تحويل كل رمز t\ إلى 8 مسافات فارغة ما لم تقم بتحديد عدد المسافات في الوسيطة tabsize.
طريقة صياغتها بهذا الشكل:
expandtabs (tabsize = 8)
tabsize: تحدد المساحة التي سيتم استبدالها بعلامات الجدولة "t\" في السلسلة. بشكل افتراضي ، 8 مسافات فارغة.
قيمة الإرجاع: إرجاع سلسلة جديدة مع استبدال علامات الجدولة "t\" بمسافات فارغة
في المثال التالي سنقوم بإستخدام الرمز "t\" حيث يتم وضع 4 مسافات فارغة بشكل افتراضي.
مثال:
string1 = 'a\tb\tc'
string2 = 'aaaa\tbbbb\tcccc'
print(string1)
print(string2)
سيكون الناتج:
a b c
aaaa bbbb cccc
في المثال التالي سنقوم بإستخدام دالة ()expandtabs بدون قيمة عددية للوسيطة tabsize.
مثال:
string1 = 'a\tb\tc'
string2 = 'aaaa\tbbbb\tcccc'
print(string1.expandtabs())
print(string2.expandtabs())
سيكون الناتج:
a b c
aaaa bbbb cccc
في المثال التالي سنقوم بإستخدام دالة ()expandtabs وادخال قيمة عددية في الوسيطة tabsize. حيث سيتم وضع مسافات فارغة حسب القيمة العددية المحددة.
مثال:
string1 = 'a\tb\tc'
string2 = 'aaaa\tbbbb\tcccc'
print(string1.expandtabs(12))
print(string2.expandtabs(20))
سيكون الناتج:
a b c
aaaa bbbb cccc
أذا كانت القيمة التي نعطيها للوسيطة tabsize لاتمثل عدد صحيح. فسحنصل علي خطأ.
مثال:
string = "this is\tstring example.\t"
print(string.expandtabs(2.3))
سحنصل علي الخطأ:
raceback (most recent call last):
File "./prog.py", line 5, in <module>
TypeError: integer argument expected, got float
مصادر خارجية:
الدوال المضمنة - وثائق بايثون الرسمية
أذا كان لديك أي اسئلة أو استفسارات اتركها في التعليقات
الكلمات الدلالية
بايثون السلاسل في بايثون الدوال التي تتعامل مع السلاسل دالة ()expandtabs
شارك المقال
عن الكاتب
أحمدُ عُبَيْد
مرحباً، أنا أحمد عبيد مبرمج عربي مصري. أود أن أضع تجاربي وخبراتي في تعلم بايثون على هذا الموقع حتى يكون مرجعاً لي ولكم أيضاً.
عفواً..قم بتسجيل الدخول اولاً..حتي تستطيع التعليق