آموزش پایتون به زبان ساده: رشته‌ها

همه‌ی برنامه‌نویسان به متن‌ها در زبان‌های برنامه‌نویسی رشته یا string میگن. رشته همون‌طور که از نامش پیداست یعنی باید شامل رشته‌ای از یک سری چیزها باشه. ما تو دنیای واقعی هم کلمه رشته‌ها رو به کار می‌بریم مثلا رشته گردنبند یا رشته تسبیح! و در دنیای کامپیوتر هم رشته یعنی رشته‌ای از کاراکترها. کاراکترها همون حروف الفبا و اعداد و یه سری علایم نشانه‌گذاری مثل . – + و … هستند. خلاصه هر کلیدی که روی صفحه کلیدتون می‌بینید یه کاراکتره!
اجازه بدین تا با نحوه‌ی تعریف رشته‌ها در پایتون با یه مثال آشنا بشین.

str1 = ‘hello world’
print(str1)

این مثال یکی از مثالهای ابتدایی هستش که قبلا هم داشتیم. در واقع برای تعریف رشته‌ها ما باید اول و آخر اونا رو کاراکترهای نقل‌قول قرار بدیم. می تونید از تک‌کوتیشین یا دابل‌کوتیشین استفاده کنید.
اگر بخواین رشته‌های چندخطی داشته باشین باید رشته هاتون بین سه تا علامت نقل‌قول یا کوتیشین قرار بگیره مثل کد زیر:

str1 = ‘’’ hello world
How are you? ’’’

خب در ادامه قصد داریم تا برای کار با رشته‌ها و انجام یه سری دستکاری‌ها چند تا مورد رو بررسی کنیم. کارای زیادی میشه با رشته ها انجام داد. مثلا:

  • اونا رو با هم دیگه ترکیب کرد.
  • به یه فرمت خاص اونا رو نشون داد
  • و کلی کارای دیگه

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

چسباندن رشته‌ها

فرض کنید شما می‌خواین نام و نام‌خانوادگی خودتون رو که در متغیرهای جداگانه‌ای ذخیره شده‌اند رو توی یه متغیر جدید بریزین و در واقع یه رشته جدید از اونا بسازین. برای این منظور باید از عملگر + کمک بگیرین. به مثال زیر توجه کنید:

first_name = ‘ali’
last_name = ‘ahmadi’
full_name = first_name + last_name
print(full_name)

اگه برنامه رو اجرا کنید با چنین خروجی‌ای مواجه میشین:

aliahmadi

خب همون‌طور که می بینید یه خورده خوانایی این عبارت سخته و بهتر بود که بین نام و نام خانوادگی یه فاصله باشه. برای این منظور میتونید در متغیر first_name بعد از کلمه ali یه فاصله ایجاد کنید و تغییرات رو ذخیره و کدتون رو اجرا کنید.
برای اینکه بخواین همین مثال بالا که نمایش نام و نام خانوادگی بود رو با ساختار قشنگ تری بنویسید می‌تونید یه تغییر تو کد بالا بدین. به این صورت که مقدار full_name رو عوض کنید‌. به مثال زیر دقت کنید:

full_name = “Your first name is: “ + first_name + ”. Your last name is: “ + last_name

تغییرات رو ذخیره و برنامه رو اجرا کنید.
البته از یه راه دیگه‌ای هم میشه خروجی مشابهی تولید کرد و اون استفاده از تابع format هستش.

تابع format() - ورژن قدیمی

با یک مثال می تونیم طرز کار این تابع رو متوجه بشیم.

full_name = “Your first name is: {}. Your last name is: {}”.format(fist_name,last_name)

توضیح:
در مثال بالا مقدار نهایی full_name همون مقدار قبلی هستش ولی خب یه جور دیگه تعریف شده. همون‌طور که می‌بینید داخل نقل‌قول‌ها بعد از عبارت “Your ..” یه جفت آکلاد {} اومده و در آخر رشته هم دوباره آکلاد اومده. بعد از پایان رشته علامت نقطه . اومده به همراه تابع format که داخل اون تابع دو تا متغیر به نام های first_name و last_name اومده. حالا این تابع چیکار می کنه؟
این تابع به ترتیب به جای {} ها مقادیر fist_name و last_name رو قرار میده و اگه برنامه رو اجرا کنید. همون خروجی قبلی رو می بینید.

نکته:
این نسخه از تعریف تابع format ویژه ورژن‌های قدیمی پایتون هستش. در نسخه‌های جدید پایتون یه نوع دیگه هم از این تابع داریم که میشه اونو استفاده کرد. البته در نسخه‌های جدیدتر هم این تابع قدیمی کار می‌کنه.

تابع format() - ورژن جدید

اجازه بدین که مثال قبلی رو با استفاده از نوع جدید این تابع بازنویسی کنیم.

full_name = f“Your first name is: {first_name}. Your last name is: {last_name}”

ایجاد فاصله در رشته‌ها

گاهی اوقات ما تصمیم می‌گیریم که برای خوانایی نوشته‌هامون تو خروجی بین اونا فاصله ایجاد کنیم. اونم نه یکی بلکه چندتا!
و یا بعضی از اوقات ادامه‌ی رشته‌هامون از سطر جدیدی شروع بشن. 
در اینجا ما در رشته‌ها از یه سری کاراکترهای مخصوصی استفاده می‌کنیم که اصطلاحا بهشون escape میگن و با یه فرمت خاصی توی خروجی نشون داده میشن. در این مقاله قصد داریم که دو تا از اونها رو معرفی کنیم:

  • خط جدید – n\
  • فاصله تب – t\

کاراکترهای escape با \ یا بک اسلش شروع میشن و بعد از اونا یه حرفی میاد که نشون دهنده یه کاربرد خاصیه. ترجیح میدم که یه مثال رو اجرا کنید و خروجی رو با دقت بررسی کنید و متوجه بشین.

message = ‘Your name:Ali\tYour Last name: Ahmadi\nHow are you?’
print(message)

در نگاه اول شاید رشته‌تون یه جوری باشه و اصطلاحا بهم ریخته به نظر بیاد. اما بهتره که اونو اجرا کنید و خروجی رو بررسی کنید.
در ادامه متوجه میشین که در خروجی به جای t\ به اندازه ۴ تا فاصله یا یه تب داریم. و بعد از اون هم بعد از n\ ادامه‌ی رشته از خط جدید شروع شده.

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

حذف فاصله در رشته‌ها

در دنیای برنامه‌نویسی رشته با فضای خالی و فاصله با رشته‌ها بدون فاصله تفاوت داره. مثلا فرض کنید یه فرم ثبت‌نام قراره پردازش بشه و کاربر در انتهای فیلد بعد از وارد کردن یوزرنیم یه فاصله هم ایجاد میشه. تو این مواقع ما نیاز داریم که فاصله‌های اضافی اول یا آخر یه رشته رو حذف کنیم. از این رو از تابع strip استفاده می‌کنیم. مثال:

user_name = ‘ Ali ‘
print(user_name.strip())

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


منبع: آموزش پایتون به زبان ساده: رشته‌ها - وبسایت شخصی محمدحسین میثاق‌پور