آموزش متد یا توابع رشته ای (String Methods) در پایتون (Python)

آموزش متد یا توابع رشته ای (String Methods) در پایتون (Python)

در مقاله قبل به بررسی اجمالی رشته ها در پایتون پرداختیم و برای تغییرات در رشته ها پایتون متدهایی را معرفی کرده که به صورت کوتاه در جدولی آن ها را به شما معرفی کردیم.

در این مقاله به صورت کامل وظیفه هر کدام را برای شما شرح می دهیم 

زمان مطالعه: 3 دقیقه
بازدید: 19163
پرسش و پاسخ: 0

متد Capitalize

این متد اولین حرف اولین کلمه در رشته را به حرف بزرگ تبدیل می کند.

پارامتر های ورودی

این متد فاقد پارامتر ورودی می باشد.

در مثال زیر به حرف اول کلمه اول در رشته در خروجی دقت کنید:

txt = "hello, and welcome to my world."
x = txt.capitalize()
print (x)

 

متد Capitalize در پایتون (Python)

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

txt = "36 is my age."
x = txt.capitalize()
print (x)

 

متد Capitalize در پایتون (Python)

 

متد Casefold

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

این متد شبیه به متد Lower عمل می کند، اما متد Casefold قویتر و با نفوذتر از Lower است، به این معنی که کاراکترهای بیشتری را به حرف کوچک تبدیل می کند و هنگام مقایسه دو رشته مطابقت های بیشتری را پیدا می کند و هر دوی این عملیات با متد Casefold انجام می شود.

پارامتر های ورودی

این متد نیز مانند متد بالا فاقد پارامتر ورودی می باشد.

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

txt = "Hello, And Welcome To My World!"
x = txt.casefold()
print(x)

 

متد Casefold در پایتون (Python)

 

متد Center

متد Center رشته مورد نظر را در مرکز قرار می دهد، با استفاده از کاراکتر مشخص شده (به صورت پیش فرض فضای خالی (فضای سفید) است) فضا را پر می کند.

پارامتر های ورودی

این متد دو پارامتر ورودی دارد:

پارامترهای ورودی متد Center در پایتون(Python)
پارامتر توضیحات
Length ضروری، که طول رشته را مشخص می کند
Character اختیاری، کاراکتر برای پر کردن فضای دو طرف رشته(به صورت پیش فرض فضای خالی " " است)

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

txt = "banana"
x = txt.center(20)
print(x)

 

متد Center در پایتون (Python)

 

در این مثال رشته banana که 20 فضا را اشغال می کند در وسط چاپ می کند.

در مثال زیر کاراکتر o را جایگزین فضای از دست رفته دو طرف رشته کردیم.

txt = "banana"
x = txt.center(20, "O")
print(x)

 

متد Center در پایتون (Python)

 

متد Count

در این متد تعداد دفعات تکرار کلمه مورد نظر درون رشته برگشت داده می شود.

پارامتر های ورودی

این متد دارای سه پارامتر ورودی است که در جدول زیر به بررسی آن ها می پردازیم.

متد Count در پایتون (Python)
پارامتر توضیحات
Value ضروری، یک رشته است که درون رشته مورد نظر به دنبال آن می گردد.
Start اختیاری، یک عدد است که موقعیت شروع برای جستجو را در رشته مشخص می کند. (پیش فرض مقدار آن 0 است)
End اختیاری، یک عدد است که موقعیت خاتمه جستجو در رشته را مشخص می کند. (پیش فرض آن انتهای رشته است)

در این مثال تعداد دفعات تکرار کلمه “apple” درون رشته ی txt برگشت داده شده است.

txt = "I love apples, apple are my favorite fruit"
x = txt.count("apple")
print(x)

 

متد Count در پایتون (Python)

 

یک مثال پیشرفته از این متد در زیر آورده ایم.

txt = "I love apples, apple are my favorite fruit"
x = txt.count("apple", 10, 24)
print(x)

 

متد Count در پایتون (Python)

 

در این مثال در رشته txt به دنبال زیر رشته apple می گردد و این جستجو را از ایندکس شماره 10 رشته txt  شروع میکند و آن را تا ایندکس شماره 24 ادامه می دهد و از جستجوی بقیه رشته صرف نظر می کند.

متد Encode

متد Encode با استفاده از رمزگذاری مشخص شده رشته را کد می کند. اگر رمزگذاری مشخص نشده باشد به طور پیش فرض از رمزگذاری مدل UTF-8 استفاده می کند.

پارامتر های ورودی

این متد دارای دو پارامتر ورودی است.

متد encode در پایتون (Python)
پارامتر توضیحات
Encoding اختیاری، رشته ای که رمزگذاری را برای استفاده مشخص می کند. (به صورت پیش فرض UTF-8 می باشد)
Errors اختیاری، رشته ای که نوع خطا را مشخص می کند.

 

پارامتر errors دارای مقادیر مجاز است که باید از آن ها استفاده کنید. در زیر به بررسی آن ها می پردازیم.

مقادیر مجاز Errors در متد Encode در پایتون (Python)
مقدار توضیحات
‘backslashreplace’ به جای کاراکتری که نتواند encode کند از backslash استفاده می کند.
‘ignore’ از کاراکتری که نتواند کد کند صرف نظر می کند.
‘namereplace’ از یک توضیح راجع به کاراکتری که نمی تواند کد کند به جای کد استفاده می کند.
‘strict’ پیش فرض، خطایی در باب عدم توانایی کد کردن کاراکتر مورد نظر ایجاد می کند.
‘replace’ به جای کاراکتری که نمی تواند کد کند از علامت سوال استفاده می کند.
‘xmlcharrefreplace’ از کاراکترهای xml برای جایگزین کردن استفاده می کند.

 

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

txt = "My name is Ståle"
x = txt.encode()
print(x)

 

