0% found this document useful (0 votes)
2 views15 pages

8 Python Strings

Uploaded by

bashibabak163
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views15 pages

8 Python Strings

Uploaded by

bashibabak163
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

‫رشتهها چیستند؟‬

‫رشتهها دنبالهای از کاراکترها (حروف‪ ،‬اعداد‪ ،‬نمادها) هستند که در **تککوتیک‬


‫(`' ')`** یا **دوبلکوتیک (`" ")`** یا **سهکوتیک (`''' '''` یا `""" """`)**‬
‫محصور میشوند‪.‬‬

‫'! فارسی‪s1 = 'Hello‬‬

‫"‪s2 = "Python 3.10‬‬


‫= '''این یک رشته‪s3‬‬

‫'''!چندخطی است‬

‫تغییر رشتهها (‪)Modify Strings‬‬


‫در پایتون‪ ،‬رشتهها (‪** )Strings‬تغییرناپذیر (‪ **)Immutable‬هستند‪ .‬یعنی‬
‫پس از ایجاد‪ ،‬محتوای اصلی آنها قابل تغییر نیست‪ .‬اما میتوانیم عملیاتی روی‬
‫آنها انجام دهیم که **نسخههای جدیدی** از رشته تغییر یافته برگردانند‪ .‬در‬
‫اینجا مهمترین متدهای تغییر رشتهها را با مثالهای متنوع بررسی میکنیم‪:‬‬

‫متدهای رشته ها‬

‫`()‪`upper‬‬
‫متد `)(‪ `upper‬همه حروف را به بزرگ تبدیل میکند‪.‬‬

‫"!‪text = "Hello, World‬‬


‫))(‪print(text.upper‬‬
# Output: HELLO, WORLD!

‫ مقایسه بدون توجه به بزرگی حروف‬:‫ مثال کاربردی‬#

user_input = "Yes"
if user_input.upper() == "YES:"

print("User agreed!") # Output: User agreed!

`lower)(`
.‫` همه حروف را به کوچک تبدیل میکند‬lower()` ‫متد‬

text = "Hello, World"!

print(text.lower()) # Output: hello, world!

‫ نرمالسازی ایمیلها‬:‫ مثال کاربردی‬#

email = "[email protected]"
normalized_email = email.lower()
print(normalized_email) # Output: [email protected]

`strip)(`
.‫` فاصلههای اضافی از ابتدا و انتهای رشته را حذف میکند‬strip()` ‫متد‬
text = " Hello, World!"
print(f"'{text.strip()}'")
# Output: 'Hello, World!'

‫ پردازش ورودی کاربر‬:‫ مثال کاربردی‬#

user_input = " admin"


username = user_input.strip()
print(f"Welcome, {username}!")
# Output: Welcome, admin!

`replace)(`
.‫` بخشی از رشته را با بخش دیگری جایگزین میکند‬replace()` ‫متد‬

text = "I like cats".

print(text.replace("cats", "dogs"))
# Output: I like dogs.

‫ جایگزینی چندگانه‬:۱ ‫ مثال‬#

text = "apple orange apple"


print(text.replace("apple", "banana", 1))
# Output: banana orange apple
‫ حذف کاراکترهای خاص‬:۲ ‫ مثال‬#

phone = "+98-21-1234-5678"
clean_phone = phone.replace("-", "").replace("+", "")
print(clean_phone) # Output: 982112345678

`split)(`
‫` رشته را بر اساس جداکننده (بهطور پیشفرض فاصله) به لیستی از‬split()` ‫متد‬
.‫زیررشتهها تقسیم میکند‬

text = "Python is fun"


print(text.split())
# Output: ['Python', 'is', 'fun']

CSV ‫ پردازش‬:‫ مثال کاربردی‬#

csv_data = "Alice;30;Developer"
fields = csv_data.split)";"(

print(f"Name: {fields[0]}, Age: {fields[1]}")


# Output: Name: Alice, Age: 30
maxsplit ‫ تقسیم با‬:‫ مثال پیشرفته‬#

text = "one:two:three:four"
print(text.split(":", 2)) # Output: ['one', 'two', 'three:four']
`join)(`
‫تاپل را با یک جداکننده مشخص به هم متصل‬/‫` عناصر یک لیست‬join()` ‫متد‬
.‫میکند‬

words = ["Python", "is", "powerful"]


print(" ".join(words)) # Output: Python is powerful
‫ ساخت مسیر فایل‬:‫ مثال کاربردی‬#

folders = ["home", "user", "documents"]


path = "/".join(folders)
print(path) # Output: home/user/documents

‫ ایجاد رشته از اعداد‬:‫ مثال پیشرفته‬#

numbers = [1, 2, 3]
print("->".join(map(str, numbers))) # Output: 1->2->3

`len)(`
print(len("‫))"!سالم‬

)! ,‫ م‬,‫ ا‬,‫ ل‬,‫ (شامل کاراکترهای س‬5 :‫ خروجی‬#

startswith)(,endswith)(`
text = "Hello World"
print(text.startswith("He"))
True :‫ خروجی‬#

print(text.endswith("ld"))
True :‫ خروجی‬#

`find)(`
text = "Python is fun"
print(text.find("is"))
)‫ (ایندکس شروع‬7 :‫ خروجی‬#

print(text.find("Java"))
)‫ (یافت نشد‬۱- :‫ خروجی‬#

isdigit)(
.‫بررسی میکند آیا همه کاراکترها رقم هستند‬

txt = "12345"
print(txt.isdigit()) # Output: True

txt = "12a45"
print(txt.isdigit()) # Output: False
isalnum)(
.‫بررسی میکند آیا رشته فقط شامل حروف و اعداد است‬

txt = "Company12"
print(txt.isalnum()) # Output: True

txt = "Company 12"


print(txt.isalnum()) # Output: False)‫(به دلیل فاصله‬

index)(
.‫ عمل میکند اما اگر زیررشته پیدا نشود خطا میدهد‬find() ‫مانند‬

txt = "Hello, welcome to my world".

print(txt.index("welcome")) # Output: 7
#print(txt.index("Python")) # ValueError

count)(
.‫تعداد تکرار یک زیررشته را برمیگرداند‬

txt = "I love apples, apple are my favorite fruit"


print(txt.count("apple")) # Output: 2

join)(
.‫عناصر یک لیست را با رشته مورد نظر به هم میچسباند‬
my_list = ["apple", "banana", "cherry"]
print(", ".join(my_list)) # Output: apple, banana, cherry

format)(
.‫مقادیر را در محلهای مشخص شده قرار میدهد‬

txt = "My name is {} and I am {} years old"


print(txt.format("Ali", 25)) # Output: My name is Ali and I
am 25 years old

zfill)(
.‫رشته را با صفر از سمت چپ پر میکند تا به طول مشخص شده برسد‬

txt = "42"
print(txt.zfill(5)) # Output: 00042

capitalize)(
.‫حرف اول را بزرگ و بقیه را کوچک میکند‬

text = "hello world"


print(text.capitalize())
# Output: Hello world
title)(
.‫اولین حرف هر کلمه را بزرگ میکند‬

text = "python programming"


print(text.title())
# Output: Python Programming

swapcase)(
.‫حروف بزرگ را کوچک و کوچک را بزرگ میکند‬

text = "PyThOn"
print(text.swapcase())
# Output: pYtHoN

Isalpha)(
‫چک کردن اینکه آیا رشته فقط حروف است‬

text1 = "Hello"
text2 = "123"
print(text1.isalpha()) # True
print(text2.isalpha()) # False

str)(
.‫هر نوع دادهای را به رشته تبدیل میکند‬

:‫ مثالها‬#
p = str(100)‫ از صحیح به رشته‬#

print(p)
# Output: “100”
print(type(p))
# Output: <class ‘str’>
q = str(3.14)
‫ از اعشاری به رشته‬#

print(q)
# Output: “3.14”
r = str(True)

:‫نکات کلیدی‬

:**‫**تغییرناپذیری رشتهها‬
‫ تمام متدهای باال یک **رشته جدید** برمیگردانند و رشته اصلی را تغییر‬.1
.‫نمیدهند‬

original = "hello"
modified = original.upper)(

print(original)
# Output: hello
print(modified)
# Output: HELLO

:**‫**ترکیب متدها‬
.‫میتوانید متدها را زنجیرهای کنید‬

text = " Hello, World!"


processed = text.strip().lower().replace("world",
"Python")
print(processed)
# Output: hello, python!

:**‫**حساسیت به حروف‬
‫` فقط‬replace("A", "a")`( ‫کوچکی حروف حساس هستند‬/‫متدها به بزرگی‬
.)‫` را جایگزین میکند‬A` ‫حروف بزرگ‬

)`f-strings` ‫` یا‬+`( ‫ادغام رشتهها‬


name = "‫"آرش‬

age = 25
print("‫نام‬: " + name)

‫ آرش‬:‫ نام‬#

print(f"‫سن‬: {age}")

)‫ (روش مدرن‬۲5 :‫ سن‬#


‫تکرار رشته (`*`)‬
‫)‪print("abc" * 3‬‬
‫‪ #‬خروجی‪abcabcabc :‬‬

‫فرمتبندی رشتهها (‪)String Formatting‬‬


‫سه روش اصلی‪:‬‬

‫روش قدیمی (`‪)`%‬‬


‫"سارا" = ‪name‬‬

‫)‪: %s" % name‬اسم"(‪print‬‬

‫‪ #‬اسم‪ :‬سارا‬

‫متد `()‪`format‬‬
‫))‪".format(20‬سن‪ }{ :‬سال"(‪print‬‬

‫‪ #‬سن‪ ۲0 :‬سال‬

‫‪string-f‬‬
‫‪price = 15000‬‬
‫قیمت‪ ۱5,000 :‬تومان ‪") #‬تومان }‪: {price:,‬قیمت"‪print(f‬‬
‫عملیاتهای کاربردی دیگر‬

‫‪ -‬بررسی وجود زیررشته‪:‬‬


‫"‪text = "Programming in Python‬‬
‫)‪print("Python" in text‬‬
‫‪ #‬خروجی‪True :‬‬

‫‪ -‬مقایسه رشتهها‪:‬‬
‫)"‪print("abc" == "ABC‬‬
‫‪ #‬خروجی‪( False :‬حساس به حروف کوچک‪/‬بزرگ)‬

‫توابع تبدیل نوع‬

‫‪ -‬تبدیل رشته به عدد‪:‬‬


‫"‪num_str = "123‬‬
‫)‪print(int(num_str) + 1‬‬
‫‪ #‬خروجی‪۱۲4 :‬‬

‫‪ -‬تبدیل عدد به رشته‪:‬‬


‫‪num = 456‬‬
‫))‪: " + str(num‬عدد"(‪print‬‬

‫نکات مهم‪:‬‬
‫‪ .۱‬رشتهها در پایتون **غیرقابل تغییر** هستند‪.‬‬
.)‫ پایتون از **یونیکد** پشتیبانی میکند (پس با حروف فارسی مشکلی ندارد‬.۲

.‫ برای رشتههای طوالنی از `"""` یا `'''` استفاده کنید‬.3

:‫مثال ترکیبی‬
name = "‫"نازنین‬

message = f"""
‫{ سالم‬name}!

‫} سال خورشیدی است‬۱403{ ‫امروز‬.

"""
print(message)

‫ تبدیل به عنوان و جایگزینی کلمات‬#

txt = "python programming is FUN"!

formatted = txt.title().replace("Fun", "Amazing")


print(formatted) # Output: Python Programming Is
Amazing!

‫ بررسی و اصالح ورودی کاربر‬#

user_input = " User123"


cleaned = user_input.strip)(
if cleaned.isalnum() and not cleaned.isdigit:)(

print(f"Valid username: {cleaned}")


else:

print("Invalid username!")

You might also like