تبلیغات
قطره (ای از زندگی یک درگیر کامپیوتر) - متد های رشته ها همراه با مثال
 
اگر قادر نیستی خود را بالا ببری ،همانند سیب باش تا با افتادنت اندیشه ای بالا برود.

متد های رشته ها همراه با مثال

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:59 ب.ظ


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

** به یاد داشته باشید: براکت نشان دهنده آرگومان های اختیاری است.**

str.capitalize( )

این متد، یک کپی از اولین کاراکتر با حروف بزرگ و بقیه کاراکترها را با حروف کوچک برمی گرداند.

>>> my_string = "sTrInG mEtHoDs"                # Create a string

>>> new_string = my_string.capitalize()         # Capitalize 1st, lower rest & return

>>> new_string                            

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

'String methods'

str.casefold( )

این متد،  یک مورد کپی شده (casefolded) از رشته را برمی گرداند. رشته های casefolded ممکن است برای تطبیق  caseless (موارد فاقد این امر) استفاده شوند. Casefolding مشابه با lowercasing است اما جامع تر است زیرا تمام موارد متمایزدر یک رشته را حذف کند.

>>> my_string = "sTrInG mEtHoDs"               # Create a String

>>> new_string = my_string.casefold()          # Return a casefolded copy

>>> new_string                              

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

'string methods'

str.center(width[, fillchar])

این متد ، دوطرف رشته S را با کاراکتر دریافت شده (fillchar) به اندازه width تعیین شده پر می کند و S را در وسط قرار می دهد. (بطور پیش فرض fillchar کاراکتر Space – فضای خالی - است)

>>> my_string = "sTrInG mEtHoDs"               # Create a String

>>> new_string = my_string.center(20, 'x')     # Center in 20 spaces, fill spaces with 'x' & return

>>> new_string                             

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

'xxxsTrInG mEtHoDsxxx'

str.count(sub[, start[, end]])

این متد تعداد تکرارهای sub بین نقطه شروع و پایان را شمارش می کند .آرگومانهای شروع و پایان اختیاری هستند.

>>> my_string = "this is python. It is awesome!"     # Create a String

>>> my_count = my_string.count('is', 0, -1)          # count occurrences of'is' and return

>>> my_count                                    

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

3

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

این متد، اگر رشته با پسوند مشخصی به پایان می رسد، مقدار True را برمی گرداند، درغیر اینصورت False را برمی گرداند. همچنین پسوند می تواند یک چندتایی از پسوند را به دنبال داشته باشد. با شروع اختیاری، تست در آن موقعیت آغاز می گردد. با پایان اختیاری، مقایسه در آن موقعیت متوقف می گردد.

>>> my_string = "we love python"              # Create a String

>>> my_value = my_string.endswith('python')   # Return a boolean

>>> my_value                        

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

True

str.find(sub[, start[, end]])

این متد کمترین index رشته که در آن sub یافت می شود را برمی گرداند طوریکه sub در قطعه s[start:end] شامل می شود. آرگومانهای شروع و پایان اختیاری هستند . اگر sub یافت نشود، این متد مقدار -1 بر می گرداند.

>>> my_string = "we love python"        # Create a String

>>> my_index = my_string.find('o')      # Return the lowest index where substring was found

>>> my_index                          

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

4

str.format(*args, **kwargs)

این متد، یک عملیات قالب بندی رشته را انجام می دهد. رشته ای که درآن، این متد فراخوانی می شود، می تواند یک متن باشد که دارای یک سری آکولاد {} است. هر فیلد جایگزینی که با آکولاد {} نشان داده می شود، شامل ایندکس عددی متناظر با آن در تابع است. این متد، یک کپی از رشته را برمی گرداند که در آن هر فیلد جایگزینی، با مقدار رشته آرگومان متناظر در تابع format جایگزین می گردد.

>>> a = 10       

>>> b = 30       
>>> my_sum = a + b
>>> my_product = a * b

>>> "The sum of a and b is {0} and their product is {1}".format(my_sum, a*b)

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

'The sum of a and b is 40 and their product is 300'

str.index(sub[, start[, end]])

این متد، کمترین ایندکس در رشته  اولیه که در زیررشته sub یافت می شود را برمی گرداند طوری که زیررشته sub در محدوده s[start:end] قرار گرفته است. آرگومانهای شروع و پایان اختیاری هستند. این متد بسیار شبیه به str.find است،  تنها تفاوت دو متد با هم این است که اگر زیر رشته یافت نشود، یک ValueError رخ می دهد.

>>> my_string = "we love python"        # Create a String

>>> my_index = my_string.index('o')     # Return lowest index at which the substring was found 

>>> my_index                            # Check to see what was returned   

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

4

str.isalnum()