متد encode در پایتون (Python)

 

در این مثال از رمزگذاری UTF-8 برای رشته txt استفاده شده است.

چند مثال پیشرفته:

txt = "My name is Ståle"
print(txt.encode(encoding="ascii",errors="backslashreplace"))
print(txt.encode(encoding="ascii",errors="ignore"))
print(txt.encode(encoding="ascii",errors="namereplace"))
print(txt.encode(encoding="ascii",errors="replace"))
print(txt.encode(encoding="ascii",errors="xmlcharrefreplace"))

 

متد encode در پایتون (Python)

 

این مثال ها از روش رمزگذاری asci استفاده می کنند و به جای کاراکترهایی که نمی تواند کد کند، با توجه به error مورد نظر آن را جایگزین می کند.

متد Endswith

در این متد اگر رشته مورد نظر با مقدار مشخص شده به پایان رسیده باشد مقدار true و در غیر این صورت مقدار false برگشت داده می شود.

پارامتر های ورودی

این متد نیز دارای سه پارامتر ورودی می باشد که در جدول زیر آن ها را بررسی کرده ایم.

متد endswith در پایتون (Python)
پارامتر توضیحات
Value ضروری، رشته ای برای بررسی اینکه رشته مورد نظر با این مقدار به پایان رسیده باشد.
Start اختیاری، عددی برای مشخص کردن شروع بررسی رشته
End اختیاری، عددی برای مشخص کردن انتهای بررسی رشته

 

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

txt = "Hello, welcome to my world."
x = txt.endswith(".")
print(x)

 

متد endswith در پایتون (Python)

 

در این مثال اگر رشته مورد نظر با (.) خاتمه پیدا کند مقدار true برگشت داده می شود که در تصویر خروجی این مساله به طور واضح نشان داده شده است.

چند مثال پیشرفته تر:

txt = "Hello, welcome to my world."
x = txt.endswith("my world.")
print(x)

 

متد endswith در پایتون (Python)

 

در این مثال همانطور که در تصویر خروجی بالا می بینید اگر رشته txt با مقدار "my world." به پایان رسیده باشد مقدار true برگشت داده می شود.

txt = "Hello, welcome to my world."
x = txt.endswith("my world.", 5, 11)
print(x)

 

متد endswith در پایتون (Python)

 

در این مثال مقداری پیشرفته تر عمل کردیم، چون از دو پارامتر start و end نیز استفاده کردیم، پایان رشته با کلمه "my world." خاتمه پیدا نکرده است و مقدار false برگشت داده شده است. یعنی رشته از ایندکس 5 شروع به بررسی شده و تا ایندکس 11 ادامه پیدا می کند و از بررسی بقیه رشته صرف نظر می کند.

متد Expandtabs

در این متد با استفاده از پارامتر ورودی که یک عدد صحیح می باشد تعداد فاصله هر tab در رشته مشخص می شود. یعنی در هر tab چه تعداد فضای خالی ایجاد می شود.

پارامتر های ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر آن را بررسی کرده ایم.

متد Expandtabs در پایتون (Python)
پارامتر توضیحات
Tabsize اختیاری، عددی که مقدار اندازه هر tab را مشخص می کند (پیش فرض مقدار آن 8 است)

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

txt = "H\te\tl\tl\to"
x =  txt.expandtabs(2)
print(x)

 

متد expandtabs در پایتون (Python)

 

در این مثال از متد expandtabs با پارامتر ورودی با مقدار 2، برای تعریف اندازه هر tab (کاراکتر (\t)) در رشته txt استفاده شده است. یعنی اندازه هر تب 2 فضای خالی می باشد.

مثال های پیشرفته تر:

txt = "H\te\tl\tl\to"
print(txt)
print(txt.expandtabs())
print(txt.expandtabs(2))
print(txt.expandtabs(4))
print(txt.expandtabs(10))

 

متد expandtabs در پایتون (Python)

 

در این مثال نتایج خروجی رشته txt را با مقادیر مختلف متد expandtabs مشاهده می کنید.

متد Find

متد find مکان شروع اولین عنصر رشته را برمیگرداند.

متد find در صورتی که رشته را پیدا نکند، مقدار (1-) را برمیگرداند.

متد find تقریبا شبیه به متد index عمل می کند، با این تفاوت که اگر متد index مقداری پیدا نکند یک error را به ما نشان می دهد.

پارامتر های ورودی

این متد هم دارای 3 پارامتر ورودی است:

متد Find در پایتون (Python)
پارامتر توضیحات
Value ضروری، مقدار جستجو شونده در رشته
Start اختیاری، ایندکس(index) شروع جستجو در رشته (پیش فرض مقدار 0 است)
End اختیاری، ایندکس(index) پایان جستجو در رشته (پیش فرض تا انتهای رشته است)

در این مثال مکان شروع رشته " welcome" درون رشته txt را برمیگرداند.

txt = "Hello, welcome to my world."
x = txt.find("welcome")
print(x)

 

متد find در پایتون (Python)

 

مثال های پیشرفته تر:

txt = "Hello, welcome to my world."
x = txt.find("e")
print(x)

 

متد find در پایتون (Python)

 

مقدار "e" را جستجو می کند و مکان اولین “e” را در رشته برگردانده که ایندکس شماره 1 در رشته است.

txt = "Hello, welcome to my world."
x = txt.find("e", 5, 10)
print(x)

 

متد find در پایتون (Python)

 

جستجو برای مقدار "e" را از ایندکس شماره 5 تا ایندکس شماره 10 انجام می دهد، مقدار 8 را برمیگرداند که موقعیت رشته جستجو شده می باشد.

txt = "Hello, welcome to my world."
print(txt.find("q"))
print(txt.index("q"))

 

متد find در پایتون (Python)

 

