eitaa logo
آموزش پایتون
63 دنبال‌کننده
244 عکس
106 ویدیو
52 فایل
ارتباط: https://eitaa.com/joinchat/956171922Cb501d5a32f لینک همین کانال: @LearnPythonIcy لینک کانال تلگرام: https://t.me/learnpythonicy
مشاهده در ایتا
دانلود
⚡️ معکوس کردن یک رشته در پایتون با روشی نوآورانه! برای معکوس کردن یک رشته در پایتون، معمولاً از حلقه‌ها یا متدهای خاص استفاده می‌کنیم: reversed_string = "" for char in my_string: reversed_string = char + reversed_string اما یک روش ساده‌تر و سریع‌تر وجود دارد که می‌تواند کار ما را به‌راحتی انجام دهد: reversed_string = my_string[::-1] در اینجا، با استفاده از اسلایسینگ (slicing) می‌توانیم رشته را به‌سادگی از انتها به ابتدا بخوانیم. با قرار دادن ::-1 در انتهای رشته، به پایتون می‌گوییم که هر کاراکتر را با گام منفی یک انتخاب کند و بدین ترتیب رشته را معکوس می‌کند. این روش نه تنها خواناتر است، بلکه به‌طور قابل توجهی کارایی بالاتری دارد و می‌تواند در بیشتر سناریوها به‌راحتی استفاده شود. | @learnpythonicy | آموزش پایتون
🔥 محاسبه فاکتوریل در پایتون با ۳ روش مختلف! برای محاسبه فاکتوریل (n!) در پایتون، می‌توانید از این روش‌ها استفاده کنید: 1. روش کلاسیک با حلقه: factorial = 1 for i in range(1, n+1): factorial *= i 2. روش بازگشتی (Recursive): def factorial(n): return 1 if n == 0 else n * factorial(n-1) 3. روش یکخطی با math (بهینه و سریع!): from math import factorial result = factorial(n) | @learnpythonicy | آموزش پایتون
🔥 محاسبه توان اعداد در پایتون با ۵ روش جادویی! برای محاسبه a^b در پایتون، این روش‌های خلاقانه را امتحان کنید: 1️⃣ روش ساده با عملگر result = a ** b 2️⃣ روش ریاضی با pow() result = pow(a, b) # بهینه‌تر از ** برای اعداد بزرگ 3️⃣ روش حلقه‌ای (بدون عملگر) result = 1 for _ in range(b): result *= a 4️⃣ روش بازگشتی خلاقانه def power(a, b): return 1 if b == 0 else a * power(a, b-1) 5️⃣ روش نمایی با لگاریتم (برای اعداد اعشاری) import math result = math.exp(b * math.log(a)) 💎 روش ویژه: محاسبه توان با بیت‌ها (روش برنامه‌نویسی سیستمی) def bit_power(a, b): result = 1 while b > 0: if b & 1: result *= a a *= a b >>= 1 return result 🎯 نکات طلایی: - روش ** برای استفاده عمومی مناسب است - دستور pow() برای محاسبات مدولار بهتر عمل می‌کند (pow(a,b,mod)) - روش بیتی سریع‌ترین روش برای توان‌های بزرگ است ✨ چالش: می‌توانید تابعی بنویسید که همه این روش‌ها را با هم مقایسه کند؟ | @learnpythonicy
✔️ تولید اعداد تصادفی در پایتون با ۷ روش حرفه‌ای! برای تولید اعداد تصادفی در پایتون، این تکنیک‌های کاربردی را امتحان کنید: 1️⃣ ماژول random پایه import random print(random.random()) # عدد اعشاری بین 0 تا 1 2️⃣ محدوده عددی print(random.randint(1, 100)) # عدد صحیح بین 1 تا 100 3️⃣ انتخاب تصادفی از لیست items = ['a', 'b', 'c'] print(random.choice(items)) # انتخاب یک آیتم 4️⃣ نمونه‌گیری بدون جایگزینی print(random.sample(range(100), 5)) # 5 عدد منحصر بفرد 5️⃣ توزیع نرمال print(random.gauss(0, 1)) # توزیع گاوسی 6️⃣ برای نتایج تکرارپذیر random.seed(42) # ثابت کردن نتایج تصادفی 7️⃣ ماژول secrets برای امنیت import secrets print(secrets.randbelow(100)) # ایمن برای رمزنگاری 🗝 روش ویژه: NumPy برای آرایه‌های تصادفی import numpy as np print(np.random.rand(3,3)) # ماتریس 3x3 تصادفی نکات طلایی - برای امنیت از secrets استفاده کنید - برای علم داده از numpy.random استفاده شود - دستور seed برای دیباگ مفید است | | | | | @learnpythonicy > *برای بازی‌ها، شبیه‌سازی‌ها و رمزنگاری کاربرد دارد*
✔️ ۵ ترفند جادویی در پردازش تصویر با پایتون (OpenCV + PIL) پردازش تصویر یکی از جذاب‌ترین بخش‌های برنامه‌نویسی است. در اینجا تکنیک‌های کاربردی را با کتابخانه‌های محبوب پایتون بررسی می‌کنیم: 1️⃣چرخش تصویر با حاشیه‌های هوشمند import cv2 import numpy as np img = cv2.imread('image.jpg') assert img is not None, "تصویر یافت نشد!" # بررسی وجود فایل rows, cols = img.shape[:2] M = cv2.getRotationMatrix2D((cols/2, rows/2), 45, 1) rotated = cv2.warpAffine(img, M, (cols, rows), borderMode=cv2.BORDER_REFLECT) cv2.imwrite('rotated.jpg', rotated) بهینه‌سازی: - اضافه کردن
assert
برای بررسی وجود فایل. - ذخیره خودکار خروجی با
imwrite
. 2️⃣ فیلتر ترکیبی (Edge Detection + Blur) from PIL import Image, ImageFilter image = Image.open('image.jpg') edges = image.filter(ImageFilter.FIND_EDGES()) # تابع باید با حروف کوچک باشد: FIND_EDGES → FIND_EDGES blurred_edges = edges.filter(ImageFilter.GaussianBlur(radius=2)) blurred_edges.save('edges_blurred.jpg') 3️⃣ تغییر رنگ‌های خاص با HSV hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) lower_red = np.array([0, 100, 100]) upper_red = np.array([10, 255, 255]) mask = cv2.inRange(hsv, lower_red, upper_red) img[mask > 0] = [0, 255, 0] # تغییر رنگ قرمز به سبز cv2.imwrite('color_changed.jpg', img) نکته: - برای تشخیص بهتر قرمز، محدوده
[170, 100, 100]
تا
[180, 255, 255]
را نیز اضافه کنید. 4️⃣ تصحیح خودکار نور gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) equalized = cv2.equalizeHist(gray) cv2.imwrite('equalized_gray.jpg', equalized) # نسخه رنگی: yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV) yuv[:,:,0] = cv2.equalizeHist(yuv[:,:,0]) equalized_color = cv2.cvtColor(yuv, cv2.COLOR_YUV2BGR) cv2.imwrite('equalized_color.jpg', equalized_color) 5️⃣ تشخیص چهره + تار کردن پس‌زمینه face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) mask = np.zeros_like(img) for (x,y,w,h) in faces: mask[y:y+h, x:x+w] = img[y:y+h, x:x+w] # حفظ چهره blurred_bg = cv2.GaussianBlur(img, (25,25), 0) result = np.where(mask==0, blurred_bg, mask) # ترکیب با ماسک cv2.imwrite('blurred_bg.jpg', result) 📚 کتابخانه‌های پیشنهادی - OpenCV: برای پردازش حرفه‌ای تصویر. - Pillow: برای عملیات ساده‌تر. - scikit-image: برای الگوریتم‌های پیشرفته (مثل exposure.equalize_adapthist). - matplotlib: برای نمایش گرافیکی نتایج. | |@LearnPythonicy
✔️ مدیریت فایل‌ها در پایتون با ۷ روش حرفه‌ای! برای کار با فایل‌ها در پایتون، این تکنیک‌های کاربردی را امتحان کنید: 1️⃣ باز کردن و خواندن فایل
with open('file.txt', 'r') as f:
    content = f.read()
