رشته‌ها

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵اظهار نظرها
۶متغیرها
۷انواع داده‌ها
۸اعداد
۹تبدیل نوع
۱۰رشته‌ها
۱۱Booleans
۱۲عملگرها
۱۳لیست‌ها
۱۴تاپل‌ها
۱۵مجموعه‌ها
۱۶دیکشنری‌ها
۱۷If...Else
۱۸حلقهٔ While
۱۹حلقهٔ For
۲۰توابع
۲۱Lambda
۲۲آرایه‌ها
۲۳کلاس‌ها / اشیاء
۲۴ارث‌بری
۲۵Iteratorها
۲۶دامنه
۲۷ماژول‌ها
۲۸تاریخ و زمان
۲۹JSON
۳۰RegEx
۳۱PIP
۳۲Try...Except
۳۳ورودی کاربر
۳۴قالب‌بندی رشته
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

رشته‌های حروف

در پایتون رشته‌های حروف در بین علامت‌های نقل قول تکی ' ' یا نقل قول دوتایی " " قرار می‌گیرند.[۱]

واژهٔ 'hello' مانند واژهٔ "hello" است.

می‌توان رشتهٔ حروف را با تابع print() نمایش داد:

مثال

1 print("Hello")
2 print('Hello')


مشاهدهٔ نتیجه


تخصیص یک رشته به یک متغیر

تخصیص رشته به متغیر با نام متغیر به همراه علامت مساوی = و رشته انجام می‌شود:

مثال

1 a = "Hello"
2 print(a)


مشاهدهٔ نتیجه


رشته های چند خط

می‌توان یک رشته چند خطی را با استفاده از سه علامت نقل قول به یک متغیر اختصاص داد:

مثال

1 a = """Lorem ipsum dolor sit amet,
2 consectetur adipiscing elit,
3 sed do eiusmod tempor incididunt
4 ut labore et dolore magna aliqua."""
5 print(a)


مشاهدهٔ نتیجه


یا سه علامت نقل قول تکی:

مثال

1 a = '''Lorem ipsum dolor sit amet,
2 consectetur adipiscing elit,
3 sed do eiusmod tempor incididunt
4 ut labore et dolore magna aliqua.'''
5 print(a)


مشاهدهٔ نتیجه


توجه: در نتیجه، رفتن به خطوط جدید (به انگلیسی: line breaks) در همان مکان کد اضافه خواهند شد.

رشته ها آرایه هستند

مانند بسیاری از زبان‌های برنامه‌نویسی معروف، رشته‌ها در پایتون آرایه‌هایی از بایت‌ها هستند که کاراکترهای Unicode را نشان می‌دهند.

با این حال پایتون نوع داده‌ای کاراکتر ندارد، یک کاراکتر به سادگی رشته‌ای با طول ۱ است.

برای دسترسی به عنصرهای رشته‌ای از براکت‌ها [ ] استفاده می‌شود.

مثال

به دست آوردن کاراکتر در مکان ۱ (به یاد داشته باشید که اولین کاراکتر در مکان ۰ است):

1 a = "Hello, World!"
2 print(a[1])


مشاهدهٔ نتیجه


برش زدن (به انگلیسی: Slicing)

می‌توانید با استفاده از نحو slice محدوده ای از کاراکترها را برگردانید.

برای برگرداندن بخشی از رشته، اندیس شروع و اندیس پایان که توسط دو نقطه از هم جدا شده‌اند را مشخص کنید.

مثال

کاراکترهای مکان ۲ تا ۵ (شامل نمی‌شود) را به دست آورید:

1 b = "Hello, World!"
2 print(b[2:5])


مشاهدهٔ نتیجه


اندیس گذاری منفی

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

مثال

کاراکترهای مکان ۵ تا مکان ۱ را با شروع شمارش از انتهای رشته به دست آورید:

1 b = "Hello, World!"
2 print(b[-5:-2])


مشاهدهٔ نتیجه


طول رشته

برای به دست آوردن طول رشته، از تابع len() استفاده کنید.

مثال

تابع len() طول یک رشته را برمی‌گرداند:

1 a = "Hello, World!"
2 print(len(a))


مشاهدهٔ نتیجه


متدهای رشته

پایتون مجموعه ای از متدهای built-in دارد که می‌توانید از آنها برای کار با رشته‌ها استفاده کنید.

مثال

متد strip() هر فاصله خالی از ابتدا تا انتها را حذف می‌کند:

1 a = " Hello, World! "
2 print(a.strip()) # returns "Hello, World!"


مشاهدهٔ نتیجه


مثال

متد lower() رشته را به حروف کوچک تبدیل می‌کند:

1 a = "Hello, World!"
2 print(a.lower())


مشاهدهٔ نتیجه


مثال

متد upper() رشته با حروف بزرگ را برمی‌گرداند:

1 a = "Hello, World!"
2 print(a.upper())


مشاهدهٔ نتیجه


مثال

متد replace() رشته را با رشته دیگری جایگزین می‌کند:

1 a = "Hello, World!"
2 print(a.replace("H", "J"))


مشاهدهٔ نتیجه


مثال

متد split() در صورت یافتن نمونه‌های جدا کننده، رشته را به زیر رشته‌ها تقسیم می‌کند:

1 a = "Hello, World!"
2 print(a.split(",")) # returns ['Hello', ' World!']


مشاهدهٔ نتیجه


در مورد متدهای رشته با مرجع متدهای رشته ما بیشتر بیاموزید.

بررسی رشته

برای بررسی وجود یا عدم وجود یک عبارت یا کاراکتر خاص در رشته، می‌توانیم از کلمات کلیدی in یا not in استفاده کنیم.

مثال

بررسی می‌کند آیا عبارت “ain” در متن زیر وجود دارد:

1 txt = "The rain in Spain stays mainly in the plain"
2 x = "ain" in txt
3 print(x)


مشاهدهٔ نتیجه


مثال

بررسی می‌کند آیا عبارت “ain” در متن زیر وجود ندارد:

1 txt = "The rain in Spain stays mainly in the plain"
2 x = "ain" not in txt
3 print(x)


مشاهدهٔ نتیجه


الحاق رشته

برای الحاق (بهم چسباندن)، یا ترکیب، دو رشته می‌توان از عملگر + استفاده کرد.

مثال

متغیر a را با متغیر b در متغیر c ادغام کنید:

1 a = "Hello"
2 b = "World"
3 c = a + b
4 print(c)


مشاهدهٔ نتیجه


مثال

برای اضافه کردن یک فاصله بین آنها یک " " اضافه کنید:

1 a = "Hello"
2 b = "World"
3 c = a + " " + b
4 print(c)


مشاهدهٔ نتیجه


قالب بندی رشته

همان‌طور که در بخش متغیرهای پایتون آموختیم، نمی‌توانیم رشته‌ها و اعداد را به این شکل با هم ترکیب کنیم:

مثال

1 age = 36
2 txt = "My name is John, I am " + age
3 print(txt)


مشاهدهٔ نتیجه


اما می‌توانیم رشته‌ها و اعداد را بوسیله متد format() با هم ترکیب کنیم!

متد format()آرگومان‌های پاس شده را می‌گیرد، آنها را قالب بندی می‌کند، و در رشته در مکان {} قرار می‌دهد:

مثال

برای وارد کردن اعداد در رشته‌ها از متد format() استفاده کنید:

1 age = 36
2 txt = "My name is John, and I am {}"
3 print(txt.format(age))


مشاهدهٔ نتیجه


متد format() بی‌نهایت آرگومان می‌پذیرد و آنها را در placeholderهای مربوطه { } قرار می‌دهد:

مثال

1 quantity = 3
2 itemno = 567
3 price = 49.95
4 myorder = "I want {} pieces of item {} for {} dollars."
5 print(myorder.format(quantity, itemno, price))


مشاهدهٔ نتیجه


می‌توانید از اعداد اندیس {0} برای اطمینان از اینکه آرگومان‌ها در placeholderهای درست قرار گرفته‌اند استفاده کنید:

مثال

1 quantity = 3
2 itemno = 567
3 price = 49.95
4 myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
5 print(myorder.format(quantity, itemno, price))


مشاهدهٔ نتیجه


کاراکتر Escape

برای درج کردن کاراکترهایی که در رشته غیرمجاز هستند، از کاراکتر escape استفاده می‌کنیم.

کاراکتر escape، یک \ (به انگلیسی: backslash) است که همراه با کاراکتر مورد نظر شما درج می‌شود.

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

مثال

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

txt = "We are the so-called "Vikings" from the north."


مشاهدهٔ نتیجه


برای حل این مشکل، از کاراکتر \" (به انگلیسی: escape) استفاده کنید:

مثال

کاراکتر escape امکان استفاده از علامت نقل قول دوتایی را در حالتی که نمی‌توان بطور معمول از آن استفاده کرد فراهم می‌کند:

txt = "We are the so-called \"Vikings\" from the north."


مشاهدهٔ نتیجه


کاراکترهای escape دیگر که در پایتون استفاده می‌شوند:

کد نتیجه امتحان کنید
\' نقل قول تکی مشاهدهٔ نتیجه
\\ Backslash مشاهدهٔ نتیجه
\n خط جدید مشاهدهٔ نتیجه
\r بازگشت به سر خط مشاهدهٔ نتیجه
\t یک تب (به انگلیسی: Tab) فاصله مشاهدهٔ نتیجه
\b بازگشت به عقب مشاهدهٔ نتیجه
\f ایجاد صفحه جدید
\ooo مقدار octal (در مبنای هشت) مشاهدهٔ نتیجه
\xhh مقدار هگز (در مبنای شانزده) مشاهدهٔ نتیجه

متدهای رشته

پایتون مجموعه ای از متدهای built-in دارد که می‌توانید برای کار با رشته‌ها از آنها استفاده کنید.

نکته: همه متدهای رشته مقدارهای جدید برمی‌گردانند. آنها مقدار اصلی را تغییر نمی‌دهند.
متد تعریف
capitalize() اواین کاراکتر را به حرف بزرگ تبدیل می‌کند
casefold() رشته را به حروف کوچک تبدیل می‌کند
center() یک رشته وسط-چین برمی‌گرداند
count() تعداد دفعاتی که یک مقدار خاص در رشته‌ای رخ داده را برمی‌گرداند
encode() نسخه کد گذاری شدهٔ رشته را برمی‌گرداند
endswith() اگر رشته با مقدار خاصی به پایان برسد true برمی‌گرداند
expandtabs() اندازه تب رشته را تنظیم می‌کند
find() در رشته مقدار خاصی را جستجو کرده و مکان آنرا برمی‌گرداند
format() مقدارهای خاصی را در یک رشته قالب بندی می‌کند
format_map() مقدارهای خاصی را در یک رشته قالب بندی می‌کند
index() مقدار خاصی را در رشته جستجو کرده و مکان آنرا برمی‌گرداند
isalnum() اگر همهٔ کاراکترها در رشته الفبایی و عددی باشند true برمی‌گرداند
isalpha() اگر همهٔ کاراکترها در رشته الفبا باشندtrue برمی‌گرداند
isdecimal() اگر همهٔ کاراکترهای رشته، دهدهی باشند true برمی‌گرداند
isdigit() اگر همهٔ کاراکترهای رشته، عدد باشند true برمی‌گرداند
isidentifier() اگر رشته یک شناسه باشد true برمی‌گرداند
islower() اگر همهٔ کاراکترهای حروف کوچک باشند true برمی‌گرداند
isnumeric() اگر همهٔ کاراکترهای رشته عددی باشند true برمی‌گرداند
isprintable() اگر همهٔ کاراکترهای رشته قابل چاپ باشند true برمی‌گرداند
isspace() اگر همهٔ کاراکترهای رشته فاصله خالی باشند true برمی‌گرداند
istitle() اگر رشته از قواعد عنوان پیروی کند true برمی‌گرداند
isupper() اگر همهٔ کاراکترهای رشته حروف بزرگ باشند true برمی‌گرداند
join() عنصرهای یک iterable را به انتهای یک رشته متصل می‌کند
ljust() یک نسخه justify شده چپ-چین از رشته را برمی‌گرداند
lower() رشته را به حروف کوچک تبدیل می‌کند
lstrip() نسخه left trim از رشته را برمی‌گرداند
maketrans() یک جدول ترجمه برای استفاده در ترجمه‌ها برمی‌گرداند
partition() هنگامی که رشته به سه قسمت تقسیم شود یک تاپل (رکورد) برمی‌گرداند
replace() رشته‌ای را برمی‌گرداند که مقدار خاصی با مقدار خاص دیگری جایگزین شده باشد
rfind() رشته را برای یافتن مقدار خاصی جستجو می‌کند و مکان آخرین جایی که مقدار را یافته برمی‌گرداند
rindex() رشته را برای یافتن مقدار خاصی جستجو می‌کند و مکان آخرین جایی که مقدار را یافته برمی‌گرداند
rjust() یک نسخه justify شده راست-چین از رشته را برمی‌گرداند
rpartition() تاپلی را برمی‌گرداند که رشته در آن به سه قسمت تقسیم شده‌است
rsplit() رشته را در جدا کننده‌های مشخص شده، مجزا می‌کند و یک لیست برمی‌گرداند
rstrip() یک نسخه right trim از رشته را برمی‌گرداند
split() رشته را در جدا کننده‌های مشخص شده، مجزا می‌کند و یک لیست برمی‌گرداند
splitlines() رشته را در خطوط جدید ((به انگلیسی: line breaks)) جدا می‌کند و یک لیست برمی‌گرداند
startswith() اگر رشته با مقدار خاصی آغاز شود true برمی‌گرداند
strip() یک نسخه تروتمیز (به انگلیسی: trimmed) از رشته برمی‌گرداند
swapcase() حروف را جابجا می‌کند، حروف کوچک به بزرگ و حروف بزرگ به کوچک تبدیل می‌شوند
title() اولین کاراکتر هر کلمه را به حرف بزرگ تبدیل می‌کند
translate() رشتهٔ ترجمه شده را برمی‌گرداند
upper() رشته را به حروف بزرگ تبدیل می‌کند
zfill() در ابتدای رشته به تعداد تعیین شده مقدار ۰ قرار می‌دهد


منابع آموزشی