در این مثال هم طبق گفته بالا تنها تفاوت متد index و find را به شما نشان داده ایم که متد index در صورت عدم پیدا کردن رشته برای ما error، اما متد find مقدار (1-) برمیگرداند.

متد Format

این متد مقدارهای مشخص شده را قالب بندی می کند و آن ها را دورن نگهدارنده های متغیر مربوطه قرار می دهد.

placeholder از جفت براکت {} استفاده می کند. در ادامه در مورد در مورد placeholder بیشتر حرف میزنیم.

متد format رشته را با قالب خاص برمیگرداند.

پارامتر های ورودی

دارای یک پارامتر وروری می باشد. که در جدول زیر توضیحات تکمیلی در مورد آن داده شده است.

متد Format در پایتون (Python)
پارامتر توضیحات
Value1 , Value2 , …

ضروری، یک یا چند مقدار که باید قالب بندی شوند و درون رشته قرار بگیرند.

مقادیر به وسیله کاراکتر (,) از یکدیگر جدا می شوند و به صورت Key=Value و یا ترکیبی از هر دو هستند.

مقادیر می توانند هر نوع داده ای باشند.

 

نگهدارنده (Placeholder)

Placeholder می تواند به وسیله نام متغیر {price} یا با استفاده از شاخص ها ی شماره گذاری (index) {0} و یا حتی placeholder خالی {} شناسایی شوند.

مثال زیر مقادیر متفاوت placeholder را نشان می دهند:

txt1 = "My name is {fname}, I'm {age}".format(fname = "John", age = 36)
txt2 = "My name is {0}, I'm {1}".format("John",36)
txt3 = "My name is {}, I'm {}".format("John",36)

 

متد format در پایتون (Python)

 

انواع قالب بندی ها (Formating)

در داخل placeholder ها می توانید نوع قالب بندی را مشخص و نتایج متفاوتی را در خروجی مشاهده کنید.

انواع قالب بندی (Formating) در متد Format در پایتون (Python)
کاراکتر توضیحات
:< ایجاد ترازبندی در سمت چپ (در فضای موجود)
:> ایجاد ترازبندی در سمت راست (در فضای موجود)
:^ ایجاد ترازبندی در دو طرف (در فضای موجود)
:= علامت عدد را با فاصله مشخص شده از عدد قرار می دهد.
:+ برای نشان دادن مثبت یا منفی بودن نتیجه
:- برای نشان دادن منفی بودن نتیجه
: ایجاد یک فضای اضافی برای نشان دادن اعداد مثبت (و یک علامت منفی قبل از اعداد منفی)
:, برای مشخص کردن مقدار عدد (با ویرگول رقم های 1000 و بالاتر را به صورت 1,000 می نویسد)
:_ برای مشخص کردن مقدار عدد (با ویرگول رقم های 1000 و بالاتر را به صورت 1_000 می نویسد)
:b برای قالب بندی اعداد باینری
:c مقدار را به مقادیر متناظر Unicode تبدیل می کند
:d برای قالب بندی اعداد اعشاری
:e برای قالب بندی اعداد علمی با حرف کوچک e
:E برای قالب بندی اعداد علمی با حرف کوچک E
:f برطرف کردن فرمت عددی
:F برطرف کردن فرمت عددی با حروف بزرگ (نشان دادن inf و nan مانند INF و NAN)
:g قالب بندی کلی
:G قالب بندی کلی (برای نشان دادن اعداد علمی از E استفاده می شود)
:o فرمت اعداد هشت تایی
:x فرمت اعداد شاتزده تایی با حروف کوچک
:X فرمت اعداد شاتزده تایی با حروف بزرگ
:n فرمت اعداد
:% فرمت اعداد درصدی

 

در مقالات آینده برای هر کدام از این کاراکترها مثالی برای شما خواهیم زد که مفهوم این مطلب را درک کنید.

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

txt = "For only {price:.2f} dollars!"
print(txt.format(price = 49)) 

 

متد format در پایتون (Python)

 

در این مثال با استفاده از متد Format مقدار عددی متغیر price را در placeholder متغیر price در رشته txt جایگذاری کرده است. قیمت با فرمت عددی دو رقم اعشار است. که متد format() این نوع قالب بندی را ایجاد کرده است.

متد Index

این متد مکان ایندکس اولین کاراکتر رشته مشخص شده را پیدا می کند.

اگر مقدار مشخص شده پیدا نشود بک Error نمایش می دهد.

این متد همانطور که قبلا هم در تعریف متد find گفتیم مانند این متد هست، با این تفاوت که متد find در صورت پیدا نکردن مقدار عدد 1- را برای ما برگشت می دهد.

پارامتر های ورودی

دارای سه پارامتر ورودی می باشد:

متد index در پایتون (Python)
پارامتر توضیحات
Value ضروری، مقدار جستجو شونده در رشته
Start اختیاری، نقطه شروع جستجو (پیش فرض ایندکس شماره 0)
End اختیاری، نقطه پایان جستجو (پیش فرض انتهای رشته)

مثال: برای پیدا کردن موقعیت مکانی کلمه “welcome” در رشته txt از متد index استفاده می کنیم.

txt = "Hello, welcome to my world."
x = txt.index("welcome")
print(x)

 

متد index در پایتون (Python)

 

در اینجا ایندکس شماره 7 شروع موقعیت مکانی کلمه “welcome” است.

مثال های پیشرفته تر:

txt = "Hello, welcome to my world."
x = txt.index("e")
print(x)

 

متد index در پایتون (Python)

 

مقدار "e" را جستجو می کند و مکان اولین “e” را در رشته برگردانده که ایندکس شماره 1 در رشته است.

txt = "Hello, welcome to my world."
x = txt.index("e", 5, 10)
print(x)

 

متد index در پایتون (Python)

 

جستجو برای مقدار "e" را از ایندکس شماره 5 تا ایندکس شماره 10 انجام می دهد، مقدار 8 را برمیگرداند که موقعیت رشته جستجو شده می باشد.

txt = "Hello, welcome to my world."
print(txt.find("q"))
print(txt.index("q"))

 

متد index در پایتون (Python)

 

در این مثال هم طبق گفته بالا تنها تفاوت متد index و find را به شما نشان داده ایم که متد index در صورت عدم پیدا کردن رشته برای ما error، اما متد find مقدار (1-) برمیگرداند.

متد Isalnum

این متد فقط در صورتی مقدار true برمیگرداند که تمام مقادیر رشته حروف الفبا و اعداد باشند، به این معنی که کاراکتر ها فقط شامل مقادیر (a-z) و اعداد (9-1) باشند.

از نمونه کاراکترهایی که الفبایی و عددی نیستند می توان به (فضای خالی)، !، #، &، ؟ و عیره اشاره کرد.

پارامتر های ورودی

این متد فاقد پارامتر ورودی می باشد.

در مثال زیر بررسی می کند که آیا رشته ترکیبی از حروف الفبا و اعداد است یا نه، اگر بود مقدار true و در غیر این صورت مقدار false برگشت داده می شود.

txt = "Company12"
x = txt.isalnum()
print(x)

 

متد isalnum در پایتون (Python)

 

مثال پیشرفته تر:

txt = "Company 12"
x = txt.isalnum()
print(x)

 

متد isalnum در پایتون (Python)

 

در این مثال چون از فضای خالی استفاده شده مقدار false برگردانده شده است.

متد Isalpha

این متد در صورتی مقدار true برمیگرداند که کل کاراکترهای رشته حروف الفبا باشند. (a-z)

از نمونه کاراکترهایی که حروف الفبا نیستند می توان به (فضای خالی)، !، #، &، ؟ و عیره اشاره کرد.

پارامتر های ورودی

این متد فاقد پارامتر ورودی می باشد.

در مثال زیر اگر همه کاراکترهای رشته حروف الفبا باشند مقدار true برگشت داده می شود.

txt = "CompanyX"
x = txt.isalpha()
print(x)

 

متد isalpha در پایتون (Python)

 

مثال پیشرفته تر:

txt = "Company10"
x = txt.isalpha()
print(x)

 

متد isalpha در پایتون (Python)

 

در این مثال چون از کاراکتر عددی استفاده شده است، متد isalpha() مقدار false برمیگرداند.

متد Isdecimal

در این متد بررسی می شود که آیا کاراکتر مورد نظر اعشاری است یا خیر. (9-0)

این متد برای اشیا Unicode استفاده می شود.

پارامتر های ورودی

این متد فاقد پارامتر ورودی می باشد.

در مثال زیر بررسی می کند که آیا کاراکتر Unicode اعشاری است یا خیر و چون مقدار Unicode برابر 3 است پس مقدار true را برمیگرداند.

txt = "\u0033" #unicode for 3
x = txt.isdecimal()
print(x)

 

متد isdecimal در پایتون (Python)

 

مثال پیشرفته تر:

a = "\u0030" #unicode for 0
b = "\u0047" #unicode for G
print(a.isdecimal())
print(b.isdecimal())

 

متد isdecimal در پایتون (Python)

 

در این مثال دو Unicode کاراکترهای 0 و G به ترتیب درون متغیرهای a   و b ریخته شده اند و با متد isdecimal() بررسی شده اند که چون مقدار ریخته شده حرف G می باشد مقدار false برگشت داده شده است.

متد Isdigit

این متد تنها زمانی مقدار true برمیگرداند که همه کاراکترهای رشته رقم باشند، در غیر این صورت مقدار false برگشت داده می شود.

نمایانگرها نیز مانند 2  نیز یک رقم در نظر گرفته می شوند.

پارامتر های ورودی

این متد فاقد پارامتر ورودی می باشد.

در مثال زیر بررسی می کند که آیا تمام کاراکترهای داخل متن رقم هستند یا خیر.

txt = "50800"
x = txt.isdigit()
print(x)

 

متد isdigit در پایتون (Python)

 

مثال پیشرفته تر:

a = "\u0030" #unicode for 0
b = "\u00B2" #unicode for ²
print(a.isdigit())
print(b.isdigit())

 

متد isdigit در پایتون (Python)

 

در مثال بالا بررسی می شود که آیا همه کاراکترهای Unicode رقم هستند یا خیر.

همانطور که در بالا گفتیم نمایانگرها نیز رقم محسوب می شوند.(2)

متد Isidentifier

این متد اگر رشته یک شناسه معتبر باشد مقدار true و درغیر این ضورت مقدار false را برمیگرداند.

یک رشته اگر فقط شامل حروف الفبا (a-z) و اعداد (9-0) و یا زیرخط (_) باشد یک شناسه معتبر شناخته می شود. یک شناسه معتبر نمی تواند با یک عدد و یا فضای خالی شروع شده باشد.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

در مثال زیر بررسی می کند که کدام یک از این رشته ها یک شناسه معتبر است.

a = "MyFolder"
b = "Demo002"
c = "2bring"
d = "my demo"
print(a.isidentifier())
print(b.isidentifier())
print(c.isidentifier())
print(d.isidentifier())

 

متد Isidentifier در پایتون (Python)

 

متد Islower

این متد اگر همه نویسه های رشته با حرف کوچک باشد مقدار true و در غیر این صورت مقدار false را برمیگرداند.

در این متد اعداد، نمادها و فضای خالی بررسی نمی شوند و فقط حروف الفبا بررسی می شوند.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

در مثال زیر بررسی می کند که آیا همه نویسه های رشته با حروف کوچک هستند یا خیر.

