رشته ها در پایتون - بخش پنجم
دوشنبه, ۲۳ آذر ۱۳۹۴، ۰۴:۳۷ ب.ظ
تا این لحظه به چهار پست مجزا برای معرفی رشته ها در پایتون اشاره شده است. امروز بخش پنجم و آخر معرفی رشته در پایتون رو با هم بررسی میکنیم و به معرفی ماژول های دیگر پایتون در رشته ها میپردازیم.
split
این متد لیستی از کلماتی را به شما برمیگرداند که با توجه به سیاستی جداسازی شده اند. قاعده ی استفاده از این متد به صورت زیر است:
str.split(str="", num=string.count(str))
str در این بخش مجزاکننده و به صورت پیش فرض مقدار آن " "(فاصله) می باشد. num در این بخش مشخص کننده ی تعداد مولفه های جهت جداسازی بر اساس الگوی داده شده می باشد.
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( )
print str.split(' ', 1 )
print str.split(' ', 2 )
بعد از اجرای اسکریپت خروجی زیر را دریافت خواهید کرد:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']
splitlines
این متد برای جداسازی تمامی خطوط در یک رشته استفاده میشود. این متد فقط یک عدد میگیرد. قاعده ی استفاده از این متد به صورت زیر است:
str.splitlines( num=string.count('\n'))
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "Line1-a b c d e f\nLine2- a b c\n\nLine4- a b c d";
print str.splitlines( )
print str.splitlines( 0 )
print str.splitlines( 3 )
print str.splitlines( 4 )
print str.splitlines( 5 )
بعد از اجرا، خروجی به صورت زیر خواهد بود:
['Line1-a b c d e f', 'Line2- a b c', '', 'Line4- a b c d']
['Line1-a b c d e f', 'Line2- a b c', '', 'Line4- a b c d']
['Line1-a b c d e f\n', 'Line2- a b c\n', '\n', 'Line4- a b c d']
['Line1-a b c d e f\n', 'Line2- a b c\n', '\n', 'Line4- a b c d']
['Line1-a b c d e f\n', 'Line2- a b c\n', '\n', 'Line4- a b c d']
startswith
این متد بررسی میکند که آیا رشته ی داده شده به آن با حرف یا کلمه مورد نظر شروع میشود یا خیر. این متد مقادیر true و false را برمیگرداند و سه مقدار میگیرد. پرامتر اول بیانگر حرف یا کلمه ایست که میخواهید راجع به آن در رشته ی مورد نظر جستجو کنید. پارامتر دوم اندیس آغازین و پارامتر آخر اندیس پایانی می باشد. هر حرف در رشته یک اندیس به خود میگیرد که مقدار آن ها در یک رشته از 0 شروع میشود. قاعده ی استفاده از این متد به صورت زیر است:
str.startswith(str, beg=0,end=len(string))
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print str.startswith( 'this' )
print str.startswith( 'is', 2, 4 )
print str.startswith( 'this', 2, 4 )
بعد از اجرای اسکریپت خروجی زیر را دریافت خواهید کرد:
True
False
False
strip
این متد برای اسریپت کردن یک رشته از چپ و راست مورد استفاده قرار میگیرد. این متد یک پارامتر میگیرد که نهایتا میتواند یک کاراکتر باشد تا بر اساس آن خروجی را استریپ کند. قاعده ی استفاده از این متد به صورت زیر است:
str.strip([chars])
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "0000000this is string example....wow!!!0000000";
print str.strip( '0' )
بعد از اجرای اسکریپت خروجی زیر را دریافت خواهید کرد:
this is string example....wow!!!
swapcase
این متد یک کپی از رشته گرفته و حروف کوچک آن را به حروف بزرگ و حروف بزرگ را به کوچک تبدیل میکند. قاعده ی استفاده از این متد به صورت زیر است:
str.swapcase()
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print str.swapcase()
str = "THIS IS STRING EXAMPLE....WOW!!!";
print str.swapcase()
بعد از اجرای اسکریپت قوق خروجی زیر را دریافت خواهید کرد:
THIS IS STRING EXAMPLE....WOW!!!
this is string example....wow!!!
title
این متد هر کلمه از رشته را برداشته و حروف اول آن ها را با حرف بزرگ نمایش میدهد. قاعده استفاده از این متد به صورت زیر است.
str.title()
به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print str.title()
بعد از اجرای اسکریپت خروجی زیر را دریافت خواهید کرد:
This Is String Example....Wow!!!
translate
این متد دو پارامتر به صورت رشته میگیرد و اندیس های پارامترهای اول را متناظر با پارامتر دوم قرار داده و مقادیر آن ها را با هم جابه جا میکند. قاعده استفاده از آن به صورت زیر است:
str.translate(table[, deletechars])
به مثال زیر توجه فرمایید:
#!/usr/bin/python
from string import maketrans # Required to call maketrans function.
intab = "aeiou"
outtab = "12345"
trantab = maketrans(intab, outtab)
str = "this is string example....wow!!!";
print str.translate(trantab)
بعد از اجرای اسکریپت ملاحظه میشود که مقدار a با 1 و... و u با 5 جایگزین شده است:
th3s 3s str3ng 2x1mpl2....w4w!!!
همچنین مثال زیر حرف x و m را نیز حذف میکند:
#!/usr/bin/python
from string import maketrans # Required to call maketrans function.
intab = "aeiou"
outtab = "12345"
trantab = maketrans(intab, outtab)
str = "this is string example....wow!!!";
print str.translate(trantab, 'xm')
خروجی آن به صورت زیر است:
th3s 3s str3ng 21pl2....w4w!!!
upper
این متد برای تبدیل حروف کوچک در زبان انگلیسی به حروف بزرگ است. قاعده ی استفاده از این متد به صورت زیر است:
str.upper()
برای درک بهتر به اسکریپت زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "str.capitalize() : ", str.upper()
پس از اجرا خروجی زیر را دریافت خواهید کرد:
THIS IS STRING EXAMPLE....WOW!!!
zfill
این متد از سمت راست حروف را میشمارد و به مقدار عددی که به آن اختصاص داده میشود را از تعداد حروف کم کرده و مابقی را با مقدار صفر پر میکند. قاعده ی استفاده از این متد به صورت زیر است:
str.zfill(width)
برای مثال اسکریپت زیر را به اجرا در بیاورید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print str.zfill(40)
print str.zfill(50)
بعد از اجرا خروجی زیر را دریافت خواهید کرد:
00000000this is string example....wow!!!
000000000000000000this is string example....wow!!!
isdecimal
این متد مشخص میکند که رشته ی دریافتی از نوع دسیمال است یا خیر. مقادیر بازگشتی این متد دو مقدار True و False میباشد. قاعده ی استفاده از این متد به صورت زیر است:
str.isdecimal()
به مثال زیر توجه کنید:
#!/usr/bin/python
str = u"this2009";
print str.isdecimal();
str = u"23443434";
print str.isdecimal();
بعد از اجرا خروجی زیر را دریافت خواهید کرد:
False
True