print(content)
2️⃣ نوشتن در فایل
with open('file.txt', 'w') as f:
    f.write("سلام دنیا!")
3️⃣ افزودن به فایل
with open('file.txt', 'a') as f:
    f.write("\nخط جدید")
4️⃣ خواندن خط به خط
with open('file.txt', 'r') as f:
    for line in f:
        print(line.strip())
5️⃣ بررسی وجود فایل
import os
print(os.path.exists('file.txt'))  # True یا False
6️⃣ حذف فایل
import os
os.remove('file.txt')
7️⃣ مدیریت مسیرها با pathlib
from pathlib import Path
path = Path('file.txt')
print(path.exists())
print(path.read_text())
🗝 روش ویژه: خواندن و نوشتن فایل‌های CSV با pandas
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
df.to_csv('output.csv', index=False)
نکات طلایی * همیشه از
with
برای مدیریت فایل استفاده کنید * برای مسیرهای پیچیده از
pathlib
کمک بگیرید * برای داده‌های جدولی از
pandas
بهره ببرید | | | | @learnpythonic > *برای ذخیره‌سازی، تحلیل داده و اتوماسیون کاربرد دارد*
✔️ کار با لیست‌ها در پایتون با ۷ روش حرفه‌ای! برای مدیریت لیست‌ها و داده‌های متوالی، این تکنیک‌های کاربردی را امتحان کنید: 1️⃣ ایجاد لیست fruits = ['apple', 'banana', 'cherry'] print(fruits) 2️⃣ اضافه کردن عنصر fruits.append('orange') print(fruits) 3️⃣ درج عنصر در موقعیت خاص fruits.insert(1, 'kiwi') print(fruits) 4️⃣ حذف عنصر fruits.remove('banana') print(fruits) 5️⃣ دسترسی به عناصر با ایندکس print(fruits[0]) # اولین عنصر print(fruits[-1]) # آخرین عنصر 6️⃣ مرتب‌سازی لیست numbers = [5, 2, 9, 1] numbers.sort() print(numbers) 7️⃣ لیست‌ها با فهم لیست (List Comprehension) squares = [x**2 for x in range(5)] print(squares) 🗝 روش ویژه: تبدیل لیست به آرایه NumPy import numpy as np arr = np.array([1, 2, 3, 4]) print(arr * 2) نکات طلایی * برای اضافه و حذف عنصر از
append
و
remove
استفاده کنید * List comprehension کد شما را کوتاه و خواناتر می‌کند * برای محاسبات عددی بزرگ، لیست‌ها را به
NumPy array
تبدیل کنید | | | | @learnpythonicy > *برای ذخیره داده، محاسبات و پردازش اطلاعات کاربرد دارد*