a = "Hello world!"
b = "hello 123"
c = "mynameisPeter"
print(a.islower())
print(b.islower())
print(c.islower())

 

متد islower در پایتون (Python)

 

متد Isnumeric

این متد اگر تمام کاراکترهای رشته عدد (9-0) باشند مقدار true را برمیگرداند، در غیر این صورت مقدار false برگشت داده می شود.

کاراکترهایی مثل کاراکتر های 2  و 4/3 (همان سه چهارم کسری) هم مقادیر عددی در نظر گرفته می شوند.

کاراکترهای "1-" و "1.5" مقادیر عددی محسوب نمی شوند چون تمام مقادیر باید عدد باشند ولی "-" و "." عدد نیستند.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

در زیر مثال های مختلفی از این متد را مشاهده می کنید

a = "\u0030" #unicode for 0
b = "\u00B2" #unicode for &sup2;
c = "10km2"
d = "-1"
e = "1.5"
print(a.isnumeric())
print(b.isnumeric())
print(c.isnumeric())
print(d.isnumeric())
print(e.isnumeric())

 

متد isnumeric در پایتون (Python)

 

متد Isprintable

این متد تنها در صورتی مقدار true  برمیگرداند که تمام نویسه های رشته قابل چاپ باشند.

نمونه ای از کاراکتر های غیر قابل چاپ عبارتند از کاراکتر های خط خورده و کاراکترهای رفتن به سرسطر (\n).

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

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

txt = "Hello!\nAre you #1?"
x = txt.isprintable()
print(x)

 

متد isprintable در پایتون (Python)

 

متد Isspace

این متد اگر تمام کاراکترهای یک رشته فضای خالی باشد مقدار true و در غیر این صورت مقدار false برگشت می دهد.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

در مثال زیر چون همه مقادیر رشته فضای خالی نیستند مقدار false برگشت داده است.

txt = "   s   "
x = txt.isspace()
print(x)

 

متد isspace در پایتون (Python)

 

متد Istitle

در این متد اگر حرف اول هر کلمه در رشته با حرف بزرگ نوشته شده باشد و بقیه حروف با حرف کوچک باشند مقدار true و در غیر این صورت مقدار false را برمیگرداند.

نمادها و اعداد نادیده گرفته می شوند.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

در مثال زیر بررسی می شود که هر کلمه در جمله با حرف بزرگ نوشته می شود یا خیر.

a = "HELLO, AND WELCOME TO MY WORLD"
b = "Hello"
c = "22 Names"
d = "This Is %'!?"
print(a.istitle())
print(b.istitle())
print(c.istitle())
print(d.istitle())

 

متد istitle در پایتون (Python)

 

متد Isupper

این متد تنها زمانی مقدار true برمیگرداند که تمام کاراکترهای رشته با حرف بزرگ نوشته شده باشند.

اعداد، نمادها و فضای خالی بررسی نمی شوند و فقط حروف الفبا بررسی می شود.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

مثال زیر بررسی این موضوع را نشان می دهد.

a = "Hello World!"
b = "hello 123"
c = "MY NAME IS PETER"
print(a.isupper())
print(b.isupper())
print(c.isupper())

 

متد isupper در پایتون (Python)

 

متد Join

این متد یک شی قابل پیمایش دریافت می کند و اعضای آن را پشت سر هم به صورت رشته در می آورد.

تمام اعضای لیست با یک کاراکتر یا رشته از هم جدا می شوند.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر به بررسی آن می پردازیم.

پارامترهای متد Join
پارامتر توضیحات
Iterable ضروری، هر شی قابل پیمایشی که مقادیر برگشتی آن رشته باشد.

 

در مثال زیر کارکرد این متد به خوبی نشان داده شده است.

myDict = {"name": "John", "country": "Norway"}
mySeparator = "TEST"
x = mySeparator.join(myDict)
print(x)

 

متد join در پایتون (Python)

 

متد Ljust

این متد رشته را با یک کاراکتر مشخص (پیش فرض فضای خالی است) از سمت چپ تراز می کند.

پارامترهای ورودی

این متد دارای دو پارامتر ورودی است که در جدول زیر به بررسی آن ها می پردازیم.

پارامترهای متد Ljust در پایتون (Python)
پارامتر توضیحات
Length ضروری، طول رشته برگشتی
Character اختیاری، کاراکتر برای پر کردن فضای از دست رفته (در سمت راست رشته)، به صورت پیش فرض " " (فضای خالی) است.

 

در مثال زیر یک نمونه مثال از این متد را برای شما آورده ایم.

txt = "banana"
x = txt.ljust(20, "O")
print(x)

 

متد ljust در پایتون (Python)

 

متد Lower

این متد تمام کاراکترهای رشته را به حروف کوچک تبدیل می کند.

نمادها و اعداد را نادیده می گیرد.

پارامترهای ورودی

این متد شامل پارامتر ورودی نمی باشد.

مثال زیر نمایانگر کارکرد این متد است.

txt = "Hello my FRIENDS"
x = txt.lower()
print(x)

 

متد lower در پایتون (Python)

 

متد Lstrip

این متد تمام کاراکترهای مشخص شده (پیش فرض فضای خالی است) سمت چپ رشته را حذف می کند.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر به بررسی آن می پردازیم.

پارامترهای متد Lstrip در پایتون (Python)
پارامتر توضیحات
Characters اختیاری، مجموعه ای از نویسه های مشخص شده برای حذف

 

مثال زیر تمام نویسه های مشخص شده در پارامتر ورودی در سمت چپ رشته را حذف می کند.

txt = ",,,,,ssaaww.....banana"
x = txt.lstrip(",.asw")
print(x)

 

متد lstrip در پایتون (Python)

 

متد Maketrans

این متد یک جدول نگاشتی را برمیگرداند که می تواند با استفاده از متد translate() جایگزین نویسه های مشخص شود.

