رشته یا String

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

رشته یا String

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


 
>>> "Python is fun!"
'Python is fun!'
>>> 'Always look on the bright side of life'
'Always look on the bright side of life'

بعضی از کاراکترها نمی توانند مستقیما در یک String گنجانده شوند. به عنوان مثال، نقل قول های دوگانه نمی تواند به طور مستقیم در یک نقل قول دوگانه باشد؛ این باعث می شود که رشته را زودتر از موعد به اتمام برساند. کارکتر هایی مانند این ها باید با قرار دادن یک backslash (\) قبل از آنها از تداخل فرار کنند. دیگر کارکتر های رایج که باید از تداخل فرار کنند، خطوط جدید است.

>>> '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\ نشان دهنده یک خط جدید است. نکته: Backslashes همچنین می تواند برای فرار از زبانه ها، کاراکترهای Unicode، و چیزهای مختلف دیگر نیز مورد استفاده شود. خطوط جدید (New Lines) پایتون یک راه آسان برای جلوگیری از دستی نوشتن "n\" برای فرار خطوط جدید در یک رشته فراهم می کند. یک String با سه مجموعه نقل قول ایجاد کنید و خطوط جدید که با فشار دادن Enter ایجاد می شوند به صورت خودکار برای شما از تداخل فرار می کنند.

>>> """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(1 + 1)
2
>>> print("Hello\nWorld!")
Hello
World!

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

>>> input("Enter something please: ")
Enter something please: This is what\nthe user enters!

'This is what\\nthe user enters!'

نکته:توابع چاپ و ورودی در کنسول پایتون مفید نیستند،به این دلیل که به طور خودکار ورودی و خروجی را انجام می دهد. با این حال، استفاده آن ها در برنامه های واقعی بسیار مفید خواهند بود. عملگر ها همراه با رشته ها تلفیق همانطور که با اعداد صحیح و غیر صحیح می توان جمع انجام داد،رشته ها در پایتون هم می توانند اضافه شوند، با استفاده از فرایندی به نام تلفیق (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 "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'

رشته ها نیز می توانند توسط عدد صحیح ضرب شوند. در این حالت یک نسخه تکراری از رشته اصلی را تولید می کند. ترتیب رشته و عدد صحیح مهم نیست، اما رشته معمولا در اولین جایگاه است. رشته ها را نمی توان در رشته های دیگر ضرب کرد. رشته ها نیز نمی توانند توسط اعداد غیر صحیح ضرب شوند، حتی اگر تعداد عدد غیر صحیح در حقیقت کامل باشد (6.0).

>>> 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'

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
21دیدگاه
  • راضیه بهادری
    3 months, 4 weeks ago

    ببخشید راهی هست که inputهم عدد بگیره و بتواند جمع کنه و هم حرف بگیره؟

    • علی بیگدلی
      3 months, 4 weeks ago

      بله امکانش هست لطفا ورودی که مد نظرتون هستش رو به شکل یک مثال بنویسید

    • راضیه بهادری
      3 months, 3 weeks ago

      مثلا من می خوام کاربر توی ورودی یا ایمیلش رو وارد کنه یا شمارش رو
      البته این که گفتم روی اعداد کاری انجام نمیشه فقط مثال زدم

    • علی بیگدلی
      3 months, 3 weeks ago

      اینی که لازم دارید مربوط به صفحات وب و طراحی سایت میشه؟

    • راضیه بهادری
      3 months, 3 weeks ago

      بله، البته میدونم باید توی رابط گرافیکی از Entry استفاده کنم
      راستی میشه بگید چجوری کاری کنم که ورودی که می گیره اگه بیشتر از 8 رقم نباشه
      فکر کنم باید از len استفاده کنم

  • محمدحسین
    5 months, 2 weeks ago

    امکانش هست تمامی مطالب گفته شده در سایت اعم از توضیحات و کد های موجود را برای دوره پایتون مقدماتی در قالب یک فایل pdf در سایت قرار بدید ؟

    • علی بیگدلی
      5 months, 2 weeks ago

      روی این موضوع کارهایی انجام شده که در حال آماده سازی هستش، اما به هر صورت بازدید کردن از سایت خالی از لطف نیست چون مطالب بروزرسانی میشن

  • masoumeh moradpour
    7 months, 2 weeks ago

    سلام خسته نباشید اموزش هاتون عالیه.🌹
    ببخشید یه سوال این برنامه رو میشه روی گوشی هم نصب کرد ایا جواب میده؟

    • علی بیگدلی
      7 months, 2 weeks ago

      بله دوست عزیز می تونید مفسر پایتون مثل Qpython رو در گوشی هم نصب و اقدام به کد زدن کنید، البته مفسر های آنلاین هم هستش

  • sina 46
    8 months ago

    عالی

    • علی بیگدلی
      8 months ago

      متشکرم

  • Mohamad Almbrd
    9 months ago

    آموزش هاتون واقعا عالی هستن . ممنون از زحماتتون .

    • علی بیگدلی
      9 months ago

      خواهش می کنم نظر لطفتونه

  • مهدیه
    10 months ago

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

    • علی بیگدلی
      10 months ago

      موارد لازم برای قابلیت پرینت اضافه شده فقط مشکل codec دارن که داریم روش کار می کنیم ، سایت بر اساس درخواست های دوستان داره ساخته میشه و هر نظری که منطقی باشه اعمال میشه

    • راضیه بهادری
      3 months, 4 weeks ago

      میشه من در هر بخش سوالی که در مورد همون بخش دارم را بپرسم ‌‌چون بسیار زیاد هستش لطفا اگر منطقی بود توی سایت بزارید

    • علی بیگدلی
      3 months, 4 weeks ago

      مشکلی نیست

  • teimoor
    10 months, 1 week ago

    سلام این دوره رو بخونم نیازی به آموزش های یوتیوب نیست؟

    • علی بیگدلی
      10 months, 1 week ago

      آموزش های درج شده در youtube و aparat مشابه هستند و برای دسترسی در کشور های مختلف تعبیه شدن ، برای گذراندن دوره ویدئو مبتنی بر متن ها هستش و دیدنش می تونه مفید باشه

  • عرفان احمدی
    10 months, 4 weeks ago

    عالی بود

    • علی بیگدلی
      10 months, 4 weeks ago

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