طول رشته
برای اینکه بفهمیم یک رشته از چند کارکتر تشکیل شده است، میتوان از تابع len استفاده کرد. این تابع طول رشته را نمایش میدهد.
text = 'Codebaz.dev'
length = len(text)
print(length) # خروجی: 11Indexing
دسترسی به یک کارکتر خاص از یک رشته بر اساس ایندکسِ آن را indexing میگویند. مقدار index برای اولین کارکتر برابر 0، برای دومین کارکتر برابر 1 و … است.

برای گرفتن دومین، پنجمین و هشتمین رشته از کارکتر از این رشته از کد زیر استفاده میکنیم.
codebaz_dev = 'CODEBAZ.DEV'
print(codebaz_dev[1]) # O
print(codebaz_dev[4]) # E
print(codebaz_dev[7]) # .در مثال بالا، طول عبارت CODEBAZ.DEV را میدانستیم. به همین دلیل مشخص بود که ایندکس آخرین کارکتر 10 است. اما اغلب پیش میآید که طول رشته را نمیدانیم چون قرار است توسط کاربر مقدار دهی شده یا بر اساس شرایطی مقدار دهی شود. در این شرایط که طول رشته را نمیدانیم، برای دسترسی به آخرین کارکتر میتوانیم به شکل زیر عمل کنیم.
text = input('Write something: ')
index = len(text) - 1
print(text[index])برای گرفتن رشته یکی مانده به آخر نیز میتوانیم به شکل زیر عمل کنیم.
text = input('Write something: ')
index = len(text) - 2
print(text[index])این روش هرچند کار میکند، اما خوانایی خوبی ندارد. برای بهبود خوانایی در این نوع سناریو ها، ایندکسینگ منفی طراحی شده است.
Negative Indexing
در این نوع indexing، مقدار index برای آخرین کارکتر برابر -1 و برای کارکتر یکی مانده به آخر برابر -2 و … است.

با استفاده از این نوع indexing، برای دسترسی به آخرین و یکی مانده به آخرین کارکتر از یک رشته که طولش مشخص نیست، میتوانیم از کد زیر استفاده کنیم.
text = input('Write something: ')
print(text[-1], text[-2])Slicing
برخلاف indexing که امکان دسترسی به یک کارکتر را فراهم میسازد، slicing امکام دسترسی به چندین کارکتر پشت سر هم را فراهم میسازد.
مثلا برای دسترسی به کارکتر سوم تا هفتم عبارت CODEBAZ.DEV به شکل زیر عمل میکنیم.
codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[3:7])توجه داشته باشید که کارکتر سوم و چهارم و پنجم و ششم چاپ میشوند اما کارکتر هفتم چاپ نخواهد شد.
برای دسترسی به سه کارکتر اول به دو طریق میتوان عمل کرد.
codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[0:3])
print(codebaz_dev[:3])کد بالا نشان میدهد که خالی گذاشتن سمت چپ : مانند این است که آن را با 0 پر کنید.
همچنین برای دسترسی به ۳ کارکتر آخر به شکل زیر عمل میکنیم.
codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[-3:])توجه
برای گرفتن چند کارکتر آخر رشته، هیچ عددی در سمت راست : نباید قرار داد.
گام پیمایش
گام پیمایش به ما کمک میکند تا حروف یک رشته را با الگویی خاص استخراج کنیم. سینتکس (نحوه نوشتن) آن بسیار شبیه به slicing است تنها با این تفاوت که یک بخش به نام step به آن اضافه شده است.

این step مشخص میکند که کدام حروف از یک رشته استخراج شوند.
| مقدار step | وضعیت |
| 1 | همه کارکتر هایی که ایندکس شان مضربی از ۱ است (همه کارکتر ها) |
| 2 | همه کارکتر هایی که ایندکس شان مضربی از ۲ است (۰ و ۲ و ۴ و ۶ و …) |
| 3 | همه کارکتر هایی که ایندکس شان مضرفی از ۳ است (۰ و ۳ و ۶ و …) |
اکنون رشته زیر را در نظر بگیرید.

print('CODEBAZ.DEV'[::1]) # CODEBAZ.DEV
print('CODEBAZ.DEV'[::2]) # CDBZDV
print('CODEBAZ.DEV'[::3]) # CEA.
print('CODEBAZ.DEV'[2:8:1]) # DEBAZ.
print('CODEBAZ.DEV'[2:8:2]) # DBZ
print('CODEBAZ.DEV'[2:8:3]) # DAZاستِپ منفی
سعی کنید برای هر یک از start، end و step یک عدد منفی وارد کنید. نتیجه را بررسی کنید. چه اتفاقی میافتد؟