با سلام، داخل قسمت ۱ از چگونگی تعریف یه متغیر String صحبت کردم. تو این قسمت می خوام به صورت مفصل به String در پایتون بپردازم.
با توجه به اینکه قبول دارید هممون در پایتون تقریبا از Stringها بیشترین استفاده را داریم، به همین جهت سعی می کنم بخش string را به صورت کامل پوشش بدم.
برای مرور و اینکه بحث کامل باشه صرفا با مثال روش تعریف متغیر از نوع String را با مثالی در زیر نشان دادم.
# Python string examples - all assignments are identical. String_var = 'Python' String_var = "Python" String_var = """Python""" # with Triple quotes Strings can extend to multiple lines String_var = """ This document will help you to explore all the concepts of Python Strings!!! """ # Replace "document" with "tutorial" and store in another variable substr_var = String_var.replace("document", "tutorial") print (substr_var)
دسترسی به کاراکترها در Python String :
شما فقط نیاز به شماره index کاراکتر مورد نظر دارید. شبیه اکثر زبان های برنامه نویسی، پایتون نیز از صفر (۰) شروع به ایندکس کردن می کند. اما همچنین ایندکس های منفی را نیز پشتیبانی می کند. که ایندکس (-۱) نشان دهنده آخرین کاراکتر است.
sample_str = 'Python String' print (sample_str[0]) # return 1st character # output: P print (sample_str[-1]) # return last character # output: g print (sample_str[-2]) # return last second character # output: n
برای استخراج کردن بازه ای از کاراکتر های داخل یک String از عملگر Slicingیا همان Colon (دو نقطه) استفاده می کنیم. بازه را به صورت [a:b] تعریف می کنیم. که کاراکتر ها را از ایندکس a تا ایندکس b-1 برایمان مشخص می کند.
sample_str = 'Python String' print (sample_str[3:5]) #return a range of character # ho print (sample_str[7:]) # return all characters from index 7 # String print (sample_str[:6]) # return all characters before index 6 # Python print (sample_str[7:-4]) # St
آشنایی با استفاده های نادرست Stringدر پایتون و همچنین ارورکد ها
۱- اگر تلاش به استخراج کاراکتر خارج از محدوده String بکنیم، سپس استثنا ‘IndexError’ بلند خواهد شد. (ترجمه پارسی برای raiseشدن یه exception بهتر از این به ذهنم نرسید 🙂 )
sample_str = "Python Supports Machine Learning." print (sample_str[1024]) #index must be in range # IndexError: string index out of range
۲- ایندکس یک Stringباید عدد صحیح باشد. نمیتوان از عدد اعضاری یا هر نوع داده (Datat Type) ی دیگری استفاده کرد. در غیر این صورت یک استثنا TypeError خواهیم داشت
sample_str = "Welcome post" print (sample_str[1.25]) #index must be an integer # TypeError: string indices must be integers
اصلاح و حذف String در پایتون
Stringها در پایتون به صورت تغییر ناپذیر (Immutable) طراحی شده اند. به این معنی که وقتی یک Stringبه یک متغیر bind می شود، دیگر نمیتوان تغییرش داد. اگر قصد بروزرسانی Stringرا دارید، به آسانی باید یک Stringجدید را به متغیری با همان نام نسبت دهید.
sample_str = 'Python String' sample_str[2] = 'a' # TypeError: 'str' object does not support item assignment sample_str = 'Programming String' print (sample_str) # Output=> Programming String
مشخصه که نمیتوان String را با حذف کردن تعدادی کاراکتر در آن اصلاح کرد. به جای آن می توان کل Strinfرا با دستور ‘del’ حذف کرد.
sample_str = "Python is the best scripting language." del sample_str[1] # TypeError: 'str' object doesn't support item deletion del sample_str print (sample_str) # NameError: name 'sample_str' is not defined
عملگرهای Stringدر پایتون :
عملگر (+) (الحاق) : دو Stringرا با هم ترکیب می کند.
var1 = ‘Python’ var2 = ‘String’ print (var1+var2) # PythonString
عملگر (*) (تکرار) : String جدیدی با تکرار تعداد عددی که گرفته، از Stringداده شده می سازد.
var1 = ‘Python’ print (var1*3) # PythonPythonPython
عملگر ( [ ] ) (Slicing) : کاراکتر با ایندکس داده شده را بر می گرداند.
var1 = ‘Python’ print (var1[2]) # t
عملگر ( [ : ] ) (Range Slicing) : کاراکترهای اراپه شده در بازه داده شده را بر می گرداند.
var1 = ‘Python’ print (var1[2:5]) # tho
عملگر (in) (عضویت): اگر کاراکتر در Stringباشد، Trueبر می گرداند.
var1 = ‘Python’ print (‘n’ in var1) # True
عملگر (not in) (عضویت): اگر کاراکتر در String نباشد، Trueبر می گرداند.
var1 = ‘Python’ print (‘N’ not in var1) # True
عملگر for برای String در پایتون : به مثال ذیل توجه کنید
var1 = 'Python' for var in var1: print (var) # P # y # t # h # o # n
عملگر (r/R) : برای اینکه معنی حقیقی کاراکتر های Escape درون یک Stringنادیده گرفته شود.
print (r’\n’) # \n print (R’\n’) # \n
عملگرهای فرمت String در پایتون:
کاراکتر های Escape:
دنباله های Escape با Backslash (\) شروع می شوند که به کامپایلر میگه که با این متفاوت رفتار کن. زیرسیستم پایتون به صورت خودکار یه دنباله Escape را داخل یک String (با double quoted یا single quoted ) تفسیر می کند.
یکی از مهمترین Escape ها، زمانی است که بخوایم single-quote یا double-quote را Escape کنیم. برای مثال String داریم به فرمت زیر:
“Python is “widely” used language”.
ما به روشی نیاز داریم که به پایتون حالی کنیم double-quote های دور Widely به معنای اتمام Stringنیست، بلکه جزوی از String هستند.
به دستورات زیر توجه کنید:
print ("Python is "widely" used language") # SyntaxError: invalid syntax # After escaping with double-quotes print ("Python is \"widely\" used language") # Output: Python is “widely” used language
خب در ادامه یه لیست کامل از Escapeها در پایتونآورده شده است:
کاراکتر فرمت در پایتون (٪) :
عملگر (٪) برای فرمت String استفاده می شود. این عملگر با تابع print() کار می کند.
به مثال زیر توجه کنید:
print ("Employee Name: %s,\nEmployee Age:%d" % ('Ashish',25)) # Employee Name: Ashish, # Employee Age: 25
در ادامه لیستی کامل از سیمبول هایی که میتوان با (٪) استفاده شود آورده شده است:
پشتیبانی از Unicode String در پایتون :
String رایج مقادیر ASCI به صورت ۸بیتی ذخیره می کند درحالی که Unicode به صورت ۱۶ بیتی استاندارد. این پسوند اجازه می دهد که Stringها شامل کاراکتر هایی از دیگر زبان های چهان از جمله پارسی نیز شوند. در پایتون حرف (u) به عنوان پیشوند جهت تمییز دادن بین String معمولی و Unicode می باشد.
print (u' Hello Python!!') #Hello Python
توابع تبدیل String در پایتون :
تابع caoitalize() : این تابع String را به صورتی که حرف اولش بزرگ باشد و باقی حروف کوچک باز می گرداند.
var = ‘PYTHON’ print (var.capitalize()) # Python
تابع lower(): تمام کاراکتر ها را به حروف کوچک تبیدل می کند.
var = ‘TechBeamers’ print (var.lower()) # techbeamers
تابع upper() : تمام کاراکتر ها را به حروف بزرگ تبدیل می کند.
var = ‘TechBeamers’ print (var.upper()) # TECHBEAMERS
تابع swapcase() در پایتون : حرو ف کوچک را بزرگ و برعکس حروف بزرگ را کوچک می کند.
var = ‘TechBeamers’ print (var.swapcase()) # tECHbEAMERS
تابع title() در پایتون : ورژن عنوانی String را بر می گرداند، یعنی حروف اول کلمات بزرگ و باقی حروف تمامی کلمات کوچک.
var = ‘welcome to Python programming’ print (var.title()) # Welcome To Python Programming
count( str[,beg [,end]])
تعداد دفعاتی که زیر متن ‘str’ در بازه [beg, end] رخ داده است را بر می گرداند. اگر این مقادیر beg و end داده نشده باشد، داخل کل متن جستجو انجام می دهد.
var=’TechBeamers’ str=’e’ print (var.count(str)) # 3 var1=’Eagle Eyes’ print (var1.count(‘e’)) # 2 var2=’Eagle Eyes’ print (var2.count(‘E’,0,5)) # 1
توابع مقایسه ای String در پایتون :
تابع islower() : اگر تمام کاراکتر های String با حروف کوچک باشند مقدار True را بر می گرداند. اگر هر کدام از حروف بزرگ بود مقدار False بر می گرداند.
var=’Python’ print (var.islower()) # False var=’python’ print (var.islower()) # True
تابع isupper() در پایتون : مانند تابع بالایی منتهی برعکس ، یعنی اگر تمام حروف بزرگ بودند مقدار True را بر می گرداند.
var=’Python’ print (var.isupper()) # False var=’PYTHON’ print (var.isupper()) # True
تابع isdecimal() : اگر تمام کاراکتر ها درون String دسیمال بودند True را بر می گرداند. اگر هر کدام از کاراکتر های نوع داده ای بجز دسیمال داشت مقدار False را بر می گرداند.
num=u’2016′ print (num.isdecimal()) # True
آموزش ها از قرار زیر هستند (در حال تکمیل) :
ارسال پاسخ