رشتهها
رشته های حروف
در پایتون رشتههای حروف در بین علامتهای نقل قول تکی ' ' یا نقل قول دوتایی " " قرار میگیرند.[۱]
واژهٔ '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)
رشته ها آرایه هستند
مانند بسیاری از زبانهای برنامهنویسی معروف، رشتهها در پایتون آرایههایی از بایتها هستند که کاراکترهای 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 دیگر که در پایتون استفاده میشوند:
متدهای رشته
پایتون مجموعه ای از متدهای 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() | در ابتدای رشته به تعداد تعیین شده مقدار ۰ قرار میدهد |
منابع آموزشی