فصل نهم آموزش پایتون مقدماتی - رشته ها (بخش اول) (انتشار: 1402/08/02)
رشتهها یکی از رایجترین انواع داده در پایتون هستند. همان طوری که در شکل (9-1) میبینید، ما میتوانیم آنها را به سادگی مابین کاراکترهای نقل قول ایجادکنیم. در فصل4 اشارهکردیم که برای این کار میتوان از تککوتیشن ویا جفتکوتیشن به شرطی که هر دو از یک نوع باشند، استفادهکرد.
9-1- دسترسی به رشتهها
زبان پایتون رشتهها را به عنوان دنبالهای از کاراکترها در نظر میگیرد. بنابراین میتوان خیلی راحت به زیر مجموعهای از هر رشته دسترسیداشت. همان گونه که در شکل (9-2) ملاحظه میکنید، تنها با مشخصنمودن اندیس کاراکترهای مورد نظر در رشته، از آنها یک زیر مجموعه تولید و استفادهکرد.
نتیجهی اجرای این قطعه کد را در شکل (9-3) مشاهده میکنید.
9-2- بهروز رسانی رشتهها
همانند شکل (9-4) شما میتوانید رشتهی موجود را با اختصاص مجدد آن به رشتهی دیگر بهروز کنید. مقدار جدید میتواند به مقدار قبلی اضافهشود ویا به طور کامل به یک رشته کاملا متفاوت تبدیلگردد.
وقتی این قطعه کد اجرا شود، خروجی آن به صورت شکل (9-5) خواهدبود.
9-3- کاراکترهای چاپنشدنی گریز
جدول (9-6) لیستی از کاراکترهای گریز ویا غیرقابل چاپ را به شما نشان میدهد. این کاراکترها را میتوان با استفاده از علامت "\ " و قراردادن در بین تک یا جفتکوتیشن به کار گرفت. اینها کاراکترهای ویژهای هستند که تاثیرات متفاوتی روی رشتهها دارند.
تعداد بیشتری از این علائم وجود دارد که به دلیل منسوخ شدن در نسخه 3 از ذکر آنها خودداری نمودیم.
9-4- عملگرهای ویژه
با فرض a برابر ’Hello’ و b برابر ’Python'، در شکل (9-7) به بررسی عملکرد این عملگرها میپردازیم.
9-5- عملگرهای قالببندی رشتهها
یکی از جالبترین ویژگیهای پایتون، عملگر % برای قالببندی رشتههاست. این عملگر به طور انحصاری برای رشتهها کاربرد دارد. عملکرد آن مشابه توابع خانواده printf در زبان C است. شکل (9-8) نمونهای از این کاربرد را نشان میدهد.
زمانی که چنین کدی اجرا میشود، خروجی آن همانند شکل (9-9) خواهدبود. همان طوری که میبینید در این قطعه کد، رشته Zara جایگزین علامت %s و عددصحیح 21 جایگزین علامت %d شدهاست.
حال در ادامهی بحث، لیستی از این عملگرها را در شکل (9-10) نمایشداده و بررسی خواهیمنمود. به دلیل این که در مبحث قبلی، نمونهای از آنها را نمایش و توضیحدادیم، از ذکر مثال جداگانه برای تک به تک این عملگرها خودداریکرده و فقط بهذکر نوع دادهای که هریک میتوانند جایگزین آن شوند، میپردازیم.
همچنین در شکل (9-11) لیستی از دیگر علامتها و قابلیتهای پشتیبانیشده توسط رشتههای پایتون را مشاهده میکنید.
برای درک بهتر این مطلب، نیاز به ذکر مثالهایی در مورد هر یک از آنها خواهیمداشت که آنها را در شکل (9-12) مشاهده مینمایید.
9-6- نقلقول یا کوتیشن سهتایی
اگر بخواهیم از یک متن چندخطی استفادهکنیم، کافیاست کل متن را مابین سه تککوتیشن ویا سه جفتکوتیشن متوالی قراردهیم. گفتنیاست که علاوهبر متن عادی میتوان از تمامی کاراکترهای گریز مانند فاصلهتب و خطجدید نیز استفادهنمود. نمونهای از این کاربرد را در شکل (9-13) مشاهده میکنید.
زمانی که این قطعه کد اجرا شود، نتیجه آن مانند شکل (9-14) خواهدشد. توجهکنید که چگونه کاراکترهایگریز، به صورتی که در خروجی دیده میشوند، تبدیل شدهاند. در این مثال از علامتهای \t برای ایجاد فاصلهی تب و \n برای ایجاد خط جدید استفاده شدهاست.
در رشتههای خام تمامی رشتهها آن گونه که نوشته شدهاند، در خروجی ظاهر میشوند. حتی کاراکترهای خاصی که با علامت \ شروع میشوند نیز در این نوع رشتهها همان طوری که نوشته شدهاند، ظاهر خواهندشد و هیچ عمل خاصی را انجام نخواهندداد. به عنوان مثال اگر در حالت عادی قطعه کد موجود در شکل (9-15) را اجرا نماییم، خروجی آن مانند شکل (9-16) خواهدشد. در شکل (9-6) اشارهشد که استفاده از عملگر \\ موجب تولید کاراکتر \ میشود.
حال اگر بخواهیم همین رشته را به صورت خام استفادهنماییم، کافیاست از یک حرف r قبل از کوتیشن استفادهنماییم. نمونهای از آنها را در شکل (9-17) میبینید.
برخلاف نتیجه مثال شکل (9-15)، در خروجی این قطعه کد، هر دو علامت \\ چاپ خواهندشد. بنابراین خروجی ما همانند شکل (9-18) میشود.
9-7- رشتههای یونیکد
رشتههای عادی داخل پایتون بهصورت کدهای اسکی هشت بیتی ذخیره میشوند، درحالیکه رشتههای یونیکد قابلیت ذخیره و نمایش بهصورت 16 بیت را دارند. اینامکان به ما اجازه میدهد تا طیف گستردهتری از کاراکترهای متعدد و خاص بسیاری از زبانهای دنیا را به کار ببریم. همان گونه که در شکل (9-19) مشاهده میکنید، برای این کار کافیاست از حرف u به عنوان پیشوند رشتههای یونیکد استفادهنماییم.
همان طوری که حدس زدهاید، خروجی این قطعه کد به صورت شکل (9-20) نمایان میشود.
برای اینکه مطلب زیاد طولانی نباشه، این فصل رو در قالب چند بخش ارائه دادیم. با ما همراه باشین.
نظرات خوانندگان نوشته
نظری در این مورد دارید؟ خوشحال میشیم اون رو برامون ارسال کنید.