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

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

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش فایل ها و رشته ها در برنامه نویسی شی گرا در پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

رشته ها محبوب ترین انواع داده هستند که در هر زبان برنامه نویسی مورد استفاده قرار می گیرند. چرا؟ از آنجا که ما، متن را بهتر از اعداد می فهمیم، بنابراین در نوشتن و صحبت کردن از متن و کلمات استفاده می کنیم، به طور مشابه در برنامه نویسی نیز از رشته ها استفاده می کنیم. در رشته، ما متن را تجزیه و تحلیل می کنیم. معانی متن را تجزیه و تحلیل می کنیم و داده کاوی انجام می دهیم – و همه این داده ها متن استفاده شده توسط انسان است. رشته در پایتون تغییر ناپذیر است.

دستکاری رشته ها در پایتون

در پایتون، رشته را می توان به روش های مختلف علامت گذاری کرد، با استفاده از  نقل قول تکی (‘) ،  نقل قول دو گانه (“) یا حتی نقل قول سه گانه (‘ ‘) در مورد رشته های چند خطی.

>>> # String Examples
>>> a = "hello"
>>> b = ''' A Multi line string,
Simple!'''
>>> e = ('Multiple' 'strings' 'togethers')

 

دستکاری رشته بسیار مفید است و در همه زبانها بسیار مورد استفاده قرار می گیرد. اغلب، برنامه نویسان ملزم به شکستن رشته ها و بررسی دقیق آنها هستند.

رشته ها را می توان به صورت (کاراکتر به کاراکتر) تکرار، برش داده یا به هم متصل کرد. نحو همانند لیست ها است.

کلاس str دارای روشهای متعددی است تا بتواند رشته ها را راحت تر انجام دهد. دستورات dir و help نحوه استفاده از آنها را در مترجم پایتون ارائه می دهد.

در زیر برخی از متدهای متداول رشته ای که استفاده می کنیم آورده شده است.

 

متد و توضیحات
۱ ()isalpha

بررسی می کند که آیا همه کاراکترها حروف هستند

۲ ()isdigit

کاراکتر های رقمی را بررسی می کند

۳ ()isdecimal

کاراکتر های اعشاری را بررسی می کند

۴ ()isnumeric

شخصیت های عددی را بررسی می کند

۵ find

بالاترین شاخص زیر رشته ها را برمی گرداند

۶ ()istitle

بررسی رشته های دارای عنوان

۷ ()join

یک رشته متصل شده را برمی گرداند

۸ ()lower

رشته کوچک را برمی گرداند

۹ upper

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

۱۰ ()partion

یک تاپل برمی گرداند

۱۱ ()bytearray

آرایه ای با اندازه بایت داده شده را برمی گرداند

۱۲ ()enumerate

یک شی شمارش شده را برمی گرداند

۱۳ ()isprintable

کاراکتر قابل چاپ را بررسی می کند

 

>>> str1 = 'Hello World!'
>>> str1.startswith('h')
False
>>> str1.startswith('H')
True
>>> str1.endswith('d')
False
>>> str1.endswith('d!')
True
>>> str1.find('o')
۴
>>> #Above returns the index of the first occurence of the character/substring.
>>> str1.find('lo')
۳
>>> str1.upper()
'HELLO WORLD!'
>>> str1.lower()
'hello world!'
>>> str1.index('b')
Traceback (most recent call last):
   File "<pyshell#19>", line 1, in <module>
      str1.index('b')
ValueError: substring not found
>>> s = ('hello How Are You')
>>> s.split(' ')
['hello', 'How', 'Are', 'You']
>>> s1 = s.split(' ')
>>> '*'.join(s1)
'hello*How*Are*You'
>>> s.partition(' ')
('hello', ' ', 'How Are You')
>>>

 

 

آموزش قالب بندی رشته در پایتون

در Python 3.x قالب بندی رشته ها تغییر کرده است، اکنون منطقی تر و انعطاف پذیرتر است. قالب بندی را می توان با استفاده از روش ()format  یا علامت٪ (سبک قدیمی) در رشته قالب انجام داد.

رشته می تواند شامل متن تحت اللفظی یا فیلدهای جایگزین باشد که توسط براکت محدود شده اند {} و هر فیلد جایگزین ممکن است شامل فهرست عددی یک آرگومان موقعیتی یا نام یک آرگومان کلمه کلیدی باشد.

str.format(*args, **kwargs)

 

قالب بندی اولیه

>>> '{} {}'.format('Example', 'One')
'Example One'
>>> '{} {}'.format('pie', '3.1415926')
'pie 3.1415926'

 

مثال زیر اجازه می دهد تا ترتیب نمایش مجدد بدون تغییر آرگومان ها مرتب شود.

>>> '{1} {0}'.format('pie', '3.1415926')
'۳٫۱۴۱۵۹۲۶ pie'

 

مقدار را می توان در طول خاصی پر کرد.