پارامترهای ورودی

این متد دارای سه پارامتر ورودی است.

پارامترهای متد Maketrans در پایتون (Python)
پارامتر توضیحات
x ضروری، اگر فقط یک پارامتر مشخص شده باشد، آن باید یک دیکشنری برای توصیف چگونگی جایگزین کردن باشد. اگر دو و یا جند پارامتر باشد، باید حاوی رشته ای باشد که مشخص کننده رشته جایگزینی مورد نظر است.
y اختیاری، رشته ای با طول پارامتر x. هر نویسه در پارامتر اول با نویسه مربوطه در این رشته جایگزین می شود.
z اختیاری، رشته ای که مشخص می کند کدام کاراکترها را از رشته اصلی حذف کنیم.

 

در مثال زیر کارکرد این متد به خوبی نشان داده شده است. در مثال کاراکترهای متغیر y جایگزین کاراکترهای متغیر x می شوند و از کاراکترهای متغیر z را نیز از رشته اصلی حذف می کند.

txt = "Good night Sam!"
x = "mSa"
y = "eJo"
z = "odnght"
mytable = txt.maketrans(x, y, z)
print(txt.translate(mytable))

 

متد maketrans در پایتون (Python)

 

متد Partition

این متد رشته مشخصی را در رشته اصلی جستجو می کند و رشته اصلی را به یک لیست سه عنصری تقسیم می کند.

عنصر اول : شامل کاراکترهای قبل از رشته مشخص شده

عنصر دوم : شامل رشته مشخص شده

عنصر سوم : شامل کاراکترهای بعد از رشته مشخص شده

نکته : این روش اولین کاراکتر رشته مشخص شده را جستجو می کند.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر به بررسی آن می پردازیم.

پارامترهای متد Partition در پایتون (Python)
پارامتر توضیحات
Value ضروری، رشته مشخص شده برای جستجو

 

نکته : اگر رشته جستجو شده پیدا نشود، مقدار برگشتی شامل سه عنصر می شود:

عنصر اول : کل رشته اصلی

عنصر دوم : رشته خالی

عنصر سوم : رشته خالی

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

txt = "I could eat bananas all day"
x = txt.partition("apples")
print(x) 

 

متد partition در پایتون (Python)

 

متد Replace

این متد یک عبارت مشخص را با یک عبارت مشخص دیگر جایگزین می کند.

نکته : اگر مورد دیگری مشخص نشده باشد، تمام کاراکترهای رشته مشخص جایگزین می شوند.

پارامترهای ورودی

این متد دارای سه پارامتر ورودی است.

پارامترهای متد Replace در پایتون (Python)
پارامتر توضیحات
Oldvalue ضروری، مقدار جستجو شده در رشته
Newvalue ضروری، مقدار جایگزین شونده به جای رشته جستجو شده
Count اختیاری، تعداد جایگزین ها در صورت پیدا کردن بیش از یک مقدار (پیش فرض کل مقادیر پیدا شده در رشته است)

 

در مثال زیر تمام کلمات “three” در رشته اصلی جایگزین کلمات “one” می شوند، اما چون تعداد کلمه “one” در رشته بیش از بک عدد است و مقدار Count هم با مقدار 2 مشخص شده پس تنها دو کلمه “one” اول جایگزین می شوند و از جایگزین کردن بقیه صرف نظر می کند.

txt = "one one was a race horse, two two was one too."
x = txt.replace("one", "three", 2)
print(x)

 

متد replace در پایتون (Python)

 

متد Lfind

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

در صورت پیدا نکردن مقدار جستجو شده، 1- برمیگرداند.

این متد کارکردی شبیه به متد Rindex() دارد.

پارامترهای ورودی

این متد دارای سه پارامتر ورودی است.

پارامترهای متد Lfind در پایتون (Python)
پارامتر توضیحات
Value ضروری، مقدار جستجو شده در رشته
Start اختیاری، مکان شروع جستجو (پیش فرض ایندکس شماره 0)
End اختیاری، مکان پایان جستجو (پیش فرض انتهای رشته)

 

در زیر سه مثال متفاوت از این متد را برای شما آورده ایم.

مثال اول : جستجوی رشته "e" در رشته اصلی

txt = "Hello, welcome to my world."
x = txt.rfind("e")
print(x)

 

متد rfind در پایتون (Python)

 

مثال دوم : جستجوی رشته "e" از ایندکس شماره 5 تا ایندکس شماره 10 در رشته اصلی

txt = "Hello, welcome to my world."
x = txt.rfind("e", 5, 10)
print(x)

 

متد rfind در پایتون (Python)

 

مثال سوم : تفاوت این متد با متد Rindex

txt = "Hello, welcome to my world."
print(txt.rfind("q"))
print(txt.rindex("q"))

 

متد rfind در پایتون (Python)

 

متد Rindex

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

در صورت پیدا نکردن مقدار جستجو شده، یک error را برمیگرداند.

همانطور که در بالا گفتیم این متد با متد Rfind مشابه است و فقط یک تفاوت دادند آن هم در مقدار برگشتی در صورت پیدا نشدن مقدار جستجو شده است.

پارامترهای ورودی

این متد دارای سه پارامتر ورودی است.

پارامترهای متد Rindex در پایتون (Python)
پارامتر توضیحات
Value ضروری، مقدار جستجو شده در رشته
Start اختیاری، مکان شروع جستجو (پیش فرض ایندکس شماره 0)
End اختیاری، مکان پایان جستجو (پیش فرض انتهای رشته)

 

از این متد نیز در زیر سه مثال متفاوت برای شما آورده ایم.

مثال اول : جستجوی رشته "e" در رشته اصلی

txt = "Hello, welcome to my world."
x = txt.rindex("e")
print(x)

 

