فهرست مندرجات[پنهان شدن][نمایش]
به سومین سخنرانی در دوره تصادف خوش آمدید.
در این سخنرانی نحوه برخورد با رشته ها در پایتون را یاد می گیریم. پاپ کورن خود را آماده کنید و محکم بنشینید.
رشته
ابتدا، بیایید در مورد نقل قول ها صحبت کنیم و سردرگمی که ممکن است در پایتون ایجاد کنند را از بین ببریم.
همانطور که قبلاً گفته شد، میتوانیم از هر دو نقل قول تکی و دوبل بعد از یک تابع در پایتون استفاده کنیم. یک ابزار خاص از این وجود دارد. فرض کنید می خواهید چیزی شبیه به این چاپ کنید.
print('This is Shahbaz's computer')
حالا در عبارت بالا، همه چیز بعد از نقل قول دوم مانند "شهباز" توسط مفسر پایتون ناشناس می ماند زیرا پایتون نقل قول دوم را به عنوان انتهای رشته می گیرد. در این صورت، میخواهید از کوتیشنهای دوتایی استفاده کنید تا رشته را به صورت زیر اعلام کنید:
print("This is Shahbaz's computer")
این را می توان برعکس نیز اعمال کرد و اگر در داخل رشته کوتیشن های دوگانه وجود داشت می توانیم از نقل قول های تکی استفاده کنیم. به عنوان مثال
print('This "computer" belongs to Shahbaz')
حال اگر میخواهید رشتهای را چاپ کنید که چندین خط را در بر میگیرد، باید از نقل قولهای سهگانه برای محصور کردن رشته استفاده کنید. بسته به محتوای رشته، این نقل قول ها نیز می توانند تک یا دوتایی باشند. مثلا:
حال فرض کنید می خواهید یک کاراکتر خاص را از رشته چاپ کنید. چگونه می خواهید انجام دهید؟
مفسر پایتون کاراکترهای رشته را به این صورت ایندکس می کند:
همانطور که در ترمینال می بینید، فقط 'h' چاپ شده است. دلیلش این است که ما تنها کاراکتر سوم رشته خود را برای چاپ روی ترمینال با نوشتن 3 در پرانتز نوشتن بعد از متغیر انتخاب کرده ایم. مفسر پایتون نیز برای ساده سازی رشته های بزرگ، کاراکترها را به صورت منفی فهرست می کند. به این معنی که '-1' آخرین عدد در رشته و غیره خواهد بود. توجه داشته باشید که فاصله ها ایندکس نشده اند، به این معنی که رشته فوق فقط 21 فاصله نمایه شده خواهد داشت.
همچنین می توانید یک سری کاراکتر از رشته را انتخاب کنید. به عنوان مثال
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
این برنامه "Pyt" را در ترمینال چاپ می کند. شاخص 3 از این امر مستثنی است.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
به همین ترتیب، اگر نمایه پایانی را ارائه نکنیم، پایتون کل رشته را بعد از اولین فهرست چاپ می کند. خروجی این برنامه 'Thon Course by Shahbaz' خواهد بود. این برعکس صدق می کند. یعنی اگر اولین فهرست را از دست بدهیم، کل رشته از ابتدا تا آخرین نمایه تعریف شده چاپ می شود.
برنامهای که فقط دو نقطه در براکتهای نمایهسازی داشته باشد، رشته کاملی را در ترمینال ایجاد میکند.
ورزش
در اینجا یک تمرین جالب است
برنامه ای بنویسید که فاصله شاخص [1:-1] را تعریف کند. به نظر شما خروجی چه خواهد بود. خودت آن را امتحان کن.
رشته های قالب بندی شده
رشته های قالب بندی شده به ویژه در موقعیت هایی که به صورت پویا متنی را با متغیرهای خود تولید می کنید مفید هستند. بگذار نشانت دهم.
فرض کنید دو متغیر نام و نام خانوادگی داریم.
first_name = 'Shahbaz'
last_name = 'Bhatti'
اکنون میخواهیم «شهباز [بهاتی] رمزگذار است» را در ترمینال چاپ کنیم. چگونه این کار را انجام دهیم؟ متغیر سومی را به این صورت معرفی می کنیم:
message = 'first_name + ' [' + last_name + '] is a coder'
حال اگر این برنامه را پرینت و اجرا کنیم، در ترمینال «شهباز [بهاتی] رمزگذار است» دریافت می کنیم.
در حالی که این رویکرد کاملاً کار میکند، ایدهآل نیست زیرا با پیچیدهتر شدن متن ما، تجسم خروجی سختتر میشود. اینجا جایی است که ما از رشته های فرمت شده استفاده می کنیم، آنها تجسم خروجی را برای ما آسان تر می کنند.
بیایید متغیر سوم 'پیام' را تغییر دهیم و یک رشته فرمت شده معرفی کنیم. برای تعریف رشته های فرمت شده، رشته های خود را با یک "f" پیشوند قرار دهید و سپس از پرانتزهای فرفری برای درج پویا مقادیر در رشته های خود استفاده کنید. برنامه ما چیزی شبیه به این خواهد بود:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
برای تعریف رشته های فرمت شده، رشته های خود را با یک F پیشوند قرار دهید و سپس از پرانتزهای فرفری برای درج پویا مقادیر در رشته های خود استفاده کنید.
کارهای جالبی که می توانید با رشته های پایتون انجام دهید
من قصد دارم کارهای بسیار جالبی را به شما نشان دهم که می توانید با رشته های پایتون انجام دهید.
1. تعداد کاراکترها در یک رشته
پس بیایید با تعریف یک متغیر شروع کنیم:
message = 'Shahbaz Bhatti is a Coder '
حالا اگر بخواهم تعداد کاراکترهای رشته بالا را تعیین کنم، یک تابع داخلی "len" در پایتون وجود دارد. فقط متغیر را با این تابع مانند این چاپ کنید
print(len(message))
این به ویژه زمانی مفید است که ورودی از کاربر دریافت می کنید. به عنوان مثال، متوجه شده اید که وقتی فرمی را به صورت آنلاین پر می کنید، هر فیلد ورودی اغلب دارای محدودیت است. به عنوان مثال، شما ممکن است 50 کاراکتر برای نام خود داشته باشید، بنابراین با استفاده از این تابع "len" می توانیم محدودیتی در تعداد کاراکترها در یک فیلد ورودی اعمال کنیم.
2. تبدیل کاراکترهای یک رشته به حروف بزرگ یا کوچک
ما می توانیم از طریق عملگر نقطه به توابع مرتبط با رشته دسترسی داشته باشیم. شما می توانید نام متغیر خود را تایپ کنید و با قرار دادن یک نقطه در مقابل آن، لیست تمام این توابع را مشاهده کنید.
حالا به عبارت دقیق تر، شما به این توابع به عنوان متدها اشاره می کنید، این یک اصطلاح در برنامه نویسی شی گرا است که می خواهیم در آینده به آن نگاه کنیم، اما در حال حاضر، چیزی که من از شما می خواهم حذف کنید، این است که وقتی یک تابع متعلق به چیز دیگری است یا مخصوص نوعی شی است، ما به آن تابع به عنوان یک روش اشاره می کنیم. در این حالت از روش upper برای تبدیل رشته به حروف بزرگ استفاده خواهیم کرد.
از آنجایی که این تابع مختص یک رشته است، از آن به عنوان یک متد یاد می کنیم. در مقابل "len" و "print" توابع همه منظوره هستند، آنها به رشته ها یا اعداد یا انواع دیگر اشیاء تعلق ندارند. این تفاوت اساسی بین یک تابع و یک روش است.
حالا بیایید این را چاپ کنیم.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
و می توانیم ببینیم که رشته خود را با حروف بزرگ گرفته ایم. به طور مشابه، ما یک روش کوچک برای تبدیل رشته به حروف کوچک داریم. همچنین میتوانید از روش «title» برای نوشتن حروف بزرگ هر کلمه از رشته استفاده کنید.
توجه داشته باشید که این روش رشته اصلی ما را تغییر نمی دهد یا تغییر نمی دهد. در واقع یک رشته جدید ایجاد می کند و آن را برمی گرداند.
3. دنباله کاراکترهای یک رشته را پیدا کنید
بیایید روش دیگری را برای یافتن شاخص یک کاراکتر خاص در رشته امتحان کنیم.
نوع:
message.find('b')
بعد از همان متغیر و چاپ آن. ایندکس اولین وقوع حرف 'b' در رشته را چاپ می کند که در این مورد 4 است.
توجه داشته باشید که این متد به حروف کوچک و بزرگ حساس است و در صورتی که کاراکتر در رشته پیدا نشود -1 را برمی گرداند. همچنین می توان از آن برای دنباله ای از شخصیت ها استفاده کرد.
برای مثال برنامه زیر:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
مقدار "20" را برمی گرداند زیرا دنباله "coder" از شاخص 20 شروع می شود.
4. جایگزینی یک کاراکتر در یک رشته
شما می توانید از روش "replace" برای جایگزینی یک کاراکتر یا دنباله ای از کاراکترها در یک رشته استفاده کنید. بیایید این را در عمل ببینیم.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
این برنامه به جای کلمه “coder” با “programmer” آن را در ترمینال چاپ می کند.
5. وجود یک کاراکتر در یک رشته را بررسی کنید
اکنون مواردی وجود دارد که می خواهید وجود یک کاراکتر یا دنباله ای از کاراکتر را در رشته خود بررسی کنید. در این مواقع، می توانید از فرمت عبارت خود به این صورت استفاده کنید:
message = 'Shahbaz Bhatti is a coder'
چاپ ("python" در پیام)
حالا این یک تابع بولی برمی گرداند. یعنی "درست" یا "نادرست". مثل این؛
لطفاً توجه داشته باشید که همه این روش ها و توابع به حروف کوچک و بزرگ حساس هستند.
بسته شدن!
رشته های خیلی چیزهای بیشتری وجود دارد که با پیشروی به تدریج آنها را یاد خواهیم گرفت. در ادامه، انجام عملیات حسابی در پایتون را یاد خواهیم گرفت.
پاسخ دهید