پایتون برای همه | 31 | آبجکت و متد

پایتون برای همه پایتون 3
پیام مدیر: تولید محتوای خوب، نیاز به زمان، تخصص، و انرژی دارد و در یک کلام هزینه‌بر است. ما در ایلولا با نگارش، گردآوری و یا ترجمه‌ی دست اول مطالب از منابع موثق و قابل اتکاء، تلاش می‌کنیم تا محتوایی ارزشمند را عرضه کنیم. امیدواریم که از مقاله لذت ببرید!

عملگر in

کلمه‌ی in یک عملگر بولی است که دو رشته را می‌گیرد و True را اگر رشته‌ی اول به عنوان قسمتی از رشته‌ی دوم باشد، برمی‌گرداند.

مقایسه رشته

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

بقیه‌ی عملگرهای مقایسه برای مرتب کردن کلمات بر اساس الفبا می‌توانند کمک بزرگی به شما باشند:

رفتار مردم در مقایسه با پایتون در خصوص حروف بزرگ و کوچک متفاوت است. در پایتون تمام حروف بزرگ پیش از تمام حروف کوچک می‌آید:

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

متدهای رشته (string)

رشته‌ها یک مثال از آبجکت‌های پایتون به شمار می‌روند. یک آبجکت (شئ) شامل داده و متدها می‌شود. متد، توابعی است که در آبجکت به صورت توکاری‌شده قرار داده شده‌اند و برای تمام نمونه‌های آن آبجکت در دسترسند.

پایتون یک تابعی با نام dir دارد که لیست متدهای موجود در یک آبجکت را به نمایش می‌گذارد. تابع type نوع یک آبجکت را نشان می‌‌دهد و تابع dir متدهای موجود در آن آبجکت را.

تابع dir لیست متدها را نشان می‌دهد و در کنارش تابع help اطلاعات و اسناد ساده‌ای از یک متد را به نمایش می‌گذارد. اطلاعات بهتر از متدهای رشته را می‌توانید از اینجا بخونید:

لینک سند

فراخوانی یک متد، به مانند فراخوانی یک تابع است، یعنی متد هم آرگیومنت را می‌گیرد و مقداری را برمی‌گرداند؛ ولی متنِ این فراخوانی متفاوت است. برای فراخوانی متد، نامِ آن را به نام متغیر با یک نقطه بینشان می‌چسبانیم.

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

به جای استفاده از متن تابع که به صورت upper(word)‎ است، ما از متن مخصوص متد یعنی word.upper()‎ استفاده می‌کنیم.

این قالب که به آن «نمادِ نقطه» می‌گوییم، نام متد، upper، و نام رشته را مشخص کرده و متد را بر روی آن (در مثال ما متغیر word) اعمال می‌کند. پرانتزهای خالی به این معنی‌ست که این متد هیچ آرگیومنتی را دریافت نمی‌کند.

فراخوانی یک متد، invocation یا «احضار» خوانده می‌شود. در این مثال، ما می‌گوییم که upper را بر روی word احضار کردیم.

برای مثال، یک متد رشته به اسم find وجود دارد که جایگاه یک رشته را در یک رشته‌ی دیگر جستجو می‌کند:

در این نمونه، ما find را بر روی word احضار کرده و حرفی که در پی آن بودیم را به صورت پارامتر برایش فرستادیم.

متد find قادر به پیدا کردنِ زیررشته‌ها به مانند کاراکترهاست:

این متد می‌تواند آرگیومنت دوم را نیز دریافت کرده تا بداند که جستجو را از چه مکانی شروع کند:

یک کار شایع و رایج از بین بردن فاصله‌های خالی (فاصله یا tab یا خطوط جدید) از ابتدا و انتهای یک رشته با استفاده از متد strip است:

برخی متدها مثل startswith مقدارهای بولی را برمی‌گردانند:

خواهید فهمید که متد startswith به بزرگی و کوچکی حروف حساس است، به همین خاطر شاید بد نباشد که کل یک خط را گرفته و حروفش را به حروف کوچک تبدیل کرده و سپس بررسی را بر روی آن انجام دهید:

در مثال آخر، متد lower احضار شده و سپس از متد startswith استفاده کرده‌ایم. به این صورت متد startswith بر روی رشته‌ی جدید که تمام حروفش کوچک است عملیات را انجام می‌دهد. اگر مراقب ترتیبِ متدها باشید، حتی می‌توانید چند متد را به صورت ترکیبی در تنها یک عبارت احضار کنید:

تمرین ۴: یک متد رشته‌ به نام count وجود دارد که شبیه به تابعی که در مثال قبل نوشتیم عمل می‌کند. اسناد مرتبط با این متد را از لینک زیر بخوانید و سپس یک احضاریه بنویسد که تعداد تکرارِ حرف a در banana را برگرداند.

لینک سند

این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه می‌شود. شما می‌توانید با توجه به مفاد این گواهی از آن استفاده کنید.

مقاله را پسندیدید؟ ایلولا بدون نمایش تبلیغات و تحمیل هزینه‌ی غیرمستقیمِ نمایش آن‌ها به شما، با تکیه بر فروش مقالات اداره می‌شود. در صورتی‌که مقاله را مفید یافتید، لطفا هزینه‌ی آن را به یکی از دو روش زیر پرداخت کنید. ۱) با کلیک روی پرداخت آنلاین از طریق درگاه امن زرین‌پال آن را به مبلغ تنها ۵۰۰ تومان خریداری کنید، یا ۲) آن را از طریق آیکن‌های زیر برای یک نفر که احساس می‌کنید مقاله برای او جذاب است بفرستید! لطفا با حمایت خود به پربارتر شدن وب فارسی کمک کنید.

اولین نفری باشید که نظر می‌گذارد

پاسخ دهید

ایمیل شما نمایش داده نخواهد شد