رشته در پایتون
رشته (String) یک ساختار داده در پایتون است که در واقع یک دنباله از کاراکترها است. رشته یک نوع داده غیرقابل تغییر (immutable) است، به این معنا که هنگامی که یک رشته ایجاد کردهاید، نمیتوانید آن را تغییر دهید.
رشتهها به طور گسترده در بسیاری از کاربردهای مختلف استفاده میشوند، مانند ذخیره و کنترل دادههای متنی، نمایش نامها، آدرسها و سایر انواع دادههایی که به صورت متن قابل نمایش باشند.
مثال:
"datayad" or 'datayad' or "a"
پایتون نوع دادهای به نام “کاراکتر” (Character) ندارد؛ به همین دلیل یک کاراکتر به سادگی یک رشته با طول 1 محسوب میشود.
print("A Computer Science portal for geeks") print('A')
خروجی:
A Computer Science portal for geeks A
ایجاد یک رشته در پایتون
رشتهها در پایتون میتوانند با استفاده از کوتیشن تکی (‘ یا “) یا حتی کوتیشن سهگانه ایجاد شوند. بیایید ببینیم چگونه میتوانیم یک رشته را در پایتون تعریف کنیم.
مثال:
در این مثال، ما روشهای مختلف ایجاد یک رشته در پایتون را نشان خواهیم داد. ما یک رشته را با استفاده از کوتیشن تکی (‘ ‘)، کوتیشن دوتایی (” “) و کوتیشن سهگانه (” “” “) ایجاد خواهیم کرد. کوتیشنهای سهگانه میتوانند برای اعلام رشتههای چندخطی در پایتون استفاده شوند.
# Python Program for # Creation of String # Creating a String # with single Quotes String1 = 'Welcome to the Geeks World' print("String with the use of Single Quotes: ") print(String1) # Creating a String # with double Quotes String1 = "I'm a Geek" print("\nString with the use of Double Quotes: ") print(String1) # Creating a String # with triple Quotes String1 = '''I'm a Geek and I live in a world of "Geeks"''' print("\nString with the use of Triple Quotes: ") print(String1) # Creating String with triple # Quotes allows multiple lines String1 = '''Geeks For Life''' print("\nCreating a multiline String: ") print(String1)
خروجی:
String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of "Geeks" Creating a multiline String: Geeks For Life
دسترسی به کاراکترها در رشتههای پایتون
در پایتون، میتوان به کاراکترهای یک رشته با استفاده از روش “اندیسگذاری” دسترسی پیدا کرد. اندیسگذاری اجازه میدهد که با اشاره به آدرسهای منفی، از انتهای رشته به کاراکترها دسترسی پیدا کنیم، به عنوان مثال، -1 به آخرین کاراکتر اشاره دارد، -2 به دومین کاراکتر از انتها، و به همین ترتیب.
دسترسی به یک اندیس خارج از محدوده باعث بروز خطای اندیس خارج از محدوده (IndexError) میشود. تنها اعداد صحیح به عنوان اندیس قابل قبول هستند و ارسال اعداد اعشاری یا سایر انواع ممکن است باعث بروز خطای نوع (TypeError) شود.
مثال:
در این مثال، یک رشته در پایتون تعریف میکنیم و با استفاده از اندیسگذاری مثبت و منفی به کاراکترهای آن دسترسی پیدا میکنیم. المان 0 اولین کاراکتر رشته خواهد بود در حالی که المان -1 آخرین کاراکتر رشته است.
# Python Program to Access # characters of String String1 = "datayad" print("Initial String: ") print(String1) # Printing First character print("\nFirst character of String is: ") print(String1[0]) # Printing Last character print("\nLast character of String is: ") print(String1[-1])
خروجی:
Initial String: datayad First character of String is: d Last character of String is: d
برش رشته (String Slicing)
در پایتون، از روش برش رشته برای دسترسی به یک محدوده از کاراکترها در رشته استفاده میشود. برش زدن در یک رشته با استفاده از عملگر برش، یعنی دونقطه (:), انجام میشود. یک نکته مهم در استفاده از این روش این است که رشتهای که بعد از برش به دست میآید، شامل کاراکتر موجود در اندیسِ شروع میشود اما شامل کاراکتر موجود در اندیسِ پایانی نمیشود.
مثال:
در این مثال، از روش برش رشته برای استخراج یک زیررشته از رشته اصلی استفاده خواهیم کرد. [3:12] نشاندهنده این است که برش رشته از اندیس سوم تا دوازدهم (دوازدهمین کاراکتر مشمول نمیشود) انجام خواهد شد. همچنین میتوانیم از اندیسگذاری منفی نیز در برش رشته استفاده کنیم.
# Python Program to # demonstrate String slicing # Creating a String String1 = "datayadisgood" print("Initial String: ") print(String1) # Printing 3rd to 12th character print("\nSlicing characters from 3-12: ") print(String1[3:12]) # Printing characters between # 3rd and 2nd last character print("\nSlicing characters between " + "3rd and 2nd last character: ") print(String1[3:-2])
خروجی:
Initial String:
datayadisgood
Slicing characters from 3-12:
ayadisgoo
Slicing characters between 3rd and 2nd last character:
ayadisgo
برعکس کردن یک رشته در پایتون
با دسترسی به کاراکترها از یک رشته (string)، میتوانیم رشتهها را در پایتون برعکس کنیم. میتوانیم با استفاده از روش برش رشته، یک رشته را برعکس کنیم.
مثال:
در این مثال، با دسترسی به اندیسها، یک رشته را برعکس میکنیم. ما دو بخش اول برش را مشخص نکردیم تا نشان دهیم که تمام رشته را از اندیس شروع تا اندیس پایانی در نظر میگیریم.
#Program to reverse a string gfg = "datayadisgood" print(gfg[::-1])
خروجی:
doogsidayatad
مثال:
همچنین میتوانیم یک رشته را با استفاده از توابع داخلی `join` و `reversed` برعکس کنیم، و رشته را به عنوان پارامتر به تابع `()reversed` بدهیم.
# Program to reverse a string gfg = "datayad" # Reverse the string using reversed and join function gfg = "".join(reversed(gfg)) print(gfg)
خروجی:
doogsidayatad
حذف/بهروزرسانی از یک رشته
در پایتون، بهروزرسانی یا حذف کاراکترها از یک رشته مجاز نیست. این عمل باعث خطا میشود زیرا امکان اختصاص یا حذف آیتم از یک رشته وجود ندارد. با این حال، حذف کل رشته با استفاده از دستور `del` امکانپذیر است.
به دلیل “غیرقابل تغییر” بودن رشته ها، نمی توان عناصر یک رشته را پس از اختصاص تغییر داد. تنها می توانیم رشتههای جدیدی را با شرایط دلخواه به همان متغیر مورد نظرمان نسبت دهیم.
تغییر یک کاراکتر از یک رشته در پایتون میتواند با تبدیل رشته به یک لیست پایتون و سپس بهروزرسانی المان در لیست انجام شود. چرا که لیستها قابل تغییر هستند، لذا میتوانیم کاراکتر را بهروزرسانی کنیم و سپس لیست را دوباره به رشته تبدیل کنیم.
روش دیگر استفاده از روش برش رشته است. رشته را تا کاراکتری که میخواهید بهروزرسانی کنید برش بزنید، سپس کاراکتر جدید را افزوده و در نهایت بخش باقیمانده از رشته را دوباره با استفاده از برش رشته اضافه کنید.
مثال:
در این مثال، از هر دو روش لیست و برش رشته برای بهروزرسانی یک کاراکتر استفاده میشود. رشته را به لیست تبدیل کردیم، مقدار آن را در یک عنصر خاص بهروزرسانی کردیم و سپس آن را با استفاده از متد `()join` رشته پایتون دوباره به رشته تبدیل کردیم.
در روش برش رشته، رشته را تا کاراکتر مورد نظر برش زدیم، کاراکتر جدید را افزودیم و در نهایت بخش باقیمانده از رشته را با استفاده از برش رشته دوباره اضافه کردیم.
# Python Program to Update # character of a String String1 = "Hello, I'm a Geek" print("Initial String: ") print(String1) # Updating a character of the String ## As python strings are immutable, they don't support item update directly ### there are following two ways #1 list1 = list(String1) list1[2] = 'p' String2 = ''.join(list1) print("\nUpdating character at 2nd Index: ") print(String2) #2 String3 = String1[0:2] + 'p' + String1[3:] print(String3)
خروجی:
Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek
بهروزرسانی کل رشته
رشتههای پایتون غیرقابل تغییر هستند، پس ما نمیتوانیم رشته موجود را بهروزرسانی کنیم. تنها میتوانیم یک مقدار کاملاً جدید را به متغیر قبلی اختصاص دهیم.
مثال:
در این مثال، ابتدا یک مقدار به `String1` اختصاص میدهیم و سپس آن را با اختصاص یک مقدار کاملاً متفاوت به آن بهروزرسانی میکنیم. در این حالت ما به سادگی مرجع آن را تغییر دادیم.
# Python Program to Update # entire String String1 = "Hello, I'm a Geek" print("Initial String: ") print(String1) # Updating a String String1 = "Welcome to the Geek World" print("\nUpdated String: ") print(String1)
خروجی:
Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World
حذف یک کاراکتر از رشته
رشتههای پایتون “غیرقابل تغییر” هستند، به این معنا که ما نمیتوانیم یک کاراکتر را از آن حذف کنیم. هنگامی که سعی میکنیم با استفاده از کلیدواژه `del` کاراکتر را حذف کنیم، با خطایی مواجه میشویم.
# Python Program to delete # character of a String String1 = "Hello, I'm a Geek" print("Initial String: ") print(String1) print("Deleting character at 2nd Index:") del String1[2] print(String1)
خروجی:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Traceback (most recent call last): File "e:\GFG\Python codes\Codes\demo.py", line 9, in <module> del String1[2] TypeError: 'str' object doesn't support item deletion
بله، درست است. با استفاده از روش برش رشته، میتوانیم یک کاراکتر را از رشته اصلی حذف کرده و نتیجه را در یک رشته جدید ذخیره کنیم.
مثال:
در این مثال، ابتدا رشته را تا کاراکتری که میخواهیم حذف کنیم برش میزنیم، سپس رشته باقیمانده پس از حذف کاراکتر را به آن اضافه میکنیم.
# Python Program to Delete # characters from a String String1 = "Hello, I'm a Geek" print("Initial String: ") print(String1) # Deleting a character # of the String String2 = String1[0:2] + String1[3:] print("\nDeleting character at 2nd Index: ") print(String2)
خروجی:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek
حذف کل رشته
حذف کل رشته با استفاده از کلیدواژه `del` امکانپذیر است. علاوه بر این، اگر سعی کنیم رشته حذف شده را چاپ کنیم، این کار باعث بروز خطا میشود زیرا رشته حذف شده است و برای چاپ در دسترس نیست.
# Python Program to Delete # entire String String1 = "Hello, I'm a Geek" print("Initial String: ") print(String1) # Deleting a String # with the use of del del String1 print("\nDeleting entire String: ") print(String1)
خروجی:
Traceback (most recent call last): File "/home/e4b8f2170f140da99d2fe57d9d8c6a94.py", line 12, in print(String1) NameError: name 'String1' is not defined
بررسی Escape Sequence در پایتون
در پایتون، زمانی که در درون رشته مورد نظر برای چاپ کوتیشن تکی یا دوتایی وجود داشته باشد، چاپ آن رشته با کمک کوتیشن مشابه خودش باعث ایجاد خطای (SyntaxError) میشود. زیرا نمی توان از یک نوع کوتیشن مشابه برای چاپ همان نوع کوتیشن استفاده کرد. بنابراین، برای چاپ چنین رشتههایی از کوتیشن سه تایی یا Escape sequence استفاده میشود.
این عملگرها با یک بکاسلش (\) شروع میشوند و میتوانند به شکلهای مختلفی مختلف تفسیر شوند. اگر کوتیشن تکی برای نمایش یک رشته استفاده شود، تمام کوتیشنهای تکی موجود در رشته باید escape شوند و همین کار برای کوتیشن دوتایی نیز انجام میشود.
مثال:
# Python Program for # Escape Sequencing # of String # Initial String String1 = '''I'm a "Geek"''' print("Initial String with use of Triple Quotes: ") print(String1) # Escaping Single Quote String1 = 'I\'m a "Geek"' print("\nEscaping Single Quote: ") print(String1) # Escaping Double Quotes String1 = "I'm a \"Geek\"" print("\nEscaping Double Quotes: ") print(String1) # Printing Paths with the # use of Escape Sequences String1 = "C:\\Python\\Geeks\\" print("\nEscaping Backslashes: ") print(String1) # Printing Paths with the # use of Tab String1 = "Hi\tGeeks" print("\nTab: ") print(String1) # Printing Paths with the # use of New Line String1 = "Python\nGeeks" print("\nNew Line: ") print(String1)
خروجی:
Initial String with use of Triple Quotes: I'm a "Geek" Escaping Single Quote: I'm a "Geek" Escaping Double Quotes: I'm a "Geek" Escaping Backslashes: C:\Python\Geeks\ Tab: Hi Geeks New Line: Python Geeks
مثال:
برای نادیده گرفتن escape sequence ها در یک رشته، از r یا R استفاده میشود. این حرف نشان میدهد که رشته یک رشته خام است و escape sequence داخل آن نادیده گرفته میشود.
# Printing hello in octal String1 = "\110\145\154\154\157" print("\nPrinting in Octal with the use of Escape Sequences: ") print(String1) # Using raw String to # ignore Escape Sequences String1 = r"This is \110\145\154\154\157" print("\nPrinting Raw String in Octal Format: ") print(String1) # Printing Geeks in HEX String1 = "This is \x47\x65\x65\x6b\x73 in \x48\x45\x58" print("\nPrinting in HEX with the use of Escape Sequences: ") print(String1) # Using raw String to # ignore Escape Sequences String1 = r"This is \x47\x65\x65\x6b\x73 in \x48\x45\x58" print("\nPrinting Raw String in HEX Format: ") print(String1)
خروجی:
Printing in Octal with the use of Escape Sequences: Hello Printing Raw String in Octal Format: This is \110\145\154\154\157 Printing in HEX with the use of Escape Sequences: This is Geeks in HEX Printing Raw String in HEX Format: This is \x47\x65\x65\x6b\x73 in \x48\x45\x58
فرمتبندی رشتهها
رشتهها در پایتون میتوانند با استفاده از متد `()format` که یک ابزار چندمنظوره و قدرتمند برای فرمتبندی رشتههاست، فرمت دهی شوند. متد فرمت شامل علائم `{}` هست که به عنوان مکاننگهدارندهها (placeholders) در آن استفاده می شوند، طوری که متغیرها میتوانند طبق ترتیب یا با استفاده از کلمات کلیدی و این علائم در دسترس قرار گیرند.
مثال 1:
در این مثال، یک رشته را تعریف میکنیم که حاوی تعدادی `{}` است که به عنوان مکاننگهدارندهها عمل میکنند، و به آنها مقدار میدهیم تا ببینیم چگونه موقعیت تعریف رشته اهمیت دارد.
# Python Program for # Formatting of Strings # Default order String1 = "{} {} {}".format('Geeks', 'For', 'Life') print("Print String in default order: ") print(String1) # Positional Formatting String1 = "{1} {0} {2}".format('Geeks', 'For', 'Life') print("\nPrint String in Positional order: ") print(String1) # Keyword Formatting String1 = "{l} {f} {g}".format(g='Geeks', f='For', l='Life') print("\nPrint String in order of Keywords: ") print(String1)
خروجی:
Print String in default order: Geeks For Life Print String in Positional order: For Geeks Life Print String in order of Keywords: Life For Geeks
مثال 2:
اعداد صحیح مانند دودویی، هگزادسیمال و غیره، و اعداد اعشاری میتوانند با استفاده از مشخصکنندههای فرمت گرد شوند یا به شکل نمایی نمایش داده شوند.
# Formatting of Integers String1 = "{0:b}".format(16) print("\nBinary representation of 16 is ") print(String1) # Formatting of Floats String1 = "{0:e}".format(165.6458) print("\nExponent representation of 165.6458 is ") print(String1) # Rounding off Integers String1 = "{0:.2f}".format(1/6) print("\none-sixth is : ") print(String1)
خروجی:
Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17
مثال 3:
یک رشته میتواند با استفاده از مشخصکنندههای فرمت چپ، راست یا وسطچین باشد، که با کلن (:) جدا شدهاند.
علامت (>) نشاندهنده این است که رشته باید چپ چین شود، علامت (<) نشاندهنده است که رشته باید راست چین شود و (^) نشاندهنده است که رشته باید به وسط چین شود.
همچنین میتوانیم طولی که باید چیده شود را مشخص کنیم. به عنوان مثال، (>10) نشاندهنده این است که رشته باید درون یک فیلد با عرض 10 کاراکتر چپ چین شود.
# String alignment String1 = "|{:<10}|{:^10}|{:>10}|".format('Geeks', 'for', 'Geeks') print("\nLeft, center and right alignment with Formatting: ") print(String1) # To demonstrate aligning of spaces String1 = "\n{0:^16} was founded in {1:<4}!".format("GeeksforGeeks", 2009) print(String1)
خروجی:
Left, center and right alignment with Formatting: |Geeks | for | Geeks| GeeksforGeeks was founded in 2009 !
مثال 4:
در فرمتبندی قدیمی، بدون استفاده از متد `format`، از اپراتور `%` برای فرمتبندی استفاده میشد.
# Python Program for # Old Style Formatting # of Integers Integer1 = 12.3456789 print("Formatting in 3.2f format: ") print('The value of Integer1 is %3.2f' % Integer1) print("\nFormatting in 3.4f format: ") print('The value of Integer1 is %3.4f' % Integer1)
خروجی:
Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457
ثابتها در رشتههای پایتونی
برای استفاده از ثابت های زیر، نیاز است که با دستور import string، ماژول string را وارد فضای کاری کنید.
Built-In Function |
توضیحات |
string.ascii_letters |
ثابتهای ascii_lowercase و ascii_uppercase. |
string.ascii_lowercase |
حروف کوچک |
string.ascii_uppercase |
حروف بزرگ |
string.digits |
ارقام در رشتهها |
string.hexdigits |
ارقام hex در رشتهها |
string.letters |
رشتههای حروف کوچک و بزرگ |
string.lowercase |
یک رشته حاوی حروف کوچک |
string.octdigits |
ارقام oct در رشته |
string.punctuation |
کاراکترهای نشانهگذاری و علائم |
string.printable |
رشتهای از کاراکترهای قابل چاپ |
()String.endswith |
اگر یک رشته با یک پسوند داده شده به پایان برسد، True برمیگردد، در غیر این صورت False |
()String.startswith |
اگر یک رشته با یک پیشوند داده شده شروع شود، True برمیگردد، در غیر این صورت False |
()String.isdigit |
اگر تمام کاراکترهای رشته عدد باشند، “True” برمیگردد؛ در غیر این صورت “False” |
()String.isalpha |
اگر تمام کاراکترهای رشته حروف الفبا باشند، “True” برمیگردد؛ در غیر این صورت “False” |
()string.isdecimal |
اگر تمام کاراکترهای یک رشته عدد صحیح باشند، True برمیگردد. در غیر این صورت False |
()str.format |
یکی از روشهای فرمتبندی رشته در پایتون3، که امکان جایگزینیهای چندگانه و فرمتبندی مقدار را فراهم میکند. |
()String.index |
موقعیت اولین وقوع زیررشته مشخص شده توسط کاربر را در یک رشته برمیگرداند |
string.uppercase |
رشته حاوی حروف بزرگ |
string.whitespace |
یک رشته حاوی همه کاراکترهایی که به عنوان فضای خالی در نظر گرفته میشوند |
()string.swapcase |
این متد همه حروف بزرگ را به حروف کوچک و بالعکس در رشته داده شده تبدیل میکند و آن را برمیگرداند |
()replace |
یک نسخه از رشته که همه تکرارهای یک زیررشته را با یک زیررشته دیگر جایگزین کرده است، برمیگرداند |
توابع رشتههای قدیمی (Deprecated)
Built-In Function |
توضیحات |
string.Isdecimal |
اگر تمام کاراکترهای یک رشته اعداد دهدهی باشند، مقدار True را بازمیگرداند. |
string.Isalnum |
اگر تمام کاراکترهای یک رشته عددی یا حروف الفبا باشند، مقدار True را بازمیگرداند. |
string.Istitle |
اگر رشته به صورت عنوانی (title case) باشد، مقدار True را بازمیگرداند. |
string.partition |
رشته را در اولین وقوع جداکننده (separator) جدا میکند و یک تاپل بازمیگرداند. |
string.Isidentifier |
بررسی میکند که آیا یک رشته یک شناسه معتبر است یا نه. |
String.len |
طول رشته را بازمیگرداند. |
string.rindex |
بیشترین ایندکس زیررشته درون رشته را بازمیگرداند اگر زیررشته پیدا شود. |
()string.max |
بیشترین حرف الفبایی در یک رشته را بازمیگرداند. |
()string.min |
کمترین حرف الفبایی در یک رشته را بازمیگرداند. |
string.splitlines |
یک لیست از خطوط در رشته را بازمیگرداند. |
string.capitalize |
یک کلمه با اولین حرف آن بزرگ شده را بازمیگرداند. |
string.expandtabs |
تبها را در یک رشته گسترش داده و آنها را با یک یا چند فاصله جایگزین میکند. |
string.find |
کمترین ایندکس یک زیررشته را بازمیگرداند. |
string.rfind |
بیشترین ایندکس را پیدا میکند. |
string.count |
تعداد تکرارهای (غیرتداخلی) یک زیررشته در یک رشته را بازمیگرداند. |
string.lower |
یک کپی از رشته را با حروف بزرگ به حروف کوچک تبدیل میکند. |
string.split |
یک لیست از کلمات رشته را بازمیگرداند. اگر که آرگومان دوم یا نباشد، یا None باشد |
()string.rsplit |
یک لیست از کلمات رشته را از آخر به اول بازمیگرداند. |
()rpartition |
رشته داده شده را به سه بخش تقسیم میکند. |
string.splitfields |
یک لیست از کلمات رشته را بازمیگرداند و تنها با دو آرگومان استفاده میشود. |
string.join |
یک لیست یا تاپل از کلمات را با استفاده از جداکننده مشخص شده ادغام میکند. |
()string.strip |
یک کپی از رشته را با حذف فضاهای سفید قبلی و بعدی آن بازمیگرداند. |
string.lstrip |
یک کپی از رشته را با حذف فضاهای سفید قبلی آن بازمیگرداند. |
string.rstrip |
یک کپی از رشته را با حذف فضاهای سفید بعدی آن بازمیگرداند. |
string.swapcase |
حروف کوچک را به حروف بزرگ و بالعکس تبدیل میکند. |
string.translate |
کاراکترها را با استفاده از یک جدول ترجمه میکند. |
string.upper |
حروف کوچک را به حروف بزرگ تبدیل میکند. |
string.ljust |
در یک فیلد با عرض داده شده، چپ چین میکند |
string.rjust |
در یک فیلد با عرض داده شده، راست چین میکند |
()string.center |
در یک فیلد با عرض داده شده، وسط چین میکند |
string.zfill |
یک رشته عددی را از سمت چپ با ارقام صفر تا رسیدن به عرض مشخص شده پر میکند. |
string.replace |
یک کپی از رشته با جایگزینی همه تکرارهای یک زیررشته با زیررشته جدید را بازمیگرداند. |
()string.casefold |
رشته را به حالت کوچک تبدیل میکند که برای مقایسههای بیتوجه به حالت (caseless) قابل استفاده است. |
string.encode |
رشته را به هر رمزگذاری پشتیبانی شده توسط پایتون تبدیل میکند. رمزگذاری پیشفرض utf-8 است. |
string.maketrans |
یک جدول ترجمه را برای استفاده با str.translate بازمیگرداند. |
مزایای رشتهها در پایتون
- رشتهها به مقیاس بزرگی مورد استفاده قرار میگیرند، به عنوان مثال برای حوزههای گستردهای از عملیات مانند ذخیره و تغییر دادن دادههای متنی، نمایش نامها، آدرسها و سایر انواع دادههایی که به صورت متن قابل نمایش هستند.
- پایتون دارای یک مجموعه غنی از متدهای رشته است که به شما امکان میدهد رشتهها را به انواع مختلفی تغییر دهید و با آنها کار کنید. این متدها کارهای رایجی مانند تبدیل رشته به حروف بزرگ یا کوچک، جایگزینی زیررشتهها و تقسیم رشته به لیستها را آسان میکنند.
- رشتهها تغییرناپذیر هستند، به این معنا که یک بار که یک رشته ایجاد کردهاید، نمیتوانید آن را تغییر دهید. این امر در برخی مواقع میتواند مفید باشد زیرا به معنای آن است که میتوانید با اطمینان بگویید که مقدار یک رشته به طور غیرمنتظره تغییر نخواهد کرد.
- پایتون از حمایت داخلی برای رشتهها برخوردار است، به این معنا که نیازی به وارد کردن کتابخانهها یا ماژولهای اضافی برای کار با رشتهها ندارید. این امر باعث میشود که شروع کار با رشتهها آسان شود و پیچیدگی کد شما را کاهش دهد.
- پایتون یک دستور نگارش کوتاه برای ایجاد و کنترل رشتهها دارد، که این امر باعث میشود که نوشتن و خواندن کدی که با رشتهها کار میکند، آسان باشد.
معایب رشتهها در پایتون
- هنگامی که با دادههای متنی بزرگ سر و کار داریم، استفاده از رشتهها ممکن است کارآیی پایینی داشته باشد. به عنوان مثال، اگر نیاز داشته باشید تعداد زیادی از عملیاتها را روی یک رشته انجام دهید، مانند جایگزینی زیررشتهها یا تقسیم رشته به چندین زیررشته، ممکن است کد کند شود و منابع زیادی را مصرف کند.
- وقتی نیاز به نمایش ساختارهای داده پیچیده مانند لیست یا دیکشنری باشد، کار با رشتهها ممکن است مشکل باشد. در این موارد، استفاده از نوع داده متفاوتی مانند لیست یا دیکشنری برای نمایش داده ممکن است کارآیی بیشتری داشته باشد.
پرسشهای متداول در مورد رشتههای پایتون
- رشته در پایتون چیست؟
رشته در پایتون یک دنباله از کاراکترهاست که درون کوتیشنها قرار میگیرد. یک نوع داده تغییرناپذیر است و مقدار آن پس از ایجاد قابل تغییر نمیباشد.
- چگونه میتوانم یک رشته در پایتون ایجاد کنم؟
رشتهها میتوانند با استفاده از کوتیشن تکی، کوتیشن دوتایی یا کوتیشن سه تایی ایجاد شوند. به عنوان مثال:
- کوتیشن تکی: ‘سلام’
- کوتیشن دوتایی: “Geeks”
- سه کوتیشن: ”’ Welcome”’ یا “”” Greeks”””
- چگونه میتوانم به کاراکترها در یک رشته دسترسی پیدا کنم؟
رشتههای پایتون از اندیس صفر شروع میشوند، بنابراین ما میتوانیم با استفاده از اندیس ها به یک کاراکتر از رشته دسترسی پیدا کنیم. به عنوان مثال:
String = “datayad”
Print(String[0]) ‘ Output= d ‘
Print(String[-1]) ‘ Output= d ‘
- آیا میتوانم رشتهها را در پایتون ادغام کنم؟
بله، میتوانید از عملگر ‘+’ برای ادغام رشتهها استفاده کنید. به عنوان مثال:
first_name = “Jack”
last_name = “Fisher”
full_name = first_name + ” ” + last_name
- چگونه میتوانم طول یک رشته را بدست آورم؟
طول یک رشته با استفاده از تابع ‘()len’ قابل دریافت است. به عنوان مثال:
string = “datayad”
length = len(string)