السلاسل النصية بايثون بيثون Python Strings
السلاسل النصية بايثون بيثون
Python Strings
الخيوط هي من بين الأنواع الأكثر شعبية في بيثون. يمكننا أن ننشئها ببساطة عن طريق تضمين الأحرف في علامات اقتباس. تعامل Python علامات الاقتباس المفردة مثل علامات الاقتباس المزدوجة. إنشاء السلاسل بسيط مثل تعيين قيمة إلى متغير. على سبيل المثال -
var1 = 'Hello World!' var2 = "Python Programming"
الوصول للقيم النصوص Accessing Values in Strings
بيثون لا يدعم نوع الحرف ؛ هذه تعامل كسلسلة من طول واحد ، وبالتالي تعتبر أيضا سلسلة فرعية.
للوصول إلى سلاسل فرعية ، استخدم الأقواس المربعة للتشريح جنبًا إلى جنب مع الفهرس أو الفهارس للحصول على السلسلة الفرعية. على سبيل المثال -
#!/usr/bin/python var1 = 'Hello World!' var2 = "Python Programming" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5]
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
var1[0]: H var2[1:5]: ytho
تحديث النصوص Updating Strings
يمكنك "تحديث" سلسلة موجودة عن طريق (إعادة) تعيين متغير لسلسلة أخرى. يمكن أن تكون القيمة الجديدة مرتبطة بقيمتها السابقة أو بسلسلة مختلفة تمامًا. على سبيل المثال -
#!/usr/bin/python var1 = 'Hello World!' print "Updated String :- ", var1[:6] + 'Python'
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
Updated String :- Hello Python
حروف الهروب Escape Characters
الجدول التالي عبارة عن قائمة بأحرف الهروب أو غير القابلة للطباعة التي يمكن تمثيلها بترميز الخط المائل العكسي.
يتم تفسير شخصية الهروب. في واحد ونقلت وكذلك سلاسل مزدوجة ونقلت.
علامة المائلة | الحرف بالرمز ١٦ | الوصف |
---|---|---|
\a | 0x07 | الجرس أو التنبيه |
\b | 0x08 | العلامة المائلة Backspace |
\cx | كنترول وحرف اكس Control-x | |
\C-x | كنترول وحرف اكس كبير Control-x | |
\e | 0x1b | هروب Escape |
\f | 0x0c | شكل نصي Formfeed |
\M-\C-x | كنترول واكس وميتا Meta-Control-x | |
\n | 0x0a | سطر جديد Newline |
\nnn | Octal notation, where n is in the ملاحظة من نوع ثماني range 0.7 | |
\r | 0x0d | رجوع Carriage return |
\s | 0x20 | مسافة Space |
\t | 0x09 | الانتقال باستخدام Tab |
\v | 0x0b | الانتقال عموديا باستخدام تاب Vertical tab |
\x | حرف Character x | |
\xnn | Hexadecimal notation, where n is in ترميز ب ١٦ عشري the range 0.9, a.f, or A.F |
مشغلات خاصة نصية String Special Operators
افترض أن متغير السلسلة a يحمل "Hello" بينما يحمل متغير b "Python" ، ثم -
المشغل | الوصف | مثال |
---|---|---|
+ | ربط مبين معا | a + b will give HelloPython |
* | تكرار النص , | a*2 will give -HelloHello |
[] | رجوع بقيمة الحرف من خلال الفهري | a[1] will give e |
[ : ] | رجوع بالحروف من كلمة او النص حسب الفهرس المعطى من فهرس رقم إلى فهرس رقم | a[1:4] will give ell |
in | يبحث عن حرف معين هل يوجد داخل النص فيعود يصح اذا كان موجود او خطأ ان لم يكن | H in a will give 1 |
not in | عكس السابق | M not in a will give 1 |
r/R | Raw String - يقمع المعنى الفعلي لأحرف الهروب. بناء جملة السلسلة الأولية هو نفسه تمامًا كما هو الحال بالنسبة للسلاسل العادية باستثناء مشغل السلسلة الأولية ، الحرف "r" ، الذي يسبق علامات الاقتباس. يمكن أن تكون "r" صغيرة (r) أو كبيرة (R) ويجب وضعها مباشرةً قبل علامة اقتباس الأولى | print r'\n' prints \n and print R'\n'prints \n |
% | تنسيق - يؤدي تنسيق سلسلة | See at next section |
مشغل تنسيق السلسلة String Formatting Operator
واحدة من أروع ميزات بيثون هي عامل تنسيق السلسلة٪. هذا المشغل فريد من نوعه في السلاسل ويعوض عن حزمة وجود وظائف من عائلة C printf (). فيما يلي مثال بسيط -
#!/usr/bin/python print "My name is %s and weight is %d kg!" % ('Zara', 21)
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
My name is Zara and weight is 21 kg!
فيما يلي قائمة بمجموعة كاملة من الرموز التي يمكن استخدامها مع٪ -
الرمز | التحويل |
---|---|
%c | حرفي |
%s | تحويل السلسلة عبر str () قبل التنسيق |
%i | عدد صحيح عشري |
%d | عدد صحيح عشري |
%u | عدد صحيح عشري غير موقعة |
%o | عدد صحيح ثماني |
%x | عدد صحيح سداسي عشري (أحرف صغيرة) |
%X | عدد صحيح سداسي عشري (أحرف كبيرة) |
%e | تدوين الأسي (مع صغيرة 'e') |
%E | تدوين أسي (مع UPPERcase 'E') |
%f | النقطة العشرية الرقم الحقيقي |
%g | أقصر٪ f و٪ e |
%G | أقصر٪ f و٪ E |
يتم سرد الرموز والوظائف الأخرى المدعومة في الجدول التالي -
الرمز | الوظيفة |
---|---|
* | تفاصيل الوسيط العرض أو الدقة |
- | left justification تعديل لليسار |
+ | display the sign عرض علامة + |
leave a blank space before a positive number ترك مسافة | |
# | إضافة الصفر البادئة صفر ('0') أو ست عشرية بادئة '0x' أو '0X' ، اعتمادًا على ما إذا كان تم استخدام "x" أو "X". |
0 | لوحة من اليسار مع الأصفار (بدلاً من المسافات) |
% | يتركك بحرف واحد '٪' ٪٪ ' ' |
(var) | متغير التعيين (وسائط القاموس) |
m.n. | m هو الحد الأدنى للعرض الكلي و n هو عدد الأرقام المراد عرضها بعد العلامة العشرية (إن وجدت) |
علاك التنصيص الثلاثية Triple Quotes
تأتي علامات الاقتباس الثلاثية لـ Python في حالة إنقاذ من خلال السماح للسلاسل بامتداد خطوط متعددة ، بما في ذلك NEWLINE حرفيًا و TABs وأي أحرف خاصة أخرى.
يتكون بناء جملة علامات الاقتباس الثلاثية من ثلاثة علامات اقتباس مفردة أو مزدوجة متتالية.
#!/usr/bin/python para_str = """this is a long string that is made up of several lines and non-printable characters such as TAB ( \t ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ \n ], or just a NEWLINE within the variable assignment will also show up. """ print para_str
عند تنفيذ الرمز أعلاه ، فإنه ينتج النتيجة التالية. لاحظ كيف تم تحويل كل حرف خاص إلى شكله المطبوع ، وصولاً إلى آخر سطر جديد في نهاية السلسلة بين "أعلى". وإغلاق يقتبس الثلاثي. لاحظ أيضًا أن NEWLINE تحدث إما مع إرجاع حرف صريح في نهاية السطر أو رمز الهروب الخاص به (\ n) -
this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.
السلاسل الأولية لا تتعامل مع الخط المائل العكسي كحرف خاص على الإطلاق. كل حرف تضعه في سلسلة خام يبقى بالطريقة التي كتبت بها−
#!/usr/bin/python print 'C:\\nowhere'
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
C:\nowhere
الآن دعونا نستخدم سلسلة الخام. نضع التعبير في r'expression على النحو التالي -
#!/usr/bin/python print r'C:\\nowhere'
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
C:\\nowhere
ايتم تخزين السلاسل العادية في Python داخليًا مثل ASCII ذي 8 بت ، بينما يتم تخزين سلاسل Unicode كـ Unicode 16 بت. يسمح هذا لمجموعة أكثر تنوعًا من الأحرف ، بما في ذلك الأحرف الخاصة من معظم اللغات في العالم. سأقصر علاجي لسلاسل Unicode على ما يلي -لنص من نوع الكود الموحد Unicode String
#!/usr/bin/python print u'Hello, world!'
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
Hello, world!
كما ترون ، تستخدم سلاسل Unicode البادئة u ، تمامًا كما تستخدم السلاسل الأولية البادئة r.
المدمج في أساليب سلسلة
يتضمن Python الأساليب المضمنة التالية لمعالجة السلاسل -
الرقم . | الدالة والشرح |
---|---|
1 | capitalize()
يستفيد الحرف الأول من السلسلة
|
2 | center(width, fillchar)
إرجاع سلسلة مبطنة بمسافة مع توسيط السلسلة الأصلية إلى إجمالي أعمدة العرض.
|
3 | count(str, beg= 0,end=len(string))
يتم حساب عدد المرات التي تحدث فيها str في السلسلة أو في سلسلة فرعية من السلسلة إذا تم بدء بداية التسول وإنهاء نهاية الفهرس.
|
4 | decode(encoding='UTF-8',errors='strict')
يقوم بترميز السلسلة باستخدام برنامج الترميز المسجل للتشفير. الترميز الافتراضي لترميز السلسلة الافتراضية.
|
5 | encode(encoding='UTF-8',errors='strict')
إرجاع إصدار السلسلة المشفرة من السلسلة ؛ عند الخطأ ، الافتراضي هو رفع قيمة ValueError ما لم يتم إعطاء أخطاء مع "تجاهل" أو "استبدال".
|
6 | endswith(suffix, beg=0, end=len(string))
يحدد ما إذا كانت السلسلة أو سلسلة فرعية من السلسلة (إذا تم إعطاء مؤشر بدء التسول ونهاية فهرس المؤشر) تنتهي لاحقة ؛ إرجاع صحيح إذا كان الأمر كذلك وخطأ خلاف ذلك.
|
7 | expandtabs(tabsize=8)
يوسع علامات التبويب في السلسلة إلى مسافات متعددة ؛ الإعدادات الافتراضية إلى 8 مسافات لكل علامة تبويب إذا لم يتم توفير tabsize.
|
8 | find(str, beg=0 end=len(string))
حدد ما إذا كانت str تحدث في السلسلة أو في سلسلة فرعية من السلسلة إذا كان بدء مؤشر التسول وإنهاء نهاية المؤشر يعطى مؤشر إرجاع إذا تم العثور عليه و -1 خلاف ذلك.
|
9 | index(str, beg=0, end=len(string))
مثل find () ، لكنه يثير استثناء إذا لم يتم العثور على str.
|
10 | isalnum()
إرجاع صحيح إذا كانت السلسلة تحتوي على حرف واحد على الأقل وكانت جميع الأحرف أبجدية ورقمية على خلاف ذلك.
|
11 | isalpha()
إرجاع صحيح إذا كانت السلسلة تحتوي على حرف واحد على الأقل وكانت جميع الأحرف أبجدية وخاطئة على خلاف ذلك.
|
12 | isdigit()
إرجاع صحيح إذا كانت السلسلة تحتوي على أرقام وخطأ فقط.
|
13 | islower()
إرجاع صحيح إذا كانت السلسلة تحتوي على حرف واحد على الأقل وكانت جميع الأحرف ذات الأحرف الصغيرة صغيرة وغير صحيحة.
|
14 | isnumeric()
إرجاع صحيح إذا كانت سلسلة أحرف Unicode تحتوي فقط على أحرف رقمية وخطأ خلاف ذلك.
|
15 | isspace()
يتم إرجاع true إذا كانت السلسلة تحتوي على أحرف مسافة بيضاء فقط وغير صحيحة.
|
16 | istitle()
إرجاع صحيح إذا كانت السلسلة "titlecased" صحيحة وكاذبة بطريقة أخرى
|
17 | isupper()
إرجاع صحيح إذا كانت السلسلة تحتوي على غلاف واحد على الأقل وكانت جميع الأحرف التي تم تهيئتها كبيرة الحجم وغير صحيحة.
|
18 | join(seq)
يدمج (يسلسل) تمثيلات سلسلة العناصر في تسلسل تسلسل في سلسلة ، مع سلسلة فاصل.
|
19 | len(string)
إرجاع طول السلسلة
|
20 | ljust(width[, fillchar])
إرجاع سلسلة مبطنة بمسافة مع السلسلة الأصلية ذات الضبط الأيسر إلى إجمالي أعمدة العرض.
|
21 | lower()
يحول كل الحروف الكبيرة في السلسلة إلى أحرف صغيرة.
|
22 | lstrip()
يزيل كل المسافات البادئة في السلسلة.
|
23 | maketrans()
إرجاع جدول ترجمة لاستخدامه في وظيفة الترجمة.
|
24 | max(str)
إرجاع الحد الأقصى للحروف الأبجدية من سلسلة str.
|
25 | min(str)
إرجاع الحرف الأبجدي min من str string.
|
26 | replace(old, new [, max])
يستبدل جميع تكرارات القديم في السلسلة بحدث جديد أو على الأكثر بحد أقصى إذا تم إعطاء الحد الأقصى.
|
27 | rfind(str, beg=0,end=len(string))
مثل find () ، لكن ابحث للخلف في السلسلة.
|
28 | rindex( str, beg=0, end=len(string))
مثل الفهرس () ، ولكن ابحث للخلف في السلسلة.
|
29 | rjust(width,[, fillchar])
إرجاع سلسلة مبطنة بمسافة مع السلسلة الأصلية محاذاة إلى اليمين إلى إجمالي أعمدة العرض
.
|
30 | rstrip()
يزيل كل مسافة بيضاء أو سلسلة زائدة.
|
31 | split(str="", num=string.count(str))
انقسام السلسلة وفقًا str str (مساحة إذا لم يتم توفيرها) وإرجاع قائمة substrings؛ تنقسم إلى معظم الأسطوانات الفرعية إذا أعطيت.
|
32 | splitlines( num=string.count('\n'))
تقسيم السلسلة على الإطلاق (أو num) NEWLINE وإرجاع قائمة بكل سطر مع إزالة NEWLINE.
|
33 | startswith(str, beg=0,end=len(string))
لتحديد ما إذا كانت السلسلة أو سلسلة فرعية من السلسلة (إذا تم إعطاء مؤشر بدء التسول ونهاية الفهرس) تبدأ بـ سلسلة فرعية ؛ إرجاع صحيح إذا كان الأمر كذلك وخطأ خلاف ذلك.
|
34 | strip([chars])
ينفذ كل من lstrip () و rstrip () على السلسلة.
|
35 | swapcase()
ينقلب حالة لجميع الحروف في السلسلة.
|
36 | title()
إرجاع إصدار "titlecased" من السلسلة ، أي أن جميع الكلمات تبدأ بحرف كبير والباقي صغيرة.
|
37 | translate(table, deletechars="")
يترجم السلسلة وفقًا لجدول الترجمة str (256 حرفًا) ، مع إزالة تلك الموجودة في سلسلة del.
|
38 | upper()
يحول الحروف الصغيرة في السلسلة إلى أحرف كبيرة.
|
39 | zfill (width)
إرجاع السلسلة الأصلية إلى اليسار مبطنة بأصفار إلى إجمالي أحرف العرض ؛ معد للأرقام ، يحتفظ zfill () بأي علامة معينة (أقل من صفر).
|
40 | isdecimal()
إرجاع صحيح إذا كانت سلسلة أحرف Unicode تحتوي فقط على أحرف عشرية وخطأ خلاف ذلك.
|
التسميات: Python بايثون
<< الصفحة الرئيسية