LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

رشته ها در پایتون - بخش دوم

چهارشنبه, ۱۸ تیر ۱۳۹۳، ۱۱:۰۱ ب.ظ

در بخش قبل اگه یادتون باشه ی توضیحاتی درباره رشته ها در پایتون دادم و حالا میخوام از توابع و ماژول هایی که برای رشته ها نوشته شده براتون بگم:


capitalize

این تابع قواعد نگارش رو در متن درست میکنه و جاهایی که نیاز هست رو به حر.ف بزرگ تبدیل میکنه. قاعده استفاده از این تابع به صورت زیر است:

str.capitalize()

برای مثال اسکریپت زیر رو درنظر بگیرید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "str.capitalize() : ", str.capitalize()

خروجی اسکریپت به صورت است:
str.capitalize() :  This is string example....wow!!!


center

این تابع رشته ها رو میگیره و حاشیه اون رو با مدلی که شما تعریف میکنید تغییر میده. قاعده کلی استفاده از این تابع به شکل زیر است:

str.center(width[, fillchar])

بخش اول یا width بیانگر طول کلی رشته با حاشیه و بخش دوم بیانگر حاشیه ای هست که میخواین به رشته بدید هست. به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "str.center(40, 'a') : ", str.center(40, 'a')


خروجی اسکریپت به صورت زیر خواهد بود:

str.center(40, 'a') :  aaaathis is string example....wow!!!aaaa

count
این تابع به شمارش تعداد یک حرف خاص از یک نقطه شروع تا یک نقطه پایان میپردازه. قاعده کلی استفاده از اون به صورت زیر هست:
str.count(sub, start= 0,end=len(string))

در این تابع sub بیانگر حرف و باقی پارامترها نقطه آغازین و انتهایی رشته هستند. به مثال زیر توجه کنید:
#!/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

خروجی این اسکریپت به صورت زیر خواهد بود:
str.count(sub, 4, 40) :  2
str.count(sub, 4, 40) :  1

decode

این تابع از متدهای کودک ثبت شده برای انکودینگ استفاده میکنه. قاعده کلی استفاده از این تابه صورت زیر هست:

str.decode(encoding='UTF-8',errors='strict')

برای دونستن اطلاعات بیشتر درباره encoding پیشنهاد میکنم این لینک رو مطالعه کنید.  همچنین بخش errors میتونه شامل پارامترهای زیادی باشه که این پارامتر ها میتونن strict - ignore - replace - xmlcharrefreplace - backslashreplace و یا هر نام ثبت شده دیگه ای که از ماژول ()codecs.register_error هست باشه. به مثال زیر توجه کنید:
str = "this is string example....wow!!!";
str = str.encode('base64','strict');
print "Encoded String: " + str;
print "Decoded String: " + str.decode('base64','strict')

مثالی که ملاحظه میکنید یک رشته رو گرفته و مقدار رمز شده و رمزگشایی شده اون رو به شما نشون میده:
Encoded String: dGhpcyBpcyBzdHJpbmcgZXhhbXBsZS4uLi53b3chISE=
Decoded String: this is string example....wow!!!

encode

در تابع قبل من درباره رمزگشایی صحبت کردم. این تابع دقیقا بر عکس چیزی که در بالا گفته شد رو انجام میده و کار رمز نگاری رو برعهده داره. قاعده کلی اون به صورت زیر است:

str.encode(encoding='UTF-8',errors='strict')

برای درک بهتر به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "Encoded String: " + str.encode('base64','strict')


که خروجی این اسکریپت به صورت زیر خواهد بود:

Encoded String: dGhpcyBpcyBzdHJpbmcgZXhhbXBsZS4uLi53b3chISE=

endswitch

این تابع یک مقداری به عنوان suffix میگیره و مشخص میکنه که آیا رشته با اون تموم شده یا نه. suffix میتونه حرف یا یک تاپل باشه. قاعده کلی استفاده از اون به صورت زیر است:

str.endswith(suffix[, start[, end]])


این تابع بسته به خروجی که داره دو مقدار True  و False رو برمیگردونه. بخش اول که توضیح داده شد. بخش دوم و سوم مشخص میکنه که رشته رو از کجا تا کجا باید برای بررسی suffix حساب کنه. به مثال زیر توجه کنید:

#!/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);


خوب بعد از اجرا خروجی زیر رو دریافت خواهید کرد:

True
True
True
False


expandtabs

این تابع رشته ای رو که دارای فورم صحیحی از لحاظ رعایت فاصله ها نیست رو اصلاح میکنه و بسته به مقداری که میگیره در همون بخش یک tab با مقدار فاصله ای که بهش میگیم رو ایجاد میکنه. قاعده کلی استفاده از این دستور به صورت زیر است:

str.expandtabs(tabsize=8)


به مثال زیر توجه کنید:

#!/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);


بعد از اجرا خروجی زیر رو دریافت خواهید کرد:

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))


برای درک بهتر به مثال زیر دقت کنید:

#!/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);


بعد از اجرا خروجی زیر رو دریافت خواهید کرد:

15
15
-1


index

این تابع هم مثل تابع find هست با این تفاوت که اگر حرفی که داریم اون رو جستجو میکنیم وجود نداشت دیگه 1- برنمیگردونه و یک خطا برمیگردونه. قاعده کلی استفاده از اون به صورت زیر است:

str.index(str, beg=0 end=len(string))


به مثال زیر توجه کنید:

#!/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);


بعد از اجرا خروجی زیر برای شما به نمایش در میاد:

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 را برمیگرداند. قاعده کلی استفاده از این تابع به صورت زیر است:

str.isa1num()

برای درک بهتر این موضوع به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this2009";  # No space in this string
print str.isalnum();
str = "this is string example....wow!!!";
print str.isalnum();


خروجی این اسکریپت به صورت زیر خواهد بود:
True
Flase

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی