آشنا شدن با دستورات کلیدی مانند While، if و شرط های زنجیره ای elif به شما کمک می کند ایده اولیه برای نوشتن برنامه هایی کوچک جهت حل مسائل را به دست آورید. اما دانستن جزئیات و اصطلاحا “ریزه کاری ها” در برنامه نویسی می بایست به صورت دقیق تری به بخش های کلیدی پرداخت. قبلا با رشته ها آشنا شده ایم و می دانیم در پایتون به صورت string یا str تعریف می شوند. همچنین یاد گرفتیم با قرار دادن هر عبارت یا عددی در گیومه آن را به صورت رشته در آورده و سپس با دستور print به صورت خروجی در آورد. اما حالا با جزئیات تکمیلی بیشتری درباره رشته ها آشنا می شویم.
یک رشته نوعی دنباله است
در تعریفی ساده می توان رشته را دنباله ای از کاراکترها دانست. شما می توانید به هر کدام از این کاراکترها نیز به صورت جداگانه دسترسی داشته باشید. حالت زیر را در نظر بگیرید:
در این مثال ابتدا متغیر fruit به رشته banana نسبت داده می شود. در خط دوم letter متغیری است که کاراکتر شماره 1 از fruit را در خود جا داده. شاید تصور کنید اولین کاراکتر fruit (که معادل banana است) باید b باشد اما این طور نیست. از آنجا که شمارش کاراکترها از 0 شروع می شود در نتیجه کاراکتر شماره 1 که در براکت [] قرار گرفته a خواهد بود. توجه داشته باشید که می توانید هر کدام از کاراکترهای یک رشته را به وسیله قرار دادن شماره آن در براکت فراخوانی کنید اما این عدد نمی تواند اعشاری باشد. برای مثلا فراخوانی letter = fruit [2.5] یک خطای ساختاری خواهد بود. همچنین فراخوانی کاراکتری با عدد بیشتر از تعداد کاراکترهای یک رشته هم نتیجه خطا خواهد داشت.
len
len یک تابع پیش فرض در پایتون است که تعداد کاراکترهای یک رشته را نشان می دهد. باز هم می توانید مثال قبل را در نظر بگیرید:
خروجی این دستور عدد 6 خواهد بود زیرا banana دارای 6 کاراکتر (از شماره 0 تا شماره 5) است. تکنیکی که می توان اینجا به آن اشاره کرد استفاده از اندیس های منفی است. برای مثال اگر دستور fruit [-1] را اجرا کنید آخرین کاراکتر نمایش داده می شود و fruit [-2] کاراکتر ماقبل آخر را نشان می دهد.
حلقه for
در بسیاری از موارد کدهای پایتون در حال پردازش کاراکترهای یک رشته به صورت یک به یک هستند. معمولا این کار از اولین کاراکتر شروع شده و به ترتیب کاراکترهای بعدی نیز انتخاب می شوند. این روند پیمایش یا traversal نام دارد. یکی از راه های به کارگیری تکنیک پیمایش استفاده از حلقه while است:
اجرای این حلقه در هر خط یکی از کاراکترهای fruit را چاپ می کند. شرط اجرای حلقه هم کوچکتر بودن عدد index از len(fruit) یا عدد تعداد کاراکترهای fruit است. اما می توان به روش دیگری با استفاده از حلقه for نیز این کار را انجام داد.
از آنجا که char برای پایتون دارای معنی است هر کاراکتر fruit ابتدا در char قرار داده می شوند و تا زمانی که کاراکتری باقی نماند چاپ می شوند. نتیجه این کار مشابه روش قبل است اما با دستور کمتری اجرا شده و سرعت بیشتری دارد.
دیدگاهتان را بنویسید