دانلود نوع دادهای مرکب در پایتون
تا کنون ۳ نوع دادهای دیدهایم: int،floatو string (اعداد صحیح، اعشاری و رشتهها). رشته ها از لحاظ کیفی با دو نوع دیگر متفاوتند.
زیرا آنها از قطعات کوچکتری به نام کاراکتر ساخته شدهاند.
انواع دادهای که از قسمتهای کوچکتر تشکیل شدهاند، نوع دادهای مرکب نامیده میشوند.
بسته به عملی که انجام میدهیم ممکن است نوع دادهای مرکب را به عنوان دادهای واحد تلقی کنیم.
یا اینکه بخواهیم به اجزای آن دسترسی داشته باشیم.
این دوگانگی مفید است.
عملگر براکت در پایتون یک کاراکتر واحد را از یک رشته انتخاب میکند
عبارت [۱] fruit کاراکتر شماره ۱ را از fruit انتخاب میکند. متغیر letter به نتیجه اشاره میکند.
وقتی letter را نمایش میدهیم غافلگیر میشویم.
حرف اول “banana”، “a” نیست، مگر اینکه شما یک متخصص کامپیوتر باشید.
به دلایلی متخصص کامپیوتر همواره شمارش را از صفر شروع میکنند.
صفرمین حرف “banana” “b”است، یکمین حرف “a” و دومین حرف”n”.
اگر صفرمین حرف یک رشته را میخواهید،تنها عدد ۰ ویا هر عبارت با مقدار ۰ را در براکت قرار دهید:
عبارت داخل براکت اندیس نامیده میشود.
یک اندیس عضوی از یک مجموعه مرتب را مشخص میکند که در این مثال مجموعه کاراکترهای درون رشته مورد نظر است.
ااندیس مشخص میکند که در این مثال مجموعه کاراکترهای درون رشته مورد نظر است.
اندیس مشخص میکند که شما کدام کاراکتر را انتخاب کرده اید و میتواند هرعبارت صحیحی باشد.
طول رشته در پایتون
تابع len تعداد کاراکترهای یک رشته را برمیگرداند:
برای گرفتن آخرین حرف یک رشته ممکن است آزمایش چنین عملی وسوسه انگیز باشد:
این کد کار نمیکند و موجب خطای زمان اجرای زیر میشود:
علت وجد این خطا عدم وجود حرف ششم در رشته “bananaگ است.
از آنجا که ما شمارش را از صفر آغاز کرده ایم.
شش حرف این رشته از ۰ تا ۵ شماره گذاری شدهاند.
به منظور گرفتن آخرین کاراکترمجبوریم یک واحد از length کم کنیم:
روش دیگر این است که ما میتوانیم از اندیسهای منفی که عمل شمارش را از انتهای رشته انجام میدهند، استفاده کنیم.
عبارت [-۱] fruit آخرین حرف را باز میگرداند،[-۲] fruit دومین حرف از آخر و ….
پیمایش و حلقه for در پایتون
بسیاری از محاسبات شامل پردازش کاراکترهای یک رشته به صورت جداجدا است.
این محاسبات از ابتدای رشته آغاز میشوند، کاراکترها را یکی یکی و به ترتیب انتخاب میکنند.
عملی روی آن انجام میدهند و این کار را تا انتها رشته ادامه میدهند.
این الگوی پردازش را پیمایش میگویند.
یکی از راههای پیادهسازی پیمایش استفاده از یک دستور while در پایتون است
این حلقه طول رشته را میپیماید و هرخط آن را در یک خط نمایش میدهد.
شرط حلقه به صورت (fruit) میشود و بدنه حلقه دیگر اجرا نمیگردد.
آخرین اندیس قابل دسترسی کاراکتری با اندیس len(fruit)-1 است که آخرین کاراکتر درون رشته میباشد.
تمرین: تابعی بنویسید که رشتهای را به عنوان آرگومان بگیرد و حرف آن را از انتها در هر خط چاپ کند.
استفاده از یک اندیس جهت پیمایش مجموعه ای از مقادیر به حدی رایج است که پایتون راه دیگری را با نحوه نگارش سادهتر تدارک دیده است:
در هر بار اجرای حلقه، کاراکتر بعدی رشته به متغیر CHAR اختصاص داده میشود و حلقه تا زمانی که هیچ کاراکتری باقی نمانده باشد ادامه مییابد.