✔️ پروژههای پایتون از مبتدی تا پیشرفته!
اگر میخواهید پایتون را به صورت عملی یاد بگیرید، بهترین راه ساختن پروژههای واقعی است! در این پست ایدههایی از ساده تا حرفهای برای شما آماده کردهام:
🔹 سطح مبتدی (آشنایی با مبانی پایتون)
1️⃣ ماشین حساب ساده - عملیات پایه ریاضی
2️⃣ تبدیل واحد (دما، وزن، طول) - مثل سانتیگراد به فارنهایت
3️⃣ بازی حدس عدد - کامپیوتر یک عدد تصادفی انتخاب میکند و کاربر باید حدس بزند
4️⃣ لیست کارها (To-Do List) - افزودن، حذف و نمایش تسکها
🔸 سطح متوسط (کار با فایلها، کتابخانهها و دادهها)
5️⃣ مدیریت مخاطبان (دفترچه تلفن) - ذخیره و بازیابی اطلاعات از فایل
6️⃣ وباسکرپر ساده - استخراج داده از یک صفحه وب با
requestsو
BeautifulSoup7️⃣ پیشبینی آب و هوا - استفاده از APIهای رایگان مثل OpenWeatherMap 8️⃣ ربات تلگرام ساده - پاسخگویی خودکار با کتابخانه
python-telegram-bot🔺 سطح پیشرفته (پروژههای واقعی و پیچیده) 9️⃣ سیستم رزرو بلیط سینما - با پایگاه داده و رابط کاربری (Tkinter یا Django) 🔟 پلتفرم وب بلاگ - با جنگو یا Flask (احراز کاربر، نظرات، پستها) 1️⃣1️⃣ تشخیص چهره یا اشیا - با OpenCV و یادگیری ماشین 2️⃣1️⃣ تریدر خودکار ارز دیجیتال - تحلیل داده و APIنویسی (مثل Binance API) 💡 نکته: هرچه جلوتر بروید، چالشها جذابتر میشوند! 📌 شما چه پروژهای ساختهاید؟ #پایتون | #پروژه | #یادگیری_عملی | @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: برای نمایش گرافیکی نتایج. #PythonMagic | #بینایی_ماشین |@LearnPythonicy
✔️ پیدا کردن حروف منحصر به فرد در یک رشته
برای پیدا کردن حروف منحصر به فرد (حذف کاراکترهای تکراری از متن) در یک رشته، معمولاً از حلقهها و ساختارهای شرطی استفاده میکنیم:
unique_chars = []
for char in my_string:
if char not in unique_chars:
unique_chars.append(char)
اما پایتون یک روش حرفهای و بهینهتر ارائه میدهد:
unique_chars = list(set(my_string))
👀 چرا این روش کار میکند؟
- تابع set() به طور خودکار تمام عناصر تکراری را حذف میکند.
- با تبدیل نتیجه به لیست، خروجی مورد نظر ما را میدهد.
نکته:
اگر ترتیب حروف مهم است، میتوانید از dict استفاده کنید:
unique_ordered = list(dict.fromkeys(my_string))
این روش:
1. سریعتر و خوانا تر است
2. برای رشتههای طولانی کارایی بهتری دارد
3. کد را حرفهایتر نشان میدهد
#PythonTricks | #بدانیم | @LearnPythonIcy
✔️ محاسبه سریع فیبوناچی با روش ماتریسی!
برای محاسبه دنباله فیبوناچی معمولاً از روش بازگشتی استفاده میکنیم:
def fib(n):
if n <= 1:
return n
return fib(n-1) + fib(n-2)
اما یک روش حرفهای با پیچیدگی O(log n) وجود دارد:
def fib(n):
def mat_pow(mat, power):
result = [[1,0],[0,1]]
while power > 0:
if power % 2 == 1:
result = mat_mult(result, mat)
mat = mat_mult(mat, mat)
power //= 2
return result
def mat_mult(a, b):
return [[a[0][0]*b[0][0] + a[0][1]*b[1][0],
a[0][0]*b[0][1] + a[0][1]*b[1][1]],
[a[1][0]*b[0][0] + a[1][1]*b[1][0],
a[1][0]*b[0][1] + a[1][1]*b[1][1]]]
if n == 0:
return 0
mat = [[1,1],[1,0]]
result = mat_pow(mat, n-1)
return result[0][0]
#پایتون | #الگوریتم | #بهینه_سازی | @learnpythonicy
آموزش پایتون
✔️ محاسبه سریع فیبوناچی با روش ماتریسی! برای محاسبه دنباله فیبوناچی معمولاً از روش بازگشتی استفاد
چرا این روش انقلابی است؟
1. سرعت فوقالعاده: محاسبه fib(1000) در 0.0001 ثانیه
2. حافظه بهینه: بدون استفاده از پشته بازگشتی
3. پشتیبانی از اعداد بسیار بزرگ
نحوه کار:
- از توان ماتریس ۲×۲ استفاده میکند
- با تکنیک توان رسانی سریع محاسبه میشود
مقایسه عملکرد:
- fib(22) با روش بازگشتی: 0.05994 ثانیه
- fib(22) با این روش: 0.00000 ثانیه
Packtpub_Mastering_OpenCV_with_Practical.pdf
حجم:
6.6M
📚 «Mastering OpenCV with Practical Computer Vision Projects»
📚 کتاب "تسلط بر OpenCV با پروژههای عملی بینایی کامپیوتر"
✅ آیا به دنبال یادگیری عمیق و کاربردی OpenCV و پیادهسازی پروژههای واقعی بینایی کامپیوتر هستید؟
✅ این کتاب یک راهنمای جامع و پروژهمحور برای توسعهدهندگانی است که میخواهند از کتابخانه OpenCV برای حل مسائل پیچیده بینایی ماشین استفاده کنند.
✅ خلاصهای از کتاب
این کتاب با رویکردی عملی و مبتنی بر پروژه، تکنیکهای پیشرفته پردازش تصویر و بینایی کامپیوتر را آموزش میدهد. از مباحث پایهای OpenCV تا پیادهسازی پروژههای واقعی مانند تشخیص چهره، ردیابی اشیا و پردازش ویدئو، همه در این کتاب پوشش داده شدهاند.
✅ چرا این کتاب را بخوانیم؟
- مناسب برای توسعهدهندگان متوسط و پیشرفته
- ارائه مثالهای عملی و پروژههای کاربردی
- مرجع عالی برای علاقهمندان به بینایی ماشین و پردازش تصویر
#معرفی_کتاب | #بوک_تایم | آموزش پایتون | #بینایی_کامپیوتر | #opencv
✔️ دستور
split()در پایتون دستور
split()یک متد برای رشتهها (strings) در پایتون است که یک رشته را به چند بخش تقسیم میکند و نتیجه را به صورت لیست برمیگرداند. کاربرد اصلی: python رشته.split(جداکننده, maxsplit) - جداکننده (sep): مشخص میکند بر اساس چه کاراکتری تقسیم انجام شود (پیشفرض: فاصله) - maxsplit: حداکثر تعداد تقسیمها را مشخص میکند مثالهای ساده: 1. تقسیم بر اساس فاصله (پیشفرض): python text = "Hello World Python" result = text.split() print(result) # خروجی: ['Hello', 'World', 'Python'] 2. تقسیم بر اساس کاراکتر خاص: python data = "apple,banana,orange" result = data.split(',') print(result) # خروجی: ['apple', 'banana', 'orange'] 3. محدود کردن تعداد تقسیمها: python text = "one two three four" result = text.split(' ', 2) print(result) # خروجی: ['one', 'two', 'three four'] 4. تقسیم خطوط یک متن: python poem = "Line1\nLine2\nLine3" lines = poem.split('\n') print(lines) # خروجی: ['Line1', 'Line2', 'Line3'] این متد بسیار پرکاربرد است، مخصوصاً هنگام پردازش فایلهای متنی یا دادههای ساختاریافته مانند CSV.
9.7M حجم رسانه بالاست
مشاهده در ایتا
💥 راز یادگیری برنامهنویسی بدون سردرگمی!
همیشه میپرسید "چطور برنامهنویس بشم؟" یا "از کجا شروع کنم؟"
راه حلش تو این ویدئوعه!
✔️ سایت roadmap.sh مسیر یادگیری رو از پایه تا پیشرفته نشون میده...
برای همه حوزهها (فرانت، بکاند، دواپس، ...) راهنمای اختصاصی داره!
توی ویدئو بهتون نشون میدم چطور ازش استفاده کنید!
#roadmap | @learnpythonicy
شما به ۳ بُرد روزانه نیاز دارید:
1⃣ برد فیزیکی
پیادهروی، دویدن، وزنهبرداری، شنا..
2⃣ برد ذهنی
خواندن، نوشتن، خلق کردن، یادگیری..
3⃣ برد معنوی
دعا کردن، مدیتیشن، مطالعه، رشد..
یک برنده کامل باشید!
#موتیو_تایم | آموزش پایتون
✔️ ایجاد سریع فایلها و پوشههای موقت با tempfile
به چیزی موقت برای گزارشها، حافظه پنهان یا آزمایشها نیاز دارید؟
به جای کدگذاری مسیرها و تمیز کردن دستی، از ماژول tempfile استفاده کنید - همه چیز را خودش ایجاد و حذف میکند.
ماژول tempfile به شما امکان میدهد با خیال راحت با فایلها و پوشههای موقت، به خصوص در آزمایشها یا برای دادههای میانی، کار کنید - بدون نگرانی در مورد تمیز کردن.
#tempfile | @learnpythonicy