متد rindex در پایتون (Python)

 

مثال دوم : جستجوی رشته "e" از ایندکس شماره 5 تا ایندکس شماره 10 در رشته اصلی

txt = "Hello, welcome to my world."
x = txt.rindex("e", 5, 10)
print(x)

 

متد rindex در پایتون (Python)

 

مثال سوم : تفاوت این متد با متد Rfind

txt = "Hello, welcome to my world."
print(txt.rfind("q"))
print(txt.rindex("q"))

 

متد rindex در پایتون (Python)

 

متد Rjust

این متد رشته را با یک کاراکتر مشخص (پیش فرض فضای خالی است) از سمت راست تراز می کند.

پارامترهای ورودی

این متد دارای دو پارامتر ورودی است که در جدول زیر به بررسی آن ها می پردازیم.

پارامترهای متد Rjust در پایتون (Python)
پارامتر توضیحات
Length ضروری، طول رشته برگشتی
Character اختیاری، کاراکتر برای پر کردن فضای از دست رفته (در سمت چپ رشته)، به صورت پیش فرض " " (فضای خالی) است.

 

در مثال زیر یک نمونه مثال از این متد را برای شما آورده ایم.

txt = "banana"
x = txt.rjust(20, "O")
print(x)

 

متد rjust در پایتون (Python)

 

متد Rpartition

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

عنصر اول : شامل کاراکترهای قبل از رشته مشخص شده

عنصر دوم : شامل رشته مشخص شده

عنصر سوم : شامل کاراکترهای بعد از رشته مشخص شده

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر به بررسی آن می پردازیم.

پارامترهای متد Rpartition در پایتون (Python)
پارامتر توضیحات
Value ضروری، رشته مشخص شده برای جستجو

 

نکته : اگر رشته جستجو شده پیدا نشود، مقدار برگشتی شامل سه عنصر می شود:

عنصر اول : رشته خالی

عنصر دوم : رشته خالی

عنصر سوم : کل رشته اصلی

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

txt = "I could eat bananas all day, bananas are my favorite fruit"
x = txt.rpartition("apples")
print(x)

 

متد rpartition در پایتون (Python)

 

متد Rsplit

این متد رشته را از سمت راست جدا و به یک لیست تبدیل می کند.

اگر مقدار "max" مشخص نشده باشد، شبیه متد Split عمل می کند.

نکته : اگر پارامتر maxsplit مشخص شده باشد، لیست شامل تعداد مشخص شده پارامتر maxsplit به علاوه یک خواهد بود. مثال در این مورد خواهیم داشت که این موضوع را بهتر درک کنید.

پارامترهای ورودی

این متد شامل دو پارامتر ورودی است.

پارامترهای متد Rsplit در پایتون (Python)
پارامتر توضیحات
Separator اختیاری، کاراکتر جدا کننده رشته (پیش فرض فضای خالی)
Maxsplit اختیاری، مشخص کننده تعداد عناصر ایجاد شده از رشته اصلی (پیش فرض مقدار 1- است یعنی به تعداد کاراکتر مشخص شده، رشته تقسیم می شود)

 

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

txt = "apple, banana, cherry"
# setting the maxsplit parameter to 1, will return a list with 2 elements!
x = txt.rsplit(", ", 1)
print(x)

 

متد rsplit در پایتون (Python)

 

همانطور که در توضیحات نوشته شده، maxsplit با 1 مقداردهی شده است، یعنی در اینجا یک لیست 2 عنصره برگردانده می شود.

عنصر اول ‘apple, banana’ و عنصر دوم ‘cherry’ است.

متد rstrip

این متد تمام کاراکترهای مشخص شده بعد از رشته را حذف می کند. (به صورت پیش فرض فضای خالی بعد از رشته را حذف می کند)

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در جدول زیر به بررسی آن می پردازیم.

پارامترهای متد Rstrip در پایتون (Python)
پارامتر توضیحات
Chatacters اختیاری، کاراکترهایی که بعد از رشته قرار دارند و باید حذف شوند

 

مثال زیر کارکرد این متد را به شما نشان می دهد.

txt = "banana,,,,,ssqqqww....."
x = txt.rstrip(",.qsw")
print(x)

 

متد rstrip در پایتون (Python)

 

متد Split

این متد رشته را به یک لیست تبدیل می کند.

شما می توانید کاراکتر جداکننده را مشخص کنید، پیش فرض جدا کننده فضای خالی است.

نکته : وقتی پارامتر maxsplit مشخص شود تعداد عناصر لیست به تعداد مشخص شده پارامتر maxsplit به علاوه یک تغییر پیدا می کند.

پارامترهای ورودی

این متد شامل دو پارامتر ورودی است.

پارامترهای متد Split در پایتون (Python)
پارامتر توضیحات
Separator اختیاری، کاراکتر جدا کننده رشته (پیش فرض فضای خالی)
Maxsplit اختیاری، مشخص کننده تعداد عناصر ایجاد شده از رشته اصلی (پیش فرض مقدار 1- است یعنی به تعداد کاراکتر مشخص شده، رشته تقسیم می شود)

 

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

txt = "apple#banana#cherry#orange"
# setting the maxsplit parameter to 1, will return a list with 2 elements!
x = txt.split("#", 1)
print(x)

 

متد split در پایتون (Python)

 

در این مثال همانطور که مشخص است کاراکتر "#" کاراکتر جداکننده است و تعداد عناصر لیست جدا شده 2 است چون پارامتر maxsplit با 1 مقداردهی شده است. عنصر اول کلمه "apple" و عنصر دوم "banana#cherry#orange" است، دقیقا برعکس متد Rsplit.

متد Splitlines  

این متد رشته را از جایی که کاراکتر escape شکست خط (line break) وجود دارد جدا می کند و در یک لیست قرار می دهد.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در زیر به بررسی آن می پردازیم.