اگر تمام کاراکترها در رشته، عدد و الفبا هستند این روش True را برمیگرداند و حداقل یک کاراکتر وجود دارد ، درغیر اینصورت False را بر میگرداند.

>>> my_string_1 = "StarWars2016"              # Notice there is no space
>>> my_string_2 = "I love star wars 2016"     # This string contains spaces

>>> check_1 = my_string_1.isalnum()           # Returns a Boolean value
>>> check_2 = my_string_2.isalnum()           # Returns a Boolean value

>>> "check_1 is: {0} and check_2 is: {1}".format(check_1, check_2)   # Check to see what was returned   

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

'check_1 is: True and check_2: is False'

***چند متد دیگرشبیه به ()str.isalnum که برخی از آنها مقدار Boolean برمی گردانند، به شرح زیر هستند:***

str.isalpha() 

اگر تمام کاراکترها در رشته حروف الفبا هستند، مقدار True را برمیگرداند ، درغیراینصورت False برمی گرداند. حروف الفبا، کاراکترهایی هستند که در پایگاه داده کاراکتر UniCode بعنوان "حرف" تعریف می شود.

برای مثال :

str = "this";  # No space & digit in this string

print str.isalpha()

 

str = "this is string example....wow!!!";

print str.isalpha()

 

str.isdecimal()

اگر تمام کاراکترها در رشته، کاراکتر ده دهی هستند ، True برمی گرداند درغیر اینصورت False برمی گرداند. کاراکترهای ده دهی آنهایی هستند که از دسته کلی "Nd" هستند. این دسته شامل کاراکترهای رقمی، و تمام کاراکترهایی است که می توانند به شکل اعداد اعشاری- مبنا استفاده شوند، بعنوان مثال: U+0660، ARABIC-INDIC DIGIT ZERO.

str.isdigit()

اگر تمام کاراکترها در رشته،رقمی هستند True را برمی گرداند، درغیر اینصورت False را برمی گرداند. ارقام شامل کاراکترهای ده دهی و ارقامی که نیاز به بررسی ویژه دارند هستند، مانند ارقام سازش پذیر بالانویس. بعبارت دیگر، یک رقم، کاراکتری است که مقدار Numeric_Type=Digit  یا Numeric_Type=Decimal را دارد.

str.isidentifier()

باتوجه به تعریف زبان، بخش Identifiers and Keywords، اگر رشته یک شناسه معتبر است، True برمی گرداند.

str.islower()

اگر تمام کاراکترهای تحت پوشش در رشته حروف کوچک باشند ، True برمی گرداند درغیر اینصورت False برمی گرداند.

str.isnumeric()

اگر تمام کاراکترها در رشته کاراکترهای عددی هستند ، True برمی گرداند درغیر اینصورت False برمی گرداند. کاراکترهای عددی شامل کاراکترهای رقمی، و تمام کاراکترهایی است که خاصیت مقدار عددی Unicode دارند.

str.isprintable()

اگر تمام کاراکترها در رشته قابل چاپ هستند یا رشته خالی باشد، True بازمی گرداند درغیراینصورت False برمی گرداند. کاراکترهای غیرقابل چاپ، آن کاراکترهایی هستند که در پایگاه داده کاراکتر Unicode بعنوان " Other " یا " Separator " تعریف می شوند، به استثنای Space که قابل چاپ درنظر گرفته می شود.

str.isspace()

اگر تنها کاراکترهای فضای خالی در رشته وجود دارند ، True برمی گرداند، درغیراینصورت False برمی گرداند. کاراکترهای فضای خالی آن کاراکترهایی هستند که در پایگاه داده کاراکترهای Unicode بعنوان " Other " یا " Separator " تعریف می شوند و آنهایی که با اولویت دوطرفه بودن، یکی از "WS"،"B" یا "S" باشند.

str.istitle()

اگر رشته یک رشته titlecased باشد True برمی گرداند، بعنوان مثال: کاراکترهای حروف بزرگ ممکن است تنها کاراکترهای uncased (غیر سربار) یا کاراکترهای با حروف کوچک تنها موارد موردنظر باشند. درغیراینصورت False برمی گرداند.

str.isupper()

اگر تمام کاراکترهای سربار در رشته بزرگ هستند True برمی گرداند، درغیراینصورت False برمی گرداند.

برای لیست مفصل تری از متد های رشته،شما را به دیدن Python Documentation تشویق می کنیم.

منابع:



درباره وبلاگ:



آرشیو:


طبقه بندی:


آخرین پستها:


پیوندها:


پیوندهای روزانه:


صفحات جانبی:


نویسندگان:


ابر برچسبها:


آمار وبلاگ:







The Theme Being Used Is MihanBlog Created By ThemeBox