🎯 متدهای مهم رشتهها در پایتون: ابزارهای جادویی برای کار با متن! ✨
رشتهها تو پایتون کلی متد (تابع آماده) دارن که کار با متن رو مثل آب خوردن میکنن! امروز قراره مهمترین متدهای رشتهها رو با مثالهای ساده و کاربردی یاد بگیرید. آمادهاید؟ بریم شروع کنیم! 🚀
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۱. upper() و lower(): بزرگ و کوچیک کردن حروف
این دو تا متد حروف یه رشته رو بهطور کامل بزرگ یا کوچیک میکنن.
◾️ کاربرد: وقتی میخوای متن رو یکدست کنی، مثلاً برای مقایسه یا نمایش.
text = "Hello World"
print(text.upper()) # Output: HELLO WORLD
print(text.lower()) # Output: hello world
◾️ مثال کاربردی: بررسی یه ورودی بدون توجه به بزرگ/کوچیک بودن حروف:
answer = "YeS"
if answer.lower() == "yes":
print("You said yes!") # Output: You said yes!
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۲. strip(), lstrip(), rstrip(): حذف فاصلههای اضافی
این متدها فاصلهها یا کاراکترهای ناخواسته (مثل خط جدید) رو از ابتدا و/یا انتهای رشته حذف میکنن.
strip(): از هر دو طرف.
lstrip(): فقط از چپ.
rstrip(): فقط از راست.
text = " Hi there "
print(text.strip()) # Output: Hi there
print(text.lstrip()) # Output: Hi there
print(text.rstrip()) # Output: Hi there
◾️ مثال کاربردی: تمیز کردن ورودی کاربر:
user_input = " hello\n"
cleaned = user_input.strip() # Output: hello
print(f"Cleaned input: {cleaned}")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۳. replace(): عوض کردن متن
این متد یه بخش از رشته رو با یه متن دیگه جایگزین میکنه.
◾️ کاربرد: برای ویرایش متن یا اصلاح اشتباهات.
text = "I like coding"
print(text.replace("coding", "Python")) # Output: I like Python
◾️ مثال کاربردی: اصلاح یه کلمه تو جمله:
sentence = "I have a cat"
new_sentence = sentence.replace("cat", "dog")
print(new_sentence) # Output: I have a dog
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۴. find() و index(): پیدا کردن جای متن
این متدها اندیس اولین جای یه زیررشته رو برمیگردونن.
find(): اگه پیدا نشه، -1 برمیگردونه.
index(): اگه پیدا نشه، خطا میده.
text = "Hello World"
print(text.find("World")) # Output: 6
print(text.find("Python")) # Output: -1
print(text.index("World")) # Output: 6
# print(text.index("Python")) # Error!
◾️ مثال کاربردی: چک کردن وجود یه کلمه:
email = "user@example.com"
if email.find("@") != -1:
print("Valid email!") # Output: Valid email!
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۵. split(): تبدیل رشته به لیست
این متد رشته رو با یه جداکننده (مثل کاما یا فاصله) به یه لیست از زیررشتهها تبدیل میکنه.
text = "apple,banana,orange"
fruits = text.split(",")
print(fruits) # Output: ['apple', 'banana', 'orange']
◾️ مثال کاربردی: جدا کردن کلمات یه جمله:
sentence = "Python is fun"
words = sentence.split() # جداکننده پیشفرض: فاصله
print(words) # Output: ['Python', 'is', 'fun']
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۶. join(): چسبوندن لیست به رشته
این متد عناصر یه لیست رو با یه جداکننده به هم میچسبونه و یه رشته میسازه.
words = ['Python', 'is', 'fun']
sentence = " ".join(words)
print(sentence) # Output: Python is fun
◾️ مثال کاربردی: ساختن یه مسیر فایل:
path_parts = ["home", "user", "docs"]
path = "/".join(path_parts)
print(path) # Output: home/user/docs
⬟〰️⬟〰️⬟〰️⬟〰️⬟
ادامه در پست بعد 👇
⭐️ ۷. startswith() و endswith(): بررسی ابتدا و انتهای رشته
این متدها چک میکنن که رشته با یه متن خاص شروع یا تموم میشه.
text = "Python is cool"
print(text.startswith("Py")) # Output: True
print(text.endswith("cool")) # Output: True
◾️ مثال کاربردی: اعتبارسنجی فرمت فایل:
filename = "document.pdf"
if filename.endswith(".pdf"):
print("This is a PDF file!") # Output: This is a PDF file!
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۸. count(): شمردن تعداد یه زیررشته
این متد تعداد دفعاتی که یه زیررشته توی رشته ظاهر شده رو برمیگردونه.
text = "banana"
print(text.count("a")) # Output: 3
◾️ مثال کاربردی: شمردن کلمات تو جمله:
sentence = "I like to code and I like to learn"
print(sentence.count("like")) # Output: 2
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۹. isalpha(), isdigit(), isalnum(): بررسی نوع کاراکترها
این متدها نوع کاراکترهای رشته رو چک میکنن:
isalpha(): فقط حروف.
isdigit(): فقط اعداد.
isalnum(): حروف یا اعداد.
text1 = "Hello"
text2 = "123"
text3 = "Hello123"
print(text1.isalpha()) # Output: True
print(text2.isdigit()) # Output: True
print(text3.isalnum()) # Output: True
◾️ مثال کاربردی: اعتبارسنجی ورودی:
password = "Secure123"
if password.isalnum():
print("Password is valid!") # Output: Password is valid!
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ 10. capitalize(): بزرگ کردن حرف اول
این متد فقط حرف اول رشته رو بزرگ میکنه و بقیه رو کوچیک.
◾️ کاربرد: برای شروع جملات یا اسامی با حرف بزرگ.
text = "hello world"
print(text.capitalize()) # Output: Hello world
◾️ مثال کاربردی: اصلاح نام کاربر:
name = "alex smith"
print(name.capitalize()) # Output: Alex smith
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ 11. title(): بزرگ کردن حرف اول هر کلمه
این متد حرف اول هر کلمه تو رشته رو بزرگ میکنه.
◾️ کاربرد: برای عناوین یا فرمتبندی نامها.
text = "python is fun"
print(text.title()) # Output: Python Is Fun
◾️ مثال کاربردی: ساخت عنوان برای مقاله:
article = "learning python for beginners"
print(article.title()) # Output: Learning Python For Beginners
حالا نوبت شماست! 🧑💻
برای تسلط روی این متدها، این تمرینها رو تست کنید:
🔶 یه برنامه بنویسید که یه رشته بگیره و همه حروفش رو بزرگ کنه، بعد فاصلههای اضافیش رو حذف کنه.
text = " hello world "
# Output: HELLO WORLD
🔷 یه رشته بگیره و تعداد "e"های داخلش رو بشمره.
text = "hello there"
# Output: 4
🔶 یه جمله رو به کلمات جدا کنه و با "-" به هم بچسبونه.
text = "Python is great"
# Output: Python-is-great
♦️ یه نکته آخر 💡
این متدها مثل ابزارهای جعبهابزارن! هر کدوم یه کار خاص میکنن، پس باهاشون بازی کنید و توی پروژههای کوچیک ازشون استفاده کنید (مثلاً ساخت یه فرم ورودی یا ویرایش متن). اگه سوالی دارید یا جایی گیر کردید، بپرسید تا باهم حلش کنیم! 💬
💯 @PythonForYou 🧑💻👩💻
🧑💻👩💻 ۱۵ تمرین باحال برای تسلط بر رشتهها در پایتون! 🚀
برای اینکه حسابی روی رشتهها استاد بشید، ۱۵ تا تمرین از آسون تا سخت براتون آماده کردم. نکته مهم: اسم تابعهای موردنیاز رو نگفتم! باید خودتون فکر کنید، مستندات پایتون رو بخونید یا توی اینترنت سرچ کنید تا روش مناسب رو پیدا کنید. اینجوری یادگیریتون عمیقتر میشه! 😎 هر تمرین رو تست کنید و جوابتون رو بفرستید تا باهم چک کنیم. آمادهاید؟ بریم!
🟢 تمرینهای سطح ساده (۱ تا ۵)
👈 اینا برای گرم کردن و یادگیری پایهان!
⁉️ بزرگ کردن حروف
یه رشته مثل "hello" بگیره و همه حروفش رو به حروف بزرگ تبدیل کنه.
text = "hello"
# Output: HELLO
------------------------------
⁉️ حذف فاصلههای اضافی
یه رشته مثل " hi there " بگیره و فاصلههای اضافی ابتدا و انتها رو حذف کنه.
text = " hi there "
# Output: hi there
------------------------------
⁉️ شمردن حرف خاص
تعداد حرف "a" رو توی رشته "banana" بشمرید.
text = "banana"
# Output: 3
------------------------------
⁉️ بررسی شروع رشته
چک کنید رشته "Python is fun" با "Py" شروع میشه یا نه.
text = "Python is fun"
# Output: True
------------------------------
⁉️ جایگزینی کلمه
تو رشته "I like coding" کلمه "coding" رو با "Python" عوض کنید.
text = "I like coding"
# Output: I like Python
------------------------------
🟡 تمرینهای سطح متوسط (۶ تا ۱۰)
اینجا باید چند تا روش رو ترکیب کنید!
⁉️ برعکس کردن رشته
یه رشته مثل "Hello" بگیره و کاراکترهاش رو برعکس کنه (بدون حلقه، فقط با یه روش رشتهای).
text = "Hello"
# Output: olleH
------------------------------
⁉️ جدا کردن کلمات
یه جمله مثل "Python is cool" بگیره و کلماتش رو به یه لیست تبدیل کنه.
text = "Python is cool"
# Output: ['Python', 'is', 'cool']
------------------------------
⁉️ چسبوندن کلمات
یه لیست مثل ["home", "user", "docs"] بگیره و یه رشته مثل "home/user/docs" بسازه.
parts = ["home", "user", "docs"]
# Output: home/user/docs
------------------------------
⁉️ پیام خوشامدگویی
یه پیام بسازید که اسم و سن کاربر رو توی یه جمله قشنگ نمایش بده (با روش قالببندی قدیمیتر).
name = "Alex"
age = 15
# Output: Hi, I’m Alex and I’m 15 years old!
------------------------------
⁉️ بررسی نوع کاراکترها
چک کنید آیا رشته "Secure123" فقط از حروف و اعداد تشکیل شده یا نه.
text = "Secure123"
# Output: True
------------------------------
🔴 تمرینهای سطح سخت (۱۱ تا ۱۵)
اینا چالشبرانگیزترن و نیاز به خلاقیت دارن!
⁉️ شمردن کلمات خاص
تعداد دفعاتی که کلمه "like" تو رشته "I like to code and I like to learn" ظاهر شده رو بشمرید.
sentence = "I like to code and I like to learn"
# Output: 2
------------------------------
⁉️ فرمتبندی عنوان
یه رشته مثل " learning python is fun " بگیره، حرف اول هر کلمه رو بزرگ کنه و فاصلههای اضافی رو حذف کنه.
text = " learning python is fun "
# Output: Learning Python Is Fun
------------------------------
⁉️ جایگزینی و پیدا کردن
تو رشته "Hello World, hello Python" همه "hello"ها رو (با حفظ بزرگی/کوچیکی) با "Hi" عوض کنید و جای اولین "Hi" رو پیدا کنید.
text = "Hello World, hello Python"
# Output: رشته جدید: Hi World, Hi Python
# Index Hi: 0
------------------------------
⁉️ اعتبارسنجی پیشرفته
چک کنید آیا یه رشته (مثل "document.pdf") با ".pdf" تموم میشه و فقط از حروف و اعداد تشکیل شده یا نه (بدون در نظر گرفتن نقطه و پسوند).
filename = "document.pdf"
# Output: PDF file and alphanumeric: False
------------------------------
⁉️ چک کردن پالیندروم
چک کنید آیا یه رشته (مثل "Radar") پالیندروم (خوانده شده از چپ و راست یکسانه) هست یا نه. همه حروف رو کوچیک کنید و فاصلهها رو نادیده بگیرید.
text = "Radar"
# Output: True (چون radar = radar)
------------------------------
نکات برای موفقیت 🏆
🔻 برای پیدا کردن روش مناسب، توی مستندات پایتون (مثل docs.python.org) یا گوگل سرچ کنید (مثلاً "how to reverse a string in Python").
🔻 هر تمرین رو تو ویرایشگر پایتون تست کنید و خروجی رو چک کنید.
🔻 اگه خطایی گرفتید، متن خطا رو بخونید تا بفهمید مشکل کجاست.
🔻 برای تمرینهای سخت، اول با کاغذ منطق برنامه رو بنویسید.
🔻 جوابهاتون رو ارسال کنید تا باهم مرور کنیم! 😄
یه توصیه آخر 💡
این تمرینها مثل یه بازی پلهپلهان! از آسون شروع کنید و کمکم به سخت برسید. اگه جایی گیر کردید، از متدهای رشتهها (مثل اونایی که برای تغییر حروف، برش، یا قالببندی استفاده میشن) کمک بگیرید. منتظر کدهای باحالتون هستیم! 💬
💯 @PythonForYou 🧑💻👩💻
✨ برعکس کردن ترتیب کلمات در یک رشته (نه خود حروف کلمات) با استفاده از استفاده از ()split و ()join
s = "Python For You"
reversed_words = ' '.join(s.split()[::-1])
print(reversed_words)
🟢 نحوه کار:
در گام اول
s.split()
رشته رو به یک لیست از کلمات تبدیل میکنه:
['Python', 'For', 'You']
در گام دوم
[::-1]
لیست رو معکوس میکنه:
['You', 'for', 'Python']
در گام سوم
' '.join(...)
با فاصله کلمات معکوسشده رو به یک رشته جدید تبدیل میکنه.
💯 @PythonForYou 🧑💻👩💻
⭐️ تبدیل کردن نیمی از حروف یک رشته به حروف بزرگ (uppercase) - چه نیمه اول، چه نیمه دوم
s = "hello"
i = len(s) // 2
res = s[:i].upper() + s[i:]
print(res)
—————————————————
🧠 تحلیل گامبهگام:
1️⃣
len(s) // 2:
محاسبهی اندیس وسط رشته.
برای "hello" که 5 حرف داره، len(s) // 2 = 2.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
2️⃣
s[:i].upper():
نیمهی اول رشته تا اندیس وسط (اینجا "s[0:2] = "he) به حروف بزرگ تبدیل میشه: "HE".
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
3️⃣
s[i:]:
نیمهی دوم باقیمونده از رشته (اینجا "llo").
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
4️⃣
ترکیب دو بخش:
"HE" + "llo" = "HEllo"
💯 @PythonForYou 🧑💻👩💻
💥 حذف کاراکتر با اندیس مشخص (i-مین کاراکتر) از یک رشته
s = "Python For You"
i = 0
res = s[:i] + s[i+1:]
print(res)
—————————————————
برشها:
s[:9] → "Python Fo" (از اندیس 0 تا 8)
s[10:] → " You" (از اندیس 10 تا آخر)
💯 @PythonForYou 🧑💻👩💻
🟡 سطح متوسط (برای تثبیت مفاهیم پایهای input و رشتهها)
۱. ✍️ برنامهای بنویس که نام و نام خانوادگی کاربر را بگیرد و آن را بهصورت کامل در یک خط چاپ کند.
📌 ورودی: Ali و Rezaei
خروجی: Ali Rezaei
۲. ✍️ برنامهای بنویس که یک جمله از کاربر بگیرد و فقط طول (تعداد کاراکترهای) آن را چاپ کند.
۳. ✍️ برنامهای بنویس که نام کاربر را بگیرد و همهی حروف آن را با حروف بزرگ (uppercase) چاپ کند.
۴. ✍️ برنامهای بنویس که یک کلمه از کاربر بگیرد و آن را ۵ بار پشت سر هم چاپ کند.
📌 مثال: apple
خروجی: appleappleappleappleapple
✍️ برنامهای بنویس که نام و نام خانوادگی کاربر را بگیرد و فقط حرف اول هر کدام را نمایش دهد.
📌 مثال: Ali و Rezaei
خروجی: A R
💯 @PythonForYou 🧑💻👩💻
🟠 سطح سخت (ترکیب چند مفهوم ساده)
۱. ✍️ برنامهای بنویس که نام کاربر را گرفته و تعداد حروف آن را چاپ کند، سپس حروف آن را به صورت جدا با - چاپ کند.
📌 ورودی: sara
خروجی: 4 و s-a-r-a
۲. ✍️ برنامهای بنویس که از کاربر یک جمله بگیرد و فقط اولین و آخرین کاراکتر آن را چاپ کند.
📌 ورودی: hello
خروجی: h o
۳. ✍️ برنامهای بنویس که از کاربر یک رشته بگیرد و آن را برعکس چاپ کند.
📌 ورودی: hello
خروجی: olleh
۴. ✍️ برنامهای بنویس که نام کاربر را گرفته و فقط حروف زوج آن را چاپ کند.
📌 ورودی: sara
خروجی: s-r
۵. ✍️ برنامهای بنویس که یک جمله از کاربر بگیرد و تعداد فاصلههای خالی (space) داخل آن را بشمارد.
💯 @PythonForYou 🧑💻👩💻
🔴 سطح هوشمندانه (نیازمند دقت، درک بهتر رشتهها و تفکر دقیق)
۱. ✍️ برنامهای بنویس که از کاربر یک کلمه بگیرد و یک کلمهی جدید بسازد که فقط شامل اولین و آخرین حرف باشد.
📌 ورودی: banana
خروجی: ba
۲. ✍️ برنامهای بنویس که از کاربر یک جمله بگیرد و همهی فاصلهها را حذف کرده و فقط حروف را بچسباند.
📌 ورودی: I love Python
خروجی: IlovePython
۳. ✍️ برنامهای بنویس که دو کلمه از کاربر بگیرد و آنها را به صورت برعکس به هم بچسباند.
📌 ورودی: hello, world
خروجی: ollehdlrow
۴. ✍️ برنامهای بنویس که از کاربر نامی بگیرد و آن را بهصورت زیگزاگ چاپ کند.
📌 مثال: Ali
خروجی
A
L
i
۵. ✍️ برنامهای بنویس که از کاربر یک جمله بگیرد و بررسی کند چند بار حرف a در آن آمده است (با استفاده از .count() فقط).
📌 ورودی: banana apple
خروجی: 5
💯 @PythonForYou 🧑💻👩💻
📱 پرامپت برای ساخت گوی برفی با ChatGPT
A hyper-realistic photograph of a clear glass mug placed مکان. Inside the mug, there is a snow globe containing a miniature city with iconic landmarks and buildings representing اسم شهر The D glossy white text سم شهرlis naturally integrated into the scenery inside the globe. Soft, natural daylight creates realistic reflections and highlights delicate details such as subtle fingerprints on the glass. The image should be DSLR-quality with extremely sharp focus and rich depth
+ پارامتر هایی که مشخص کردم رو باید تغییر بدید تا نتیجه دلخواه و شخصی سازی شده خودتون رو تحویل بده.
💯 @PythonForYou 🧑💻👩💻
@PythonForYou.pdf
حجم:
920.4K
✅ چکیده تصویری دستورات مهم پایتون
💯 @PythonForYou 🧑💻👩💻
@PythonForYou - BOOK01.pdf
حجم:
11.95M
🐍 کتابهای زبان اصلی برای یادگیری پایتون | English Python Books
Python by Example - Learning to Program in 150 Challenges
💯 @PythonForYou 🧑💻👩💻