پارامترهای متد Splitlines در پایتون (Python)
پارامتر توضیحات
Keeplinebreaks

اختیاری، مشخص می کند که آیا کاراکتر خطوط شکسته را نگه دارد (true) یا نه (false)

پیش فرض مقدار آن false است.

 

به مثال زیر دقت کنید. در این مثال رشته را تقسیم می کند اما کاراکتر خطوط شکسته را نگه می دارد.

txt = "Thank you for the music\nWelcome to the jungle"
x = txt.splitlines(True)
print(x)

 

متد splitlines در پایتون (Python)

 

متد Startswith

در این متد اگر رشته با مقدار مشخص شده شروع شده باشد مقدار true را برمیگرداند، در غیر این صورت مقدار false برگشت داده می شود.

پارامترهای ورودی

این متد دارای سه پارامتر ورودی است.

پارامترهای متد Startswith در پایتون (Python)
پارامتر توضیحات
Value ضروری، مقدار مشخص شده
Start اختیاری، مکان شروع بررسی در رشته اصلی
End اختیاری، مکان پایان بررسی در رشته اصلی

 

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

txt = "Hello, welcome to my world."
x = txt.startswith("wel", 7, 20)
print(x)

 

متد startswith در پایتون (Python)

 

در این مثال در رشته اصلی از ایندکس شماره 7 تا ایندکس شماره 20 به دنبال رشته "wel" می گردد.

متد Strip

این متد کاراکترهای مشخص شده (پیش فرض فضای خالی) را از اول و آخر رشته حذف می کند.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در زیر به بررسی آن می پردازیم.

پارامترهای متد Strip در پایتون (Python)
پارامتر توضیحات
Characters اختیاری، کاراکترهای مشخص شده برای حذف از اول و آخر رشته

 

مثال زیر بیانگر این موضوع است.

txt = ",,,,,rrttgg.....banana....rrr"
x = txt.strip(",.grt")
print(x)

 

متد strip در پایتون (Python)

 

متد Swapcase

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

پارامترهای ورودی

این متد فاقد پارامتر ورودی می باشد.

مثال زیر کارکرد این متد را به شما نشان می دهد.

txt = "Hello My Name Is PETER"
x = txt.swapcase()
print(x)

 

متد swapcase در پایتون (Python)

 

متد Title

این متد حرف اول تمام کلمات رشته را به حرف بزرگ تبدیل می کند (مانند عنوان ها و سر تیترها)

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

پارامترهای ورودی

این متد فاقد پارامتر ورودی می باشد.

مثال زیر خروجی این متد را نشان می دهد.

txt = "hello b2b2b2 and 3g3g3g"
x = txt.title()
print(x)

 

متد title در پایتون (Python)

 

متد Translate

این متد کاراکترهای رشته را با مقادیر مشخض شده در یک لغت نامه توصیف شده و یا یک جدول mapping جایگزین می کند و آن را برمیگرداند.

برای ایجاد جدول mapping از متد Maketrans() استفاده می کنیم.

اگر کاراکتری در لغت نامه توصیف شده و یا جدول mapping تعریف نشده باشد جایگزین نخواهد شد.

اگر از یک لغت نامه توصیف شده استفاده کنید باید از کدهای ascii به جای کاراکترها استفاده کنید.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی است که در زیر به بررسی آن می پردازیم.

پارامترهای متد Translate در پایتون (Python)
پارامتر توضیحات
Table ضروری، با یک لعت نامه یا جدول mapping چگونگی جایگزین کردن را توصیف می کند.

 

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

#use a dictionary with ascii codes to replace 83 (S) with 80 (P):
mydict = {83:  80}
txt = "Hello Sam!"
print(txt.translate(mydict))

 

متد translate در پایتون (Python)

 

همانطور که در مثال بالا می بینید کاراکتر با کد asci 80(کاراکتر P)  با کاراکتر با کد asci 83 (کاراکتر S) جایگزین شده است.

به این مثال پیشرفته دقت کنید

txt = "Good night Sam!"
mydict = {109: 101, 83: 74, 97: 111, 111: None, 100: None, 110: None, 103: None, 104: None, 116: None}
print(txt.translate(mydict))

 

متد translate در پایتون (Python)

 

در این مثال کاراکترهایی که مقدار اسکی آنها با None جایگزین شده از چاپ کردن آنها صرف نظر می کند.

متد Upper

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

اعداد و نمادها نادیده گرفته می شوند.

پارامترهای ورودی

این متد فاقد پارامتر ورودی می باشد.

مثال زیر بیانگر عملکرد این متد است.

txt = "Hello my friends"
x = txt.upper()
print(x)

 

متد upper در پایتون (Python)

 

متد Zfill

این متد تا زمانی که رشته به تعداد کاراکتر مشخص شده برسد به ابتدای آن صفر (0) اضافه می کند.

پارامترهای ورودی

این متد دارای یک پارامتر ورودی می باشد.

پارامترهای متد Zfill در پایتون (Python)
پارامتر توضیحات
Len ضروری، عددی که طول رشته را مشخص می کند

 

نکته : اگر عدد پارامتر len کمتر از مقدار کاراکترهای رشته اصلی باشد، از پر کردن با صفر (0) صرف نظر می کند.

مثال زیر حالات مختلف این متد در خروجی را نشان می دهد.

a = "hello"
b = "welcome to the jungle"
c = "10.000"
print(a.zfill(10))
print(b.zfill(10))
print(c.zfill(10))

 

متد zfill در پایتون (Python)

 

خب به پایان این متدها رسیدیم، در مقاله بعدی همانطور که قبلا قول دادیم از هر کدام از کاراکترهای قالب بندی مثالی می زنیم که فهم آن ها نیز برای شما راحت تر شود.

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده