رشته یا String
برای استفاده از متن در پایتون، باید از نوع دادهای به نام رشته (String) استفاده کرد. یک رشته با قرار دادن متن بین دو علامت نقل قول تکی (`'`) یا دوگانه (`"`) ایجاد میشود. تفاوتی نمیکند از کدام نوع نقل قول استفاده شود، خروجی نهایی یکسان خواهد بود.
>>> "Python is fun!"
'Python is fun!'
>>> 'Always look on the bright side of life'
'Always look on the bright side of life'
برخی از کاراکترها نمیتوانند به صورت مستقیم در یک رشته قرار بگیرند. برای مثال، قرار دادن یک نقل قول تکی در داخل رشتهای که با نقل قول تکی شروع شده، باعث بروز خطا میشود. برای جلوگیری از این مشکل باید از نویسه بکاسلش (`\`) برای فرار از کاراکترها استفاده کرد.
>>> 'Brian\'s mother: He\'s not the Messiah. He\'s a very naughty boy!'
'Brian's mother: He's not the Messiah. He's a very naughty boy!'
کاراکتر \n
برای ایجاد یک خط جدید در رشتهها به کار میرود. همچنین بکاسلش میتواند برای فرار از زبانهها (\t
)، یونیکد (\u
) و موارد مشابه نیز استفاده شود.
برای نوشتن رشتههایی که دارای چند خط هستند، میتوان از سه علامت نقل قول پشت سر هم (`'''` یا `"""`) استفاده کرد. در این حالت نیازی به استفاده از `\n` برای هر خط جدید نیست.
>>> """Customer: Good morning.
Owner: Good morning, Sir. Welcome to the National Cheese Emporium."""
'Customer: Good morning.\nOwner: Good morning, Sir. Welcome to the National Cheese Emporium.'
در خروجی رشتههای چندخطی، کاراکتر \n
بهصورت خودکار در مکانهایی که Enter زده شده وارد میشود.
برای تولید خروجی متنی در پایتون، میتوان از تابع print()
استفاده کرد. این تابع مقدار داده شده را روی صفحه چاپ میکند.
>>> print(1 + 1)
2
>>> print("Hello\nWorld!")
Hello
World!
نکته: در خروجی دستور print
، علامتهای نقل قول نمایش داده نمیشوند.
برای دریافت ورودی از کاربر، از تابع input()
استفاده میشود. این تابع یک رشته را به عنوان ورودی دریافت کرده و همیشه خروجی آن از نوع رشته است.
>>> input("Enter something please: ")
Enter something please: This is what\nthe user enters!
'This is what\\nthe user enters!'
نکته: ورودیهای دریافتشده از input()
به صورت رشته ذخیره میشوند، حتی اگر به نظر برسند که عددی هستند.
همانطور که میتوان اعداد را با هم جمع کرد، رشتهها نیز میتوانند با استفاده از عملگر +
به یکدیگر متصل شوند؛ این عملیات تلفیق (Concatenation) نام دارد.
>>> "Spam" + 'eggs'
'Spameggs'
>>> print("First string" + ", " + "second string")
First string, second string
اگر دو رشتهای که شامل عدد هستند به هم اضافه شوند، خروجی آن یک رشته ترکیبی خواهد بود، نه حاصل جمع عددی. همچنین ترکیب مستقیم یک رشته با عدد صحیح منجر به خطا میشود.
>>> "2" + "2"
'22'
>>> 1 + '2' + 3 + '4'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
رشتهها را میتوان با یک عدد صحیح ضرب کرد. نتیجه این عمل، تکرار چندبارهی همان رشته خواهد بود. با این حال، نمیتوان رشته را با رشتهی دیگر ضرب کرد یا از عددهای اعشاری برای ضرب استفاده نمود، حتی اگر عدد اعشاری معادل یک عدد صحیح باشد.
>>> print("spam" * 3)
spamspamspam
>>> 4 * '2'
'2222'
>>> '17' * '87'
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'pythonisfun' * 7.0
TypeError: can't multiply sequence by non-int of type 'float'