در بخش قبل توضیحاتی درباره رشته ها در پایتون پاده شد و حالا میخواهیم از توابع و ماژول هایی که برای رشته ها نوشته شده بیشتر توضیح دهیم. همانگونه که پیش تر گفته شد رشته ها یکی از معروفترین و شناخته شده ترین انواع داده ای در زبان پایتون هستند که اون ها رو میتونیم بین ” ” و ‘ ‘ و یا “”” “”” بیاوریم.
capitalize
این تابع قواعد نگارش رو در متن درست میکنه و جاهایی که نیاز هست رو به حر.ف بزرگ تبدیل میکنه. قاعده استفاده از این تابع به صورت زیر است:
1 |
str.capitalize() |
مثال:
1 2 3 |
#!/usr/bin/python str = "this is string example....wow!!!"; print "str.capitalize() : ", str.capitalize() |
خروجی اسکریپت به صورت است:
1 |
str.capitalize() : This is string example....wow!!! |
center
این تابع از پایتون رشته ها رو میگیره و حاشیه اون رو با مدلی که شما تعریف میکنید تغییر میده. قاعده کلی استفاده از این تابع به شکل زیر است:
1 |
str.center(width[, fillchar]) |
بخش اول یا width بیانگر طول کلی رشته با حاشیه و بخش دوم بیانگر حاشیه ای هست که میخواین به رشته بدید هست.
مثال:
1 2 3 |
#!/usr/bin/python str = "this is string example....wow!!!"; print "str.center(40, 'a') : ", str.center(40, 'a') |
خروجی اسکریپت به صورت زیر خواهد بود:
1 |
str.center(40, 'a') : aaaathis is string example....wow!!!aaaa |
count
این تابع به شمارش تعداد یک حرف خاص از یک نقطه شروع تا یک نقطه پایان میپردازه. قاعده کلی استفاده از اون به صورت زیر هست:
1 |
str.count(sub, start= 0,end=len(string)) |
در این تابع sub بیانگر حرف و باقی پارامترها نقطه آغازین و انتهایی رشته هستند.
مثال:
1 2 3 4 5 6 |
#!/usr/bin/python str = "this is string example....wow!!!"; sub = "i"; print "str.count(sub, 4, 40) : ", str.count(sub, 4, 40) sub = "wow"; print "str.count(sub) : ", str.count(sub |
خروجی این اسکریپت به صورت زیر خواهد بود:
1 2 |
str.count(sub, 4, 40) : 2 str.count(sub, 4, 40) : 1 |
decode
این تابع از متدهای کودک ثبت شده برای انکودینگ استفاده میکنه. قاعده کلی استفاده از این تابه صورت زیر هست:
1 |
str.decode(encoding='UTF-8',errors='strict') |
برای دونستن اطلاعات بیشتر درباره encoding پیشنهاد میکنم این لینک رو مطالعه کنید. همچنین بخش errors میتونه شامل پارامترهای زیادی باشه که این پارامتر ها میتونن strict – ignore – replace – xmlcharrefreplace – backslashreplace و یا هر نام ثبت شده دیگه ای که از ماژول ()codecs.register_error هست باشه.
مثال:
1 2 3 4 |
str = "this is string example....wow!!!"; str = str.encode('base64','strict'); print "Encoded String: " + str; print "Decoded String: " + str.decode('base64','strict') |
مثالی که ملاحظه میکنید یک رشته رو گرفته و مقدار رمز شده و رمزگشایی شده اون رو به شما نشون میده:
1 2 |
Encoded String: dGhpcyBpcyBzdHJpbmcgZXhhbXBsZS4uLi53b3chISE= Decoded String: this is string example....wow!!! |
encode
در تابع قبل من درباره رمزگشایی صحبت کردم. این تابع در پایتون دقیقا بر عکس چیزی که در بالا گفته شد رو انجام میده و کار رمز نگاری رو برعهده داره. قاعده کلی اون به صورت زیر است:
1 |
str.encode(encoding='UTF-8',errors='strict') |
مثال:
1 2 3 |
#!/usr/bin/python str = "this is string example....wow!!!"; print "Encoded String: " + str.encode('base64','strict') |
که خروجی این اسکریپت به صورت زیر خواهد بود:
1 |
Encoded String: dGhpcyBpcyBzdHJpbmcgZXhhbXBsZS4uLi53b3chISE= |
endswitch
این تابع یک مقداری به عنوان suffix میگیره و مشخص میکنه که آیا رشته با اون تموم شده یا نه. suffix میتونه حرف یا یک تاپل باشه. قاعده کلی استفاده از اون به صورت زیر است:
1 |
str.endswith(suffix[, start[, end]]) |
این تابع بسته به خروجی که داره دو مقدار True و False رو برمیگردونه. بخش اول که توضیح داده شد. بخش دوم و سوم مشخص میکنه که رشته رو از کجا تا کجا باید برای بررسی suffix حساب کنه.
مثال:
1 2 3 4 5 6 7 8 |
#!/usr/bin/python str = "this is string example....wow!!!"; suffix = "wow!!!"; print str.endswith(suffix); print str.endswith(suffix,20); suffix = "is"; print str.endswith(suffix, 2, 4); print str.endswith(suffix, 2, 6); |
خوب بعد از اجرا خروجی زیر رو دریافت خواهید کرد:
1 2 3 4 |
True True True False |
expandtabs
این تابع رشته ای رو که دارای فورم صحیحی از لحاظ رعایت فاصله ها نیست رو اصلاح میکنه و بسته به مقداری که میگیره در همون بخش یک tab با مقدار فاصله ای که بهش میگیم رو ایجاد میکنه. قاعده کلی استفاده از این دستور به صورت زیر است:
1 |
str.expandtabs(tabsize=8) |
مثال:
1 2 3 4 5 6 |
#!/usr/bin/python str = "this is\tstring example....wow!!!"; print "Original string: " + str; print "Defualt exapanded tab: " + str.expandtabs(); print "Double exapanded tab: " + str.expandtabs(16); |
بعد از اجرا خروجی زیر رو دریافت خواهید کرد:
1 2 3 |
Original string: this is string example....wow!!! Defualt exapanded tab: this is string example....wow!!! Double exapanded tab: this is string example....wow!!! |
find
این تابع همونجور که مشخصه یک حرف از کاربر گرفته و اون رو در رشته مطابقت میده و شماره اندیسی که اون حرف در رشته باهاش شروع میشه رو برمیگردونه. اگر هم وجود نداشت مقدار ۱- رو برمیگردونه. برای جستجو میتونید بهش بگید که از چه شماره اندیسی شروع و تا چه شماره اندیسی رو بگرده. قاعده کلی استفاده از اون به صورت زیر است:
1 |
str.find(str, beg=0 end=len(string)) |
مثال:
1 2 3 4 5 6 |
#!/usr/bin/python str1 = "this is string example....wow!!!"; str2 = "exam"; print str1.find(str2); print str1.find(str2, 10); print str1.find(str2, 40); |
بعد از اجرا خروجی زیر رو دریافت خواهید کرد:
1 2 3 |
15 15 -1 |
index
این تابع هم مثل تابع find هست با این تفاوت که اگر حرفی که داریم اون رو جستجو میکنیم وجود نداشت دیگه ۱- برنمیگردونه و یک خطا برمیگردونه. قاعده کلی استفاده از اون به صورت زیر است:
1 |
str.index(str, beg=0 end=len(string)) |
مثال:
1 2 3 4 5 6 |
#!/usr/bin/python str1 = "this is string example....wow!!!"; str2 = "exam"; print str1.index(str2); print str1.index(str2, 10); print str1.index(str2, 40); |
بعد از اجرا خروجی زیر برای شما به نمایش در میاد:
1 2 3 4 5 6 7 |
15 15 Traceback (most recent call last): File "test.py", line 8, in print str1.index(str2, 40); ValueError: substring not found shell returned 1 |
isalnum
این تابع درون یک رشته را بررسی میکنه که آیا مقدار آن تلفیقی از حروف و اعداد است یا خیر. اگر بود مقدار True و در غیر این صورت مقدار False را برمیگرداند. قاعده کلی استفاده از این تابع به صورت زیر است:
1 |
str.isa1num() |
مثال:
1 2 3 4 5 |
#!/usr/bin/python str = "this2009"; # No space in this string print str.isalnum(); str = "this is string example....wow!!!"; print str.isalnum(); |
خروجی این اسکریپت به صورت زیر خواهد بود:
1 2 |
True Flase |