آشنایی با نحوه ی استفاده از استرینگ ها در زبان برنامه نویسی پایتون

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
بین تمام انواع داده ها، داده های از جنس Text Sequences یا داده های متنی -شامل حروف، لغات، جمله ها، و متن های طولانی- تنها مواردی هستند که ما انسان ها آن ها را به راحتی درک می کنیم اما کامپیوترها هیچ گونه درکی از آن ها ندارند. با این وجود، به دلیل آن که ما استفاده ی گسترده ای از این داده ها می کنیم این امکان در زبان های برنامه نویسی از جمله پایتون فراهم شده است تا این نوع داده ها را به صورت دنباله ای از کاراکترها از طریق کی بورد در کامپیوتر وارد کنیم. موارد استفاده ی داده های متنی در دنیای برنامه نویسی بسیار گسترده است. به طور مثال، زمانی که شما قصد دارید وارد پنل کاربری خود در سکان آکادمی شوید، می بایست نام کاربری و رمز عبور خود را در فرم مخصوص این کار وارد کنید که هر دوی آن ها از جنس داده های متنی هستند. و یا فرض کنید که در این آموزش سوالی برای شما پیش می آید و نیاز دارید تا در بخش نظرات این قسمت از آموزش سوال خود را بپرسید! آنچه در فیلد مخصوص این کار وارد می سازید، همگی از جنس داده های متنی هستند.

در پاسخ به این سوال که کامپیوترها چگونه این داده های متنی را شناسایی می کنند، بایستی گفت که کامپیوتر ها تنها با نسبت دادن یک عدد منحصر به فرد به هر کاراکتر در حافظه ی خود آن ها را شناسایی می کنند. بنابراین باید ببینیم چطور می توانیم داده های متنی را در پایتون شبیه سازی کنیم و آن ها را در اختیار مفسر این زبان قرار دهیم. داده های متنی در پایتون نمونه هایی از کلاس str یا String هستند. این نوع داده ها را به سه صورت می توان به مفسر پایتون معرفی کرد:

- به صورت متنی که بین دو علامت ' قرار می گیرد مانند: 'این متن می تواند حاوی علامت نقل قول "دوتایی" باشد.'
- به صورت متنی که بین دو علامت " قرار می گیرد مانند: "این متن می تواند حاوی علامت نقل قول 'تک' باشد. "
- به صورت متنی که بین دو علامت ''' یا """ قرار می گیرد مانند: '''سه علامت نقل قول تکی''' یا """ سه علامت نقل قول دوتایی"""

در حالت معمول مفسر پایتون فضاهای خالی بین خطوط کد را نادیده می گیرد، اما اگر این فضاهای خالی درون یک رشته ی متنی قرار بگیرند مفسر آن ها را به حساب می آورد. پیش از این هم از دیدیم که چطور از دستور ()print برای چاپ یک رشته ی متنی روی صفحه ی نمایش استفاده می کنیم. می خواهیم جمله ی !Welcome to Sokanacademy.com را به صورت یک داده ی متنی در اختیار مفسر پایتون قرار دهیم تا آن را در قالب دو خط در خروجی چاپ کند. اجازه دهید برای این کار بعد از وارد کردن عبارت Welcome to دکمه ی Enter را وارد کنیم تا ادامه ی جمله را در خط دوم وارد کنیم. نتیجه ی خروجی را در حالت های مختلف وارد کردن داده های متنی در زیر می بینیم:

>>> print("""Welcome to
Sokanacademy.com!""")
Welcome to
Sokanacademy.com!

>>> print('''Welcome to
Sokanacademy.com!''')
Welcome to
Sokanacademy.com!

>>> print('Welcome to
SyntaxError: EOL while scanning string literal

>>> print("Welcome to
SyntaxError: EOL while scanning string literal

>>>
همان طور که می بینید در حالتی که متن را بین علامت های نقل قول سه تایی قرار می دهیم مفسر به راحتی متن را در چند خط چاپ می کند، اما در حالتی که از علامت های نقل قول تکی یا دوتایی استفاده می کنیم با خطا در برنامه مواجه می شویم و مفسر امکان ادامه ی کار را برای وارد کردن متن به ما نمی دهد. در چنین مواردی می بایست از استرینگ های کنترلی استفاده کنیم.

استرینگ های کنترلی
یک استرینگ کنترلی ترکیبی از بعضی کاراکترها با کاراکتر \ که به کاراکتر گریز یا کاراکتر کنترلی معروف است می باشد. معمولاً کاراکترهای داخل یک استرینگ دقیقاً به همان صورتی که در میان علامت های نقل قول ظاهر می شوند در خروجی چاپ می شوند. با این حال وارد کردن استرینگ های کنترلی در متن مد نظر باعث می شود که در زمان استفاده از ()print کاراکترهای خاصی در خروجی چاپ شود که در متن به طور مستقیم از آن ها استفاده نشده است. به طور مثال خروجی بعضی از استرینگ های کنترلی به شرح زیر هستند:

n\ مسئول ایجاد یک سطر جدید است مانند:

>>> print("Welcome to\nSokanacademy.com!")
Welcome to
Sokanacademy.com!
"\ برای چاپ کردن علامت " مورد استفاده قرار می گیرد. فرض کنید بخواهیم متنی همچون "!Welcome to "Sokanacademy.com را در خروجی چاپ کنیم. اگر این استرینگ یا رشته را در میان یک علامت نقل قول دوتایی وارد کنیم خروجی به صورت زیر خواهد بود:

>>> print("Welcome to "Sokanacademy.com!"")
SyntaxError: invalid syntax
می بینید که با یک خطا مواجه شدیم، چون مفسر علامت های " را به ترتیب با هم جفت می کند و کاراکترهای بین آن ها را به صورت یک رشته ی متنی به حساب می آورد. در مثال بالا علامت " اول و دوم با هم و علامت " سوم و چهارم نیز با هم جفت می شوند. در این صورت کاراکترهای !Sokanacademy.com بین هیچ علامت نقل قولی قرار نمی گیرند و مفسر پایتون نمی تواند به عنوان داده نوع آن را تشخیص دهد، بنابراین وجود خطا را در میان کدها اعلام می کند. مثال بالا را با استفاده از کاراکتر کنترلی "\ تصحیح می کنیم:

>>> print("Welcome to \"Sokanacademy.com!\"")
Welcome to "Sokanacademy.com!"
'\ برای چاپ علامت ' مورد استفاده قرار می گیرد و کاربرد آن مانند حالت قبل است. برای مثال:

>>> print('Welcome to \'Sokanacademy.com\'!')
Welcome to 'Sokanacademy.com'!
\\ برای چاپ خود علامت \ مورد استفاده قرار می گیرد. فرض کنید بخواهیم استرینگی همچون m\n را در خروجی چاپ کنیم. در حالت عادی مفسر با رسیدن به کاراکترهای ترکیبی n\ آن ها را به صورت یک استرینگ کنترلی در نظر می گیرد و مکان نمای صفحه نمایش را در ابتدای سطر بعد قرار می دهد. برای پیشگیری از این کار از استرینگ کنترلی \\ استفاده می کنیم:

>>> print("m\n")
m
>>> print("m\\n")
m\n
>>>
t\ برای ایجاد Tab مورد استفاده قرار می گیرد. به مثال زیر توجه کنید تا نحوه ی جدول بندی متنی را به صورت افقی توسط این استرینگ کنترلی در زمان چاپ ببینید:

>>> print("First\tSecond\tThird")
First Second Third
نکته
در IDLE اگر بعد از وارد کردن کاراکتر یکی از حروف الفبای انگلیسی کلید Tab را فشار دهید در پنجره ای لیستی از موارد پیش فرض که با آن حرف آغاز می شوند برای شما نمایش داده می شود که می توانید از میان آن ها یکی را انتخاب کنید. برای مثال با وارد کردن حرف p و به دنبال آن فشردن کلید Tab لیستی از توابع پیش فرض از جایی که اسامی آن ها با حرف p آغاز می شوند نمایش داده می شود که می توانید از میان آن ها تابع print را انتخاب کنید.
 

برخی موضوعات مشابه

بالا