پایتون برای شما
🧩 مثال سنگین و واقعی از موضوع مقایسه زنجیرهای در پایتون (Chained Comparison) x, y, z = 5, 10, 20 re
✨ اینکه گفتیم "زنجیرههای != غیرترانستیو هستن و ممکنه نتیجه غیرمنتظره بدن" یعنی چی؟؟؟
⚠️ هشدار سریع درباره != در مقایسه زنجیرهای
🔹 چی کار میکنه؟
وقتی مینویسیم:
a != b != c
پایتون این رو اینطور میفهمه:
(a != b) and (b != c)
✅ یعنی فقط بررسی میکنه:
☚ اول؛ آیا a متفاوت از b هست؟
☚ دوم؛ آیا b متفاوت از c هست؟
🔹 اما هیچوقت نمیپرسه:
☚ آیا a متفاوت از c هم هست یا خیر؟
🔹 چرا ممکنه گمراهکننده باشه؟
☚ خیلی وقتها فکر میکنیم نوشتن بالا یعنی: "سهتا مقدار با هم متفاوتند"، ولی فقط این دو شرط رو چک میکنه:
a != b
b != c
☚ و هیچی دربارهی a != c نمیگه!
⚡️ مثلاً:
a = 1; b = 2; c = 1
☚ با وجود اینکه a == c،
a != b != c
☚ نتیجهاش True میشه، چون:
1 != 2 ✅
2 != 1 ✅
☚ در کل، True میده!
✅ راهحل مطمئن:
☚ اگر میخوای مطمئن بشی همهی سه مقدار با هم متفاوتند، بهتره واضح بگی:
a != b and b != c and a != c
☚ اینطوری هیچ جای ابهامی نمیمونه.
📌 نکته پایانی
🔻 != در مقایسه زنجیرهای، خاصه و نمیتونه جایگزین بررسی صریح تمایز همهی عناصر باشه.
🔻 اگر فقط دو شرط ابتدایی برات کافیه، مشکلی نیست.
🔻 ولی اگر دنبال اطمینان کامل هستی، حتماً از and استفاده کن 😊
💯 @PythonForYou 🧑💻👩💻
توان با شوق کوهی را زجا کند
فسرده خار نتواند ز پا کند
یادتون نره مسیر پیش رو خیلی روشن هست و البته با پستی و بلندیهای زیاد، فقط باید شوق یادگیری داشته باشید و تلاش کنید و پیگیر باشید 🌺
و البته مهمتر از همه، در فرایند یادگیری معطل و منتظر هیچکس نباشید، شما خودتون یک دنیا مهارت هستید که باید کشف بشه، تلاش کنید تا در سن پایین کشف کنید خود واقعیتون رو.
به امید موفقیت همه 🌺
💯 @PythonForYou 🧑💻👩💻
📌 چرا انجام ندادن تمرینهای پایتون بزرگترین اشتباه شماست؟
سلام به همهی همراهان عزیز 💻🐍
اگه توی کلاس پایتون شرکت میکنی اما تمرینها رو انجام نمیدی، لطفاً چند دقیقه با دقت این متن رو بخون. چون ممکنه همین الان داری زمانی رو صرف یادگیری میکنی، اما آخرش نتیجهای نبینی! چرا؟ چون...
🚫 ۱. یادگیری پایتون فقط با گوش دادن ممکن نیست!
برنامهنویسی مثل شنا کردنه؛ با تماشای ویدئو شناگر نمیشی! باید خودت داخل آب بری. تمرینها دقیقاً همون "داخل آب رفتن" هستن.
😐 ۲. بدون تمرین، مفاهیم فقط در حد تئوری باقی میمونن
تا کد نزنی، متوجه نمیشی یه دستور چطور کار میکنه یا چرا یه خطا پیش میاد.
🧠 ۳. حافظهی بلندمدت شما با تمرین تقویت میشه
حتی اگه الان متوجه میشی، بدون تمرین بعد از یه هفته یادت میره. مغز شما به تکرار نیاز داره.
⛔ ۴. موقع پروژه یا امتحان، به مشکل برمیخوری
اون موقع دیگه نه وقت مرور داری، نه کمک کسی. فقط تمرینهای قبلی میتونن کمکت کنن.
🔁 ۵. بدون تمرین، وارد چرخهی تکراری «یاد گرفتن و فراموش کردن» میشی
هر جلسه باید دوباره مرور کنی چون جلسه قبل رو تمرین نکردی و فراموش شده.
✅ پس چه باید کرد؟
بعد از هر جلسه، تمرینها رو همون روز یا نهایتاً تا ۴۸ ساعت بعد انجام بده.
حتی اگه نمیتونی همه رو حل کنی، تلاش کن! پرسیدن اشکال یعنی رشد.
تمرین نکردن یعنی وقت و انرژیات داره هدر میره... جلوی این ضرر رو همین امروز بگیر.
📣 بهترین برنامهنویس کسیه که بیشتر تمرین کرده، نه کسی که بیشتر کلاس رفته.
💯 @PythonForYou 🧑💻👩💻
🎯 آموزش جامع رشتهها (Strings) در پایتون
امروز قراره با یکی از مهمترین و جذابترین مباحث پایتون آشنا بشیم:
رشتهها (Strings)! رشتهها توی برنامهنویسی مثل یه جعبه جادویی از کلمات و کاراکترها هستن که باهاشون میتونیم کارهای خیلی باحالی انجام بدیم. بریم ببینیم چی به چیه! 🚀
رشته چیه؟ 🤔
رشتهها در پایتون یه نوع داده (Data Type) هستن که برای ذخیره متن استفاده میشن. مثلاً اسمتون، یه جمله، یا حتی یه داستان کامل میتونه یه رشته باشه!
رشتهها همیشه بین '' (تک نقلقول) یا "" (دو نقلقول) نوشته میشن.
در پایتون، رشتهها یکی از مهمترین انواع داده هستند. اینجا همه نکات مهم و کاربردیشون رو براتون آوردم:
🔹 ۱. تعریف رشته
رشتهها رو میتونیم با '، " یا ''' بنویسیم:
s1 = 'hello'
s2 = "world"
s3 = '''multi
line string'''
برای استفاده از ' یا " داخل رشته، از \ استفاده کن:
s = 'I\'m learning Python'
🔹 ۲. رشتهها تغییرناپذیرن (Immutable)
نمیتونی یه کاراکتر خاص از رشته رو تغییر بدی:
s = "python"
s[0] = "P" # ❌ خطا میده
🔹 ۳. الحاق و تکرار
"Hello" + " " + "World" → 'Hello World'
"ha" * 3 → 'hahaha'
🔹 ۴. اندیسگذاری و برش
s = "Python"
s[0] → 'P'
s[-1] → 'n'
s[1:4] → 'yth'
s[::-1] → 'nohtyP'
s[::2] → 'Pto'
📌 اندیس از ۰ شروع میشه و منفیها از آخر میشمرن.
🔹 ۵. تابعهای پرکاربرد رشتهای
"HELLO".lower() → 'hello'
"hi".upper() → 'HI'
"hello".capitalize() → 'Hello'
"text".replace("x", "z") → 'tezt'
"ali@gmail.com".find("@") → 3
" a b ".strip() → 'a b'
"a,b,c".split(",") → ['a', 'b', 'c']
" ".join(["hi", "there"]) → 'hi there'
"42".zfill(5) → '00042'
🔹 ۶. قالببندی رشته
name = "Ali"
age = 20
f"My name is {name} and I'm {age}"
🔹 ۷. چک کردن محتوای رشته
"abc".isalpha() → True
"123".isdigit() → True
"abc123".isalnum() → True
🔹 ۸. تبدیل عدد به رشته و بالعکس
str(123) → '123'
int("456") → 456
🔹 ۹. بررسی عضویت
"py" in "python" → True
"z" not in "hello" → True
🔹 ۱۰. طول رشته
len("python") → 6
🔹 ۱۱. معکوسکردن سریع
"python"[::-1] → 'nohtyp'
🔹 ۱۲. کد یونیکد کاراکترها
ord("A") → 65
chr(97) → 'a'
🔹 ۱۳. استفاده از عبارات منظم (Regex)
import re
re.findall(r"\w+@\w+\.\w+", "email: ali@gmail.com")
🔹 نکته مهم نهایی:
رشتهها در پایتون یه دنیای کامل هستن! ترکیب توابع، برشها و قالببندی میتونه خیلی از کارها رو ساده کنه.
💯 @PythonForYou 🧑💻👩💻
🎯 آموزش کامل اندیسگذاری و برش رشتهها در پایتون
در پایتون، رشتهها مثل یه لیست از کاراکترها هستن که میتونی با استفاده از اندیس، بهشون دسترسی پیدا کنی یا قسمتی از رشته رو جدا کنی.
🔹 ۱. اندیسگذاری (Indexing)
اندیس از صفر شروع میشه. با اندیس منفی هم میتونی از انتهای رشته به عقب بشمری.
s = "Python"
print(s[0]) # 'P' → اولین حرف
print(s[1]) # 'y'
print(s[-1]) # 'n' → آخرین حرف
print(s[-2]) # 'o'
🔹 ۲. برش یا Slicing
فرم کلی برش:
s[start:end:step]
start → از این اندیس شروع میکنه (شامل میشه)
end → تا قبل از این اندیس میره (شامل نمیشه)
step → فاصله بین کاراکترها
✂️ چند مثال ساده:
s = "Python"
s[1:4] # 'yth' → از اندیس 1 تا قبل از 4
s[:3] # 'Pyt' → از اول تا قبل از 3
s[2:] # 'thon' → از اندیس 2 تا آخر
s[:] # 'Python' → کل رشته
🔁 مثالهایی با گام (step):
s = "Python"
s[::2] # 'Pto' → هر دو حرف یکی درمیون
s[::-1] # 'nohtyP' → برعکس کردن رشته
s[1::2] # 'yhn'
🔹 ۳. اندیسگذاری منفی
اگر بخوای از آخر به اول بشمری، از اندیس منفی استفاده کن:
s = "abcdef"
s[-1] # 'f'
s[-3:] # 'def' → سه حرف آخر
s[:-3] # 'abc' → بجز سه حرف آخر
🔹 ۴. تفاوت : و ... در پایتون چیه؟
✅ : برای slicing استفاده میشه.
❌ ... (سه نقطه) توی رشتهها کاربرد نداره و باعث خطا میشه.
s = "python"
print(s[1:4]) # 'yth'
print(s[...]) # ❌ خطا: Ellipsis تو رشتهها معنی نداره
🔹 ۵. نکته طلایی
در slicing، همیشه start شامل میشه ولی end شامل نمیشه.
یعنی:
s = "hello"
print(s[1:4]) # 'ell' → شامل اندیس 1، 2 و 3
📌 این مفاهیم پایهای هستن، ولی خیلی جاها کاربرد دارن. مخصوصاً توی کار با متن، فایلها یا دادههای تحلیلی.
✅ جمعبندی:
s = "Python"
s[:] ← کل رشته
s[2:] ← از اندیس ۲ تا آخر
s[:4] ← تا اندیس ۴ (غیرشامل)
s[1:4] ← اندیس ۱ تا ۳
s[::2] ← هر دو کاراکتر یکی
s[::-1] ← معکوس
s[-3:] ← سه کاراکتر آخر
s[:-3] ← بجز سهتا آخر
💯 @PythonForYou 🧑💻👩💻
💡 کاراکترهای ویژه در رشتههای پایتون
برای ایجاد خط جدید، تب، نمایش علامت نقلقول یا بکاسلش داخل رشتهها، باید از کاراکترهای ویژه استفاده کنیم. اینها بهشون میگن escape sequence و در همه زبانهای برنامهنویسی کاربرد دارن.
🔹 \n → خط جدید
🔹 \t → فاصله تب
🔹 \\ → نمایش بکاسلش
🔹'\ و "\ → گذاشتن نقلقول تکی یا دوتایی در متن
🧪 مثالهای کاربردی:
------------------------------
print("Hello\nWorld")
☚ خروجی:
Hello
World
------------------------------
print("Name:\tAli")
☚ خروجی:
Name: Ali
------------------------------
print("C:\\Users\\Ali")
☚ خروجی:
C:\Users\Ali
------------------------------
print("She said: \"Hi!\"")
☚ خروجی:
She said: "Hi!"
------------------------------
💯 @PythonForYou 🧑💻👩💻
🧩 کد یونیکد نمادهای متنی پرکاربرد در پایتون
🔹 کاراکترهای یونیکد در پایتون؛ از چاپ قلب تا هشدار!
در پایتون، برای چاپ نمادهایی مثل قلب ❤️، تیک ✔️، هشدار ⚠️ یا هر کاراکتر خاص دیگر (حتی اموجیها)، میتونی از کدهای Unicode استفاده کنی.
یونیکدها بهصورت uXXXX\ (برای کدهای ۴ رقمی) یا UXXXXXXXX\ (برای کدهای طولانیتر) نوشته میشن و داخل رشتهها، نماد موردنظر رو نمایش میدن.
📌 نمونه ساده:
print("\u2764")
print("\u26A0")
print("\U0001F602")
📊 در ادامه، لیستی از یونیکدهای پرکاربرد دستهبندیشده رو میبینی که میتونی توی پروژههات، آموزشها یا رابطهای متنی استفاده کنی:
❤️ قلبها و احساسات
\U00002764 → ❤️ قلب قرمز
\U0001F970 → 🥰 صورت عاشق
\U0001F60D → 😍 صورت با چشم قلبی
\U0001F49B → 💛 قلب زرد
\U0001F493 → 💓 قلب تپنده
🔔 اعلانها، هشدار و وضعیتها
\U0001F514 → 🔔 زنگ اعلان
\U0001F6A8 → 🚨 آژیر هشدار
\U000026A0 → ⚠️ علامت هشدار
\U00002757 → ❗️ علامت تعجب قرمز
\U00002753 → ❓ علامت سوال قرمز
📚 ابزارها و آموزش
\U0001F4D6 → 📖 کتاب باز
\U0001F4DA → 📚 کتابها
\U0001F4DD → 📝 یادداشتبرداری
\U0001F393 → 🎓 کلاه فارغالتحصیلی
\U0001F4C8 → 📈 نمودار رشد
💼 کار و اداره
\U0001F4BC → 💼 کیف کاری
\U0001F4C5 → 📅 تقویم
\U000023F0 → ⏰ ساعت زنگدار
\U00002699 → ⚙️ چرخدنده
\U0001F4CB → 📋 برگه یادداشت
⭐️ ستارهها و امتیاز
\U00002B50 → ⭐️ ستاره
\U0001F31F → 🌟 ستاره درخشان
\U0001F4AB → 💫 ستاره چرخان
\U0001F525 → 🔥 آتش (محبوب)
👥 افراد و ارتباطات
\U0001F464 → 👤 فرد
\U0001F465 → 👥 گروه افراد
\U0001F91D → 🤝 دست دادن
\U0001F4AC → 💬 حباب گفتگو
\U0001F5E8 → 🗨 حباب چت
🔢 اعداد دایرهای
\U000024FF → ⓿ عدد صفر دایرهای
\U000024F5 → ⓵ عدد 1 دایرهای
\U000024F6 → ⓶ عدد 2 دایرهای
\U000024F7 → ⓷ عدد 3 دایرهای
\U000024F8 → ⓸ عدد 4 دایرهای
🔧 ابزارهای فنی
\U00002699 → ⚙️ چرخدنده (تنظیمات)
\U0001F527 → 🔧 آچار
\U0001F528 → 🔨 چکش
\U0001F529 → 🔩 پیچ و مهره
\U0001F6E0 → 🛠 ابزار تعمیرات
➡️ علامتهای پیکان و جهتها
\U000027A1 → ➡️
\U00002B05 → ⬅️
\U00002B06 → ⬆️
\U00002B07 → ⬇️
\U000021A9 → ↩️
\U000021AA → ↪️
\U0001F503 → 🔃
⏰ زمان و تاریخ
\U000023F0 → ⏰ ساعت زنگدار
\U0001F551 → 🕑 ساعت ۲
\U0001F553 → 🕓 ساعت ۴
\U0001F55C → 🕜 ساعت یک و نیم
\U0001F567 → 🕧 ساعت دوازده و نیم
☀️ آبوهوا و طبیعت
\U00002600 → ☀️ خورشید
\U0001F324 → 🌤 آفتابی با ابر
\U000026C5 → ⛅️ آفتابی ابری
\U0001F327 → 🌧 باران
\U0001F328 → 🌨 برف
\U0001F32A → 🌪 گردباد
💡 نمادهای ریاضی و عملیاتی
\U0000221E → ∞ بینهایت
\U000000D7 → × ضربدر
\U000000F7 → ÷ تقسیم
\U00002212 → − حداقل
\U00002213 → ∓ بعلاوه منفی
🚀 فناوری و فضا
\U0001F680 → 🚀 موشک
\U0001F4BB → 💻 لپتاپ
\U0001F680 → 🚀 فضاپیما
\U0001F30D → 🌍 زمین
\U0001F47E → 👾 موجود فضایی
🎨 هنر و سرگرمی
\U0001F3A8 → 🎨 پالت رنگ
\U0001F3B5 → 🎵 نت موسیقی
\U0001F3AE → 🎮 دسته بازی
\U0001F4F7 → 📷 دوربین
\U0001F39E → 🎞 فیلم
🏆 جوایز و افتخارات
\U0001F3C6 → 🏆 جام قهرمانی
\U0001F947 → 🥇 مدال طلا
\U0001F948 → 🥈 مدال نقره
\U0001F949 → 🥉 مدال برنز
\U0001F3C5 → 🏅 مدال ورزشی
💯 @PythonForYou 🧑💻👩💻
کد اکتال (Octal) چیست؟ و چگونه در پایتون استفاده میشود؟
1️⃣ مفهوم کد اکتال
کد اکتال یک سیستم عددی پایه ۸ است که اعداد را با ارقام ۰ تا ۷ نمایش میدهد. در برنامهنویسی، مخصوصاً در رشتهها، این سیستم برای نمایش مستقیم مقدار عددی کاراکترها استفاده میشود. یعنی هر کد اکتال معادل یک عدد در مبنای ۱۰ (دهدهی) است که نشاندهنده یک کاراکتر مشخص در جدول ASCII یا Extended ASCII است.
2️⃣ چرا از کد اکتال استفاده میشود؟
🔻 نمایش کاراکترهای غیرقابل تایپ: بعضی کاراکترها مثل کاراکترهای کنترلی (مثل زنگ هشدار، تب، برگشت خط) را نمیتوان مستقیم در رشته نوشت، پس از کد اکتال استفاده میکنند.
🔻 سازگاری با زبانهای قدیمی و سیستمعاملها: بسیاری از سیستمها از کدهای اکتال استفاده میکردند.
🔻 خوانایی و واضح بودن: کدهای اکتال کوتاه و مختصرند و بعضی برنامهنویسان برای نمایاندن کاراکترها از آنها بهره میبرند.
3️⃣ چطور کد اکتال را در پایتون بنویسیم؟
در پایتون، کد اکتال به شکل \ooo (یک اسلش بکاسلش بهعلاوه ۳ رقم اکتال) نوشته میشود. مثلاً:
040\ یعنی کاراکتر فاصله (space) که معادل عدد ۳۲ در دسیمال است.
012\ یعنی خط جدید (Line Feed) که معادل عدد ۱۰ است.
4️⃣ محدودیتها
🔻 کد اکتال فقط میتواند تا عدد ۳۷۷ (۳ رقمی اکتال) را نمایش دهد که برابر ۲۵۵ دسیمال است. یعنی فقط میتواند کاراکترهای یک بایتای را پوشش دهد.
🔻 برای یونیکدهای گستردهتر و اموجیها باید از کدهای هگزادسیمال یونیکد (مثلاً uXXXX\ یا UXXXXXXXX\) استفاده کنید.
5️⃣ جدول نمونه کدهای اکتال رایج و کاربردشان
\040 → Space (فاصله)
\041 → ! (علامت تعجب)
\042 → " (گیومه دوتایی)
\043 → # (هشتگ)
\044 → $ (علامت دلار)
\045 → % (درصد)
\046 → & (و)
\047 → ' (گیومه تکی)
\050 → ( (پرانتز باز)
\051 → ) (پرانتز بسته)
\052 → * (ستاره)
\053 → + (بعلاوه)
\054 → , (ویرگول)
\055 → - (منها)
\056 → . (نقطه)
\057 → / (اسلش)
\060 → 0
\061 → 1
\062 → 2
\063 → 3
\064 → 4
\065 → 5
\066 → 6
\067 → 7
\070 → 8
\071 → 9
\072 → : (دو نقطه)
\073 → ; (نقطه ویرگول)
\074 → < (کمتر از)
\075 → = (برابر)
\076 → > (بزرگتر از)
\077 → ? (علامت سوال)
\100 → @ (آت)
\101 → A
\102 → B
\103 → C
\104 → D
\105 → E
\106 → F
\107 → G
\110 → H
\111 → I
\112 → J
\113 → K
\114 → L
\115 → M
\116 → N
\117 → O
\120 → P
\121 → Q
\122 → R
\123 → S
\124 → T
\125 → U
\126 → V
\127 → W
\130 → X
\131 → Y
\132 → Z
\133 → [ (براکت باز)
\134 → \ (بکاسلش)
\135 → ] (براکت بسته)
\136 → ^ (کلاهک)
\137 → _ (آندرلاین)
\140 → ` (بکتیک)
\141 → a
\142 → b
\143 → c
\144 → d
\145 → e
\146 → f
\147 → g
\150 → h
\151 → i
\152 → j
\153 → k
\154 → l
\155 → m
\156 → n
\157 → o
\160 → p
\161 → q
\162 → r
\163 → s
\164 → t
\165 → u
\166 → v
\167 → w
\170 → x
\171 → y
\172 → z
\173 → { (آکولاد باز)
\174 → | (خط عمودی)
\175 → } (آکولاد بسته)
\176 → ~ (تِلدا)
\177 → DEL (Delete)
💯 @PythonForYou 🧑💻👩💻
در ادامه، چند نکته حرفهای و کاربردی درباره رشتهها در پایتون همراه با تحلیل و مثال واقعی براتون آوردم:
💡 ۱. جایگزینی چندکاراکتری سریع با ()translate و ()maketrans
برای مواقعی که باید چند کاراکتر را همزمان جایگزین کنی (بهمراتب سریعتر از چند replace مجزا است.)
table = str.maketrans("aeiou", "12345")
text = "Hello, world!"
print(text.translate(table)) # H2ll4, w4rld!
✅ مثال کاربردی: کدگذاری ساده یا حذف نویسههای خاص
💡 ۲. قالببندی دقیق اعداد و عرض با f‑strings
میتونی عددها را راستچین یا با تعداد اعشار مشخص نمایش بدی.
pi = 3.1415926535
print(f"{pi:10.2f}") # ' 3.14' (پهنا ۱۰، دو رقم اعشار)
🎯 برای چاپ ستونبندی یا گزارشهای مالی فوقالعادهست
💡 ۳. چند خطی با f‑strings مرتب
☚ برای ساخت متنی که چند خط داره و درونش متغیر داریم، بدون دردسر:
name = "Nina"
pi = 3.14159
msg = (
f"Hello, {name}.\n"
f"Pi ≈ {pi:.2f}\n"
f"Enjoy coding!"
)
print(msg)
☚ خروجی مرتب و خوانا؛ از خط جدا و عدد فرمتشده استفاده کردهای
💡 ۴. پاکسازی حرفهای strip(), lstrip(), rstrip()
☚ برای پاک کردن فضای اضافی یا نشانههایی دور متن:
s = " Hello, World! "
print(s.lstrip()) # "Hello, World! "
print(s.rstrip()) # " Hello, World!"
print(s.strip(",")) # " Hello, World! " (اگر"," بود پاک میشد)
🛠 عالی برای مرتب کردن دیتا یا ورودی کاربر
💡 ۵. شکستن و اتصال؛ ()split و ()join
☚ مهمترین ابزار برای پردازش داده مثل CSV یا لاگ:
words = "Python,is,awesome".split(",")
print(words) # ['Python','is','awesome']
print(" ".join(words)) # "Python is awesome"
روش استاندارد برای تبدیل رشته به لیست و برعکس
💡 ۶. بررسی شروع یا پایان رشته
☚ بدون regex، سریع بررسی انجام میشه:
url = "https://example.com"
print(url.startswith("https://")) # True
print(url.endswith(".com")) # True
✅ کاربرد: اعتبارسنجی سریع URL، فایل، پروتکل
💡 ۷. مدیریت چند کاراکتر خاص و حذف نویسهها
☚ مثال ردیت برای حذف علائم نگارشی:
import string
txt = "Hey, you - what are you doing?"
clean = txt.translate(str.maketrans("", "", string.punctuation))
words = clean.lower().split()
print(words) # ['hey','you','what','are','you','doing']
🧩 عالی برای پردازش متن در NLP یا chatbot
🔎 تحلیل کلی:
translate + maketrans → سریعترین روش برای چند جایگزینی.
f‑strings → هم خوانا هم سریع برای قالببندی.
split/join → پایهایترین ابزار برای جداسازی و اتصال.
strip → بهترین راه برای حذف نویسههای ناخواسته.
startswith/endswith → چک اولیه ساده برای اعتبارسنجی یا دستهبندی رشتهها.
همه اینها روشهایی هستن که هر Pythonist حرفهای باید حتما بلد باشه 😎
💯 @PythonForYou 🧑💻👩💻
🎯 قالببندی دقیق با f-strings در پایتون
امروز قراره با یه ابزار فوقالعاده تو پایتون آشنا بشیم: f-strings! این ابزار مثل یه عصای جادوییه که بهمون کمک میکنه متنها و متغیرها رو به شکل تمیز و قشنگ کنار هم بذاریم. بریم ببینیم چطور کار میکنه! 🚀
در پایتون، برای قالببندی دقیق رشتهها میتوان از f-strings استفاده کرد. این روش امکان کنترل دقیق بر روی نحوه نمایش دادهها را فراهم میکند و بهویژه در گزارشدهی، نمایش اعداد و ساخت جداول بسیار مفید است.
📌 ساختار کلی f-string برای قالببندی
f"{expression:width.precisionspecifier}"
🔻 expression: عبارت یا متغیری که میخواهید در رشته قرار دهید.
🔻 width: تعداد کل کاراکترهایی که میخواهید برای نمایش اختصاص دهید.
🔻 precision: تعداد ارقام اعشاری که میخواهید نمایش داده شوند.
🔻 specifier: نوع نمایش داده (مثلاً f برای اعداد اعشاری، d برای اعداد صحیح).
name = "Alex"
age = 15
print(f"Hi, I’m {name} and I’m {age} years old!")
خروجی:
Hi, I’m Alex and I’m 15 years old!
⬟〰️⬟〰️⬟〰️⬟〰️⬟
🔹 مثالهای کاربردی
۱. نمایش اعداد اعشاری با تعداد مشخصی از ارقام
pi = 3.1415926535
print(f"{pi:.2f}") # خروجی: 3.14
در این مثال، عدد pi با دو رقم اعشار نمایش داده میشود.
------------------------------
۲. نمایش اعداد با عرض مشخص
number = 42
print(f"{number:10}") # خروجی: ' 42'
در اینجا، عدد 42 در یک رشته با طول ۱۰ کاراکتر قرار میگیرد و فضای خالی قبل از آن پر میشود.
------------------------------
۳. ترکیب عرض و دقت برای نمایش اعداد
cost = 123.456
print(f"{cost:10.2f}") # خروجی: ' 123.46'
در این مثال، عدد cost با دو رقم اعشار و در یک رشته با طول ۱۰ کاراکتر نمایش داده میشود.
------------------------------
۴. استفاده از specifier برای نمایش درصد
rate = 0.1234
print(f"{rate:.2%}") # خروجی: '12.34%'
در اینجا، عدد rate به درصد تبدیل شده و با دو رقم اعشار نمایش داده میشود.
------------------------------
🔹 انواع specifierهای قالببندی در f-strings
در ادامه، به بررسی انواع specifierهای رایج در f-strings میپردازیم:
------------------------------
۱. نمایش اعداد صحیح
number = 42
print(f"{number:d}") # خروجی: 42
در این مثال، عدد 42 بهصورت صحیح نمایش داده میشود.
------------------------------
۲. نمایش اعداد اعشاری با تعداد مشخصی از ارقام
pi = 3.1415926535
print(f"{pi:.2f}") # خروجی: 3.14
در اینجا، عدد pi با دو رقم اعشار نمایش داده میشود.
------------------------------
۳. نمایش اعداد با عرض مشخص
number = 42
print(f"{number:10}") # خروجی: ' 42'
در اینجا، عدد 42 در یک رشته با طول ۱۰ کاراکتر قرار میگیرد و فضای خالی قبل از آن پر میشود.
------------------------------
۴. نمایش درصد
rate = 0.1234
print(f"{rate:.2%}") # خروجی: 12.34%
در اینجا، عدد rate به درصد تبدیل شده و با دو رقم اعشار نمایش داده میشود.
------------------------------
۵. نمایش اعداد در قالب علمی
large_number = 123456789
print(f"{large_number:.2e}") # خروجی: 1.23e+08
در اینجا، عدد large_number در قالب علمی با دو رقم اعشار نمایش داده میشود.
------------------------------
۶. نمایش اعداد با جداکننده هزارگان
large_number = 123456789
print(f"{large_number:,}") # خروجی: 123,456,789
در اینجا، عدد large_number با جداکننده هزارگان نمایش داده میشود.
------------------------------
۷. نمایش اعداد با پر کردن فضای خالی
number = 42
print(f"{number:05d}") # خروجی: 00042
در اینجا، عدد 42 با پر کردن فضای خالی به طول ۵ کاراکتر نمایش داده میشود.
------------------------------
چرا f-string اینقدر باحاله؟ 😎
خوندنش راحته: کد تمیز و قابل فهمه.
سریعه: پایتون f-string رو خیلی سریع پردازش میکنه.
همهچیز رو میتونی توش بذاری: از متغیرها گرفته تا محاسبات و حتی فرمتهای خاص!
🔥 چند نکته طلایی! 🔥
🔻 این f-string فقط تو پایتون 3.6 و بالاتر کار میکنه. اگه نسخه قدیمیتر داری، باید از روشهای دیگه مثل ()format استفاده کنی.
🔻 یادت باشه قبل از رشته حتماً f یا F بذاری، وگرنه پایتون فکر میکنه یه رشته معمولیه!
🔻 میتونی تو {} حتی توابع یا عبارتهای پیچیدهتر بنویسی، ولی مواظب باش کدت زیادی شلوغ نشه.
💯 @PythonForYou 🧑💻👩💻
🎯 متدهای مهم رشتهها در پایتون: ابزارهای جادویی برای کار با متن! ✨
رشتهها تو پایتون کلی متد (تابع آماده) دارن که کار با متن رو مثل آب خوردن میکنن! امروز قراره مهمترین متدهای رشتهها رو با مثالهای ساده و کاربردی یاد بگیرید. آمادهاید؟ بریم شروع کنیم! 🚀
⬟〰️⬟〰️⬟〰️⬟〰️⬟
⭐️ ۱. 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 🧑💻👩💻