>>> #Padding Character, can be space or special character
>>> '{:12}'.format('PYTHON')
'PYTHON '
>>> '{:>12}'.format('PYTHON')
' PYTHON'
>>> '{:<{}s}'.format('PYTHON',12)
'PYTHON '
>>> '{:*<12}'.format('PYTHON')
'PYTHON******'
>>> '{:*^12}'.format('PYTHON')
'***PYTHON***'
>>> '{:.15}'.format('PYTHON OBJECT ORIENTED PROGRAMMING')
'PYTHON OBJECT O'
>>> #Above, truncated 15 characters from the left side of a specified string
>>> '{:.{}}'.format('PYTHON OBJECT ORIENTED',15)
'PYTHON OBJECT O'
>>> #Named Placeholders
>>> data = {'Name':'Raghu', 'Place':'Bangalore'}
>>> '{Name} {Place}'.format(**data)
'Raghu Bangalore'
>>> #Datetime
>>> from datetime import datetime
>>> '{:%Y/%m/%d.%H:%M}'.format(datetime(2018,3,26,9,57))
'۲۰۱۸/۰۳/۲۶٫۰۹:۵۷'

 

رشته های یونیکد 

رشته ها به عنوان مجموعه ای از شخصیت های تغییر ناپذیر یونیکد. رشته های یونیکد فرصتی برای ایجاد نرم افزار یا برنامه هایی فراهم می کند که در همه جا کار می کند زیرا رشته های یونیکد می توانند هر کاراکتر ممکن را نشان دهند نه فقط کاراکترهای ASCII.

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

آموزش تبدیل متن به بایت در پایتون

تبدیل یک رشته به شیء بایت، کدگذاری نامیده می شود. اشکال متعددی برای کدگذاری وجود دارد که رایج ترین آنها عبارتند از: JPEG ، MP3 ، WAV ، ASCII ، UTF-8 و غیره همچنین این (کدگذاری) فرمت نمایش صوت ، تصاویر ، متن و غیره در بایت است.

این تبدیل از طریق ()encode امکان پذیر است. از تکنیک کدگذاری به عنوان آرگومان استفاده می کند. به طور پیش فرض، ما از تکنیک UTF-8 استفاده می کنیم.

>>> # Python Code to demonstrate string encoding 
>>> 
>>> # Initialising a String 
>>> x = 'TutorialsPoint' 
>>> 
>>> #Initialising a byte object 
>>> y = b'TutorialsPoint'
>>> 
>>> # Using encode() to encode the String >>> # encoded version of x is stored in z using ASCII mapping 
>>> z = x.encode('ASCII') 
>>> 
>>> # Check if x is converted to bytes or not 
>>> 
>>> if(z==y): 
   print('Encoding Successful!') 
else: 
   print('Encoding Unsuccessful!') 
Encoding Successful!

 

آموزش تبدیل بایت به متن در پایتون

تبدیل بایت به متن رمزگشایی نامیده می شود. این از طریق ()decode پیاده سازی می شود. اگر بدانیم کدام کد برای کدگذاری استفاده می شود، می توانیم یک رشته بایت را به یک رشته کاراکتر تبدیل کنیم.

بنابراین رمزگذاری و رمزگشایی فرایندهای معکوس هستند.

>>> 
>>> # Python code to demonstrate Byte Decoding 
>>> 
>>> #Initialise a String 
>>> x = 'TutorialsPoint' 
>>> 
>>> #Initialising a byte object 
>>> y = b'TutorialsPoint' 
>>> 
>>> #using decode() to decode the Byte object 
>>> # decoded version of y is stored in z using ASCII mapping 
>>> z = y.decode('ASCII')
>>> #Check if y is converted to String or not 
>>> if (z == x): 
   print('Decoding Successful!') 
else: 
   print('Decoding Unsuccessful!') Decoding Successful! 
>>>

 

آموزش فایل ورودی/خروجی در پایتون

سیستم عامل ها فایل ها را به صورت دنباله ای از بایت ها نشان می دهند، نه متن.

فایل محل نامگذاری شده روی دیسک برای ذخیره اطلاعات مربوطه است. برای ذخیره دائمی داده ها در دیسک شما استفاده می شود.

در پایتون، عملیات فایل به ترتیب زیر انجام می شود.

  • یک فایل را باز کنید
  • روی یک فایل (عملیات) بخوانید یا بنویسید. یک فایل را باز کنید
  • فایل را ببندید.

پایتون جریان ورودی (یا خروجی) بایت ها را با رمزگشایی مناسب (یا رمزگذاری) فراخوانی می کند تا بتوانیم مستقیماً با اشیاء str برخورد کنیم.

باز کردن یک فایل

پایتون تابع توکار ()open برای باز کردن یک فایل دارد. این یک شیء فایل ایجاد می کند، که یک دسته نیز نامیده می شود زیرا برای خواندن یا اصلاح فایل بر این اساس استفاده می شود.

>>> f = open(r'c:\users\rajesh\Desktop\index.webm','rb')
>>> f
<_io.BufferedReader name='c:\\users\\rajesh\\Desktop\\index.webm'>
>>> f.mode
'rb'
>>> f.name
'c:\\users\\rajesh\\Desktop\\index.webm'

 

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

 

منبع.

 

 

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

  1. آموزش برنامه نویسی شی گرا در پایتون
  2. آموزش مقدماتی برنامه نویسی شی گرا در پایتون
  3. آموزش راه اندازی محیط برنامه نویسی شی گرا در پایتون
  4. آموزش ساختار داده برنامه نویسی شی گرا در پایتون
  5. آموزش بلوک ها در برنامه نویسی شی گرا در پایتون
  6. آموزش میانبرها در برنامه نویسی شی گرا در پایتون
  7. آموزش وراثت و چند شکلی در برنامه نویسی شی گرا در پایتون
  8. آموزش الگوی طراحی در برنامه نویسی شی گرا در پایتون
  9. آموزش ویژگی های پیشرفته در برنامه نویسی شی گرا در پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه