آموزش کد چند فرآیندی (Multiprocessing) در پایتون 🐍
مقدمه
چند فرآیندی یا Multiprocessing یکی از تکنیکهای مهم در برنامهنویسی موازی است که به شما امکان میدهد تا چندین فرآیند را به طور همزمان اجرا کنید. این تکنیک به خصوص برای بهرهبرداری از پردازندههای چند هستهای بسیار مفید است و میتواند عملکرد برنامههای شما را بهبود بخشد.
مفهوم اولیه
در پایتون، کتابخانهی multiprocessing ابزارهای لازم برای اجرای چند فرآیندی را فراهم میکند. این کتابخانه به شما امکان میدهد تا از فرآیندهای جداگانه برای اجرای وظایف مختلف استفاده کنید.
مثال کد
توضیحات:
1. ایمپورت کتابخانهی multiprocessing:
2. تعریف تابع worker:
این تابع ساده، یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند و سپس به مدت ۲ ثانیه توقف میکند.
3. ایجاد و شروع فرآیندها:
در بلوک
4. منتظر ماندن برای اتمام فرآیندها:
با استفاده از
نکات مهم
1. به اشتراکگذاری دادهها:
کتابخانهی
2. امنیت و مدیریت منابع:
اطمینان حاصل کنید که فرآیندها منابع سیستم را به درستی مدیریت میکنند و از مشکلاتی مانند مصرف بیش از حد حافظه جلوگیری کنید.
3. استفاده از CPU های چند هستهای:
چند فرآیندی به شما امکان میدهد از قدرت پردازشی چند هستهای بهره ببرید و برنامههای خود را سریعتر اجرا کنید.
نتیجهگیری
چند فرآیندی در پایتون ابزاری قدرتمند برای بهبود کارایی برنامهها است. با استفاده از کتابخانهی
این تکنیک میتواند به شما کمک کند تا برنامههای پیچیده و زمانبر خود را بهینه کنید و عملکرد بهتری را تجربه کنید. 🎉
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #Programming #ParallelComputing
مقدمه
چند فرآیندی یا Multiprocessing یکی از تکنیکهای مهم در برنامهنویسی موازی است که به شما امکان میدهد تا چندین فرآیند را به طور همزمان اجرا کنید. این تکنیک به خصوص برای بهرهبرداری از پردازندههای چند هستهای بسیار مفید است و میتواند عملکرد برنامههای شما را بهبود بخشد.
مفهوم اولیه
در پایتون، کتابخانهی multiprocessing ابزارهای لازم برای اجرای چند فرآیندی را فراهم میکند. این کتابخانه به شما امکان میدهد تا از فرآیندهای جداگانه برای اجرای وظایف مختلف استفاده کنید.
مثال کد
import multiprocessing
import time
def worker(num):
"""فرآیند نمونه ای که فقط یک عدد را چاپ میکند."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
توضیحات:
1. ایمپورت کتابخانهی multiprocessing:
import multiprocessing
import time
2. تعریف تابع worker:
این تابع ساده، یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند و سپس به مدت ۲ ثانیه توقف میکند.
def worker(num):
print(f'Worker: {num}')
time.sleep(2)
3. ایجاد و شروع فرآیندها:
در بلوک
if __name__ == '__main__':
، ما پنج فرآیند ایجاد کرده و آنها را با استفاده از start()
آغاز میname if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
4. منتظر ماندن برای اتمام فرآیندها:
با استفاده از
join()
، ما مطمئن میشویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیدهاند.for p in processes:
p.join()
نکات مهم
1. به اشتراکگذاری دادهها:
کتابخانهی
multiprocessing
ابزارهایی مانند Queue
, Pipe
, Manager
برای به اشتراکگذاری دادهها بین فرآیندها فراهم میکند.2. امنیت و مدیریت منابع:
اطمینان حاصل کنید که فرآیندها منابع سیستم را به درستی مدیریت میکنند و از مشکلاتی مانند مصرف بیش از حد حافظه جلوگیری کنید.
3. استفاده از CPU های چند هستهای:
چند فرآیندی به شما امکان میدهد از قدرت پردازشی چند هستهای بهره ببرید و برنامههای خود را سریعتر اجرا کنید.
نتیجهگیری
چند فرآیندی در پایتون ابزاری قدرتمند برای بهبود کارایی برنامهها است. با استفاده از کتابخانهی
multiprocessing
، میتوانید به راحتی وظایف مختلف را به فرآیندهای جداگانه محول کنید و از توان پردازشی سیستم خود به بهترین نحو استفاده کنید.این تکنیک میتواند به شما کمک کند تا برنامههای پیچیده و زمانبر خود را بهینه کنید و عملکرد بهتری را تجربه کنید. 🎉
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #Programming #ParallelComputing
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2
استفاده از پردازش چند هستهای CPU در پایتون
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
با استفاده از
مثال پیشرفته: استفاده از
برای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
با استفاده از
مثال پیشرفتهتر: استفاده از
کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
با استفاده از
استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #ConcurrentProgramming #ParallelComputing #ProgrammingTips
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
multiprocessing
ایجاد میکنیم که چندین وظیفه را همزمان اجرا کند.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
multiprocessing.Process
، پنج فرآیند ایجاد میکنیم و آنها را با استفاده از start()
آغاز میکنمنتظر ماندن برای اتمام فرآیندهاآیندها**:با استفاده از
join()
، مطمئن میشویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیدهاند.مثال پیشرفته: استفاده از
Pool
برای مدیریت وظایفبرای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
Pool
استفاده کرد. این روش به شما امکان میدهد که تعداد ثابتی از فرآیندها را ایجاد کرده و وظایف را بیکد:ید.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with multiprocessing.Pool(processes=4) as pool:
pool.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
worker
**:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
Pool
**:با استفاده از
multiprocessing.Pool
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.مثال پیشرفتهتر: استفاده از
concurrent.futures
برای مدیریت وظایفکتابخانهی
concurrent.futures
یکی دیگر از ابزارهای پایتون برای مدیریت پردازشهای همزمان است. این کتابخانه برای سادهتر کردن استفاده کد: طراحی شده است.کد:
from concurrent.futures import ProcessPoolExecutor
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with ProcessPoolExecutor(max_workers=4) as executor:
executor.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
concurrent.futures
و time
:این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
ProcessPoolExecutor
**:با استفاده از
ProcessPoolExecutor
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
multiprocessing
و concurrent.futures
، میتوان وظایف مختلف را به طور همزمان اجرا کرد و از توان پردازشی سیستم به بهترین نحو استفاده کرد.🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #ConcurrentProgramming #ParallelComputing #ProgrammingTips
👍2
نکتهای جالب در مورد متغیرها در پایتون که کمتر کسی میداند
پایتون از روش مقادیر تعویض پذیر در سطح داخلی برای بهینهسازی حافظه استفاده میکند. این بدان معناست که برخی از اشیاء در پایتون، مانند رشتهها و اعداد صحیح کوچک، به صورت خودکار به اشتراک گذاشته میشوند. این ویژگی باعث میشود که دو متغیر مختلف که به یک مقدار کوچک و یا یکسان اشاره میکنند، در واقع به یک شیء در حافظه اشاره کنند. 😲
مثال:
در اینجا، مقدار
توضیحات:
- تعویضپذیری اعداد کوچک:
پایتون اعداد صحیح کوچک را به صورت داخلی به اشتراک میگذارد (معمولاً اعداد بین -5 تا 256).
- اشتراک رشتهها:
رشتههای کوتاه و ثابت نیز به صورت خودکار به اشتراک گذاشته میشوند.
این رفتار میتواند در بهینهسازی حافظه و همچنین درک بهتر از نحوه مدیریت حافظه در پایتون کمک کند.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Variables #MemoryManagement #ProgrammingTips #LearningPython
پایتون از روش مقادیر تعویض پذیر در سطح داخلی برای بهینهسازی حافظه استفاده میکند. این بدان معناست که برخی از اشیاء در پایتون، مانند رشتهها و اعداد صحیح کوچک، به صورت خودکار به اشتراک گذاشته میشوند. این ویژگی باعث میشود که دو متغیر مختلف که به یک مقدار کوچک و یا یکسان اشاره میکنند، در واقع به یک شیء در حافظه اشاره کنند. 😲
مثال:
a = 256
b = 256
print(a is b) # خروجی: True
c = 257
d = 257
print(c is d) # خروجی: False
در اینجا، مقدار
256
در هر دو متغیر a
و b
به یک شیء در حافظه اشاره میکنند، اما مقدار 257
اینگونه نیست.توضیحات:
- تعویضپذیری اعداد کوچک:
پایتون اعداد صحیح کوچک را به صورت داخلی به اشتراک میگذارد (معمولاً اعداد بین -5 تا 256).
- اشتراک رشتهها:
رشتههای کوتاه و ثابت نیز به صورت خودکار به اشتراک گذاشته میشوند.
این رفتار میتواند در بهینهسازی حافظه و همچنین درک بهتر از نحوه مدیریت حافظه در پایتون کمک کند.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Variables #MemoryManagement #ProgrammingTips #LearningPython
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
آموزش سانسور کردن و بازگرداندن سانسور یک قسمت از عکس با پایتون 📸✨
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب OpenCV یاد میگیریم که چگونه این کار را انجام دهیم. 🌟
نصب کتابخانههای مورد نیاز 📦
ابتدا باید کتابخانهی OpenCV را نصب کنید. اگر هنوز نصب نکردهاید، با اجرای دستور زیر در محیط ترمینال یا CMD میتوانید این کار را انجام دهید:
کد نمونه برای سانسور کردن یک قسمت از عکس 🖼️🔒
در این مثال، یک قسمت از عکس را محو (blur) میکنیم:
🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با
- تعیین ناحیه: ناحیهای که میخواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص میکنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده میکنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش میدهیم.
کد نمونه برای بازگرداندن ناحیه اصلی 🌈🔓
در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین میکنیم:
🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری میکنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین میکنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش میدهیم.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #OpenCV #ImageProcessing #Coding #Tutorial
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب OpenCV یاد میگیریم که چگونه این کار را انجام دهیم. 🌟
نصب کتابخانههای مورد نیاز 📦
ابتدا باید کتابخانهی OpenCV را نصب کنید. اگر هنوز نصب نکردهاید، با اجرای دستور زیر در محیط ترمینال یا CMD میتوانید این کار را انجام دهید:
pip install opencv-python
کد نمونه برای سانسور کردن یک قسمت از عکس 🖼️🔒
در این مثال، یک قسمت از عکس را محو (blur) میکنیم:
import cv2
# بارگذاری تصویر
image = cv2.imread('input_image.jpg')
# تعیین ناحیهای که میخواهیم سانسور کنیم (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200
roi = image[y:y+h, x:x+w]
# محو کردن ناحیه
blurred_roi = cv2.GaussianBlur(roi, (23, 23), 30)
# جایگزین کردن ناحیه محو شده در تصویر اصلی
image[y:y+h, x:x+w] = blurred_roi
# ذخیره تصویر خروجی
cv2.imwrite('censored_image.jpg', image)
# نمایش تصویر
cv2.imshow('Censored Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با
cv2.imread
بارگذاری میکنیم.- تعیین ناحیه: ناحیهای که میخواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص میکنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده میکنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش میدهیم.
کد نمونه برای بازگرداندن ناحیه اصلی 🌈🔓
در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین میکنیم:
import cv2
import numpy as np
# بارگذاری تصویر اصلی و تصویر سانسور شده
original_image = cv2.imread('input_image.jpg')
censored_image = cv2.imread('censored_image.jpg')
# تعیین ناحیهای که سانسور شده (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200
# بازگرداندن ناحیه اصلی
censored_image[y:y+h, x:x+w] = original_image[y:y+h, x:x+w]
# ذخیره تصویر خروجی
cv2.imwrite('restored_image.jpg', censored_image)
# نمایش تصویر
cv2.imshow('Restored Image', censored_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری میکنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین میکنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش میدهیم.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #OpenCV #ImageProcessing #Coding #Tutorial
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2❤1
🖤🌹 تسلیت عاشورای حسینی 🌹🖤
یا حسین مظلوم... 🥀
باز این چه شورش است که در خلق عالم است
باز این چه نوحه و چه عزا و چه ماتم است
محرم که میآید، دلمان با یاد حسین (ع) و یاران وفادارش آرام میگیرد و اشکهایمان همچون رودخانهای بیانتها جاری میشوند. 💔
یا حسین، نام تو مرهم دلهای دردمند است و یاد تو، آرامشبخش جانهای خسته. 🙏
🔸دریغا که روز عاشورا، روزی که آسمان و زمین بر مظلومیت تو گریستند، روزی که خیل عشاق در کنار تو به ابدیت پیوستند، فرا رسید.🔸
🌹ای حسین (ع)، تو ای سید الشهدا، خون پاک تو و یاران باوفایت، درس آزادگی و شرف را به ما آموخت.🌹
✨در این روزهای سوگواری، با تمام دلهایمان تسلیت میگوییم و آرزو میکنیم که راه تو را ادامه دهیم و پیام تو را زنده نگه داریم.✨
نوای حزین ما، سلامی است به شهدای کربلا:
"ای اهل حرم میر و علمدار نیامد،
سقای حسین سید و سالار نیامد." 🕊
اللهم عجل لولیک الفرج ✨
یا حسین مظلوم... 🥀
باز این چه شورش است که در خلق عالم است
باز این چه نوحه و چه عزا و چه ماتم است
محرم که میآید، دلمان با یاد حسین (ع) و یاران وفادارش آرام میگیرد و اشکهایمان همچون رودخانهای بیانتها جاری میشوند. 💔
یا حسین، نام تو مرهم دلهای دردمند است و یاد تو، آرامشبخش جانهای خسته. 🙏
🔸دریغا که روز عاشورا، روزی که آسمان و زمین بر مظلومیت تو گریستند، روزی که خیل عشاق در کنار تو به ابدیت پیوستند، فرا رسید.🔸
🌹ای حسین (ع)، تو ای سید الشهدا، خون پاک تو و یاران باوفایت، درس آزادگی و شرف را به ما آموخت.🌹
✨در این روزهای سوگواری، با تمام دلهایمان تسلیت میگوییم و آرزو میکنیم که راه تو را ادامه دهیم و پیام تو را زنده نگه داریم.✨
نوای حزین ما، سلامی است به شهدای کربلا:
"ای اهل حرم میر و علمدار نیامد،
سقای حسین سید و سالار نیامد." 🕊
اللهم عجل لولیک الفرج ✨
❤7👍2👎1
آموزش ساخت برنامه تبدیل متن به گفتار (Text-to-Speech) با پایتون 🗣️💻
در این آموزش، نحوهی ساخت یک برنامه تبدیل متن به گفتار (Text-to-Speech) با استفاده از زبان برنامهنویسی پایتون و کتابخانهی gTTS را به شما آموزش میدهیم. این برنامه میتواند به صورت صوتی متنهای شما را بخواند و یک فایل صوتی ایجاد کند. 🎤🔊
نصب کتابخانه gTTS 📦
ابتدا باید کتابخانهی gTTS (Google Text-to-Speech) را نصب کنید. برای این کار، میتوانید از دستور زیر در محیط ترمینال یا CMD استفاده کنید:
کد نمونه برای تبدیل متن به گفتار 📝🔊
در این مثال، متن دلخواه شما به زبان انگلیسی به فایل صوتی تبدیل میشود:
🔍 توضیحات:
- وارد کردن کتابخانهها: ابتدا کتابخانههای gTTS و os را وارد میکنیم.
- تعریف متن: متنی که میخواهید به گفتار تبدیل شود را در متغیری ذخیره کنید.
- ایجاد شیء gTTS: یک شیء از کلاس gTTS ایجاد میکنیم و متن و زبان مورد نظر را به آن میدهیم.
- ذخیره فایل صوتی: فایل صوتی را با فرمت mp3 ذخیره میکنیم.
- پخش فایل صوتی: با استفاده از دستور os.system فایل صوتی را پخش میکنیم.
تنظیمات پیشرفته 🛠️✨
میتوانید زبان، سرعت گفتار و سایر تنظیمات را نیز تغییر دهید:
🔍 توضیحات:
- تغییر زبان: زبان گفتار را میتوانید با تغییر مقدار
- سرعت گفتار: با تنظیم مقدار
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #TextToSpeech #gTTS #Coding #Tutorial
در این آموزش، نحوهی ساخت یک برنامه تبدیل متن به گفتار (Text-to-Speech) با استفاده از زبان برنامهنویسی پایتون و کتابخانهی gTTS را به شما آموزش میدهیم. این برنامه میتواند به صورت صوتی متنهای شما را بخواند و یک فایل صوتی ایجاد کند. 🎤🔊
نصب کتابخانه gTTS 📦
ابتدا باید کتابخانهی gTTS (Google Text-to-Speech) را نصب کنید. برای این کار، میتوانید از دستور زیر در محیط ترمینال یا CMD استفاده کنید:
pip install gtts
کد نمونه برای تبدیل متن به گفتار 📝🔊
در این مثال، متن دلخواه شما به زبان انگلیسی به فایل صوتی تبدیل میشود:
from gtts import gTTS
import os
# متنی که میخواهید به گفتار تبدیل شود
text = "Hello, welcome to our Python Text-to-Speech tutorial!"
# ایجاد شیء gTTS
tts = gTTS(text=text, lang='en')
# ذخیره فایل صوتی
tts.save("speech.mp3")
# پخش فایل صوتی
os.system("start speech.mp3")
🔍 توضیحات:
- وارد کردن کتابخانهها: ابتدا کتابخانههای gTTS و os را وارد میکنیم.
- تعریف متن: متنی که میخواهید به گفتار تبدیل شود را در متغیری ذخیره کنید.
- ایجاد شیء gTTS: یک شیء از کلاس gTTS ایجاد میکنیم و متن و زبان مورد نظر را به آن میدهیم.
- ذخیره فایل صوتی: فایل صوتی را با فرمت mp3 ذخیره میکنیم.
- پخش فایل صوتی: با استفاده از دستور os.system فایل صوتی را پخش میکنیم.
تنظیمات پیشرفته 🛠️✨
میتوانید زبان، سرعت گفتار و سایر تنظیمات را نیز تغییر دهید:
from gtts import gTTS
import os
text = "Bonjour, bienvenue dans notre tutoriel de conversion de texte en parole avec Python!"
language = 'fr'
slow = False # True برای گفتار آهستهتر
tts = gTTS(text=text, lang=language, slow=slow)
tts.save("speech_fr.mp3")
os.system("start speech_fr.mp3")
🔍 توضیحات:
- تغییر زبان: زبان گفتار را میتوانید با تغییر مقدار
lang
تنظیم کنید (مثلاً 'fr' برای فرانسوی).- سرعت گفتار: با تنظیم مقدار
slow
به True، سرعت گفتار آهستهتر خواهد شد.🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #TextToSpeech #gTTS #Coding #Tutorial
👍3
آموزش ساخت یک ماشین حساب با رابط کاربری ساده با استفاده از Tkinter ✨
در این آموزش، نحوهی ساخت یک ماشین حساب ساده با استفاده از کتابخانهی Tkinter در پایتون را به شما آموزش میدهیم. این پروژه مناسب برای مبتدیانی است که میخواهند با مفاهیم پایهای رابط کاربری (GUI) و برنامهنویسی شیءگرا در پایتون آشنا شوند. 🌟
نصب Tkinter
Tkinter به طور پیشفرض با نصب پایتون ارائه میشود، بنابراین نیازی به نصب جداگانهی آن ندارید.
کد ماشین حساب
در این مثال، یک ماشین حساب ساده با قابلیت جمع، تفریق، ضرب و تقسیم ساخته میشود.
توضیحات کد 📜
- تعریف کلاس Calculator: کلاس Calculator شامل متدهای مختلفی است که رابط کاربری و عملکرد ماشین حساب را مدیریت میکنند.
- ایجاد ویجتها: ویجتهای مختلفی از جمله Entry برای نمایش نتیجه و دکمهها برای ورودی اعداد و عملیاتها ایجاد میشوند.
- متد on_button_click: این متد برای مدیریت کلیک دکمهها استفاده میشود. اگر دکمهی '=' فشرده شود، عملیات محاسباتی انجام میشود و نتیجه نمایش داده میشود. اگر دکمهی 'C' فشرده شود، ورودی پاک میشود.
🔻برای بیشتر یاد گرفتن بیا اینجا
### #پایتون #برنامهنویسی #آموزش #ماشین_حساب #رابط_کاربری #Tkinter
در این آموزش، نحوهی ساخت یک ماشین حساب ساده با استفاده از کتابخانهی Tkinter در پایتون را به شما آموزش میدهیم. این پروژه مناسب برای مبتدیانی است که میخواهند با مفاهیم پایهای رابط کاربری (GUI) و برنامهنویسی شیءگرا در پایتون آشنا شوند. 🌟
نصب Tkinter
Tkinter به طور پیشفرض با نصب پایتون ارائه میشود، بنابراین نیازی به نصب جداگانهی آن ندارید.
کد ماشین حساب
در این مثال، یک ماشین حساب ساده با قابلیت جمع، تفریق، ضرب و تقسیم ساخته میشود.
import tkinter as tk
class Calculator:
def __init__(self, root):
self.root = root
self.root.title("Simple Calculator")
self.root.geometry("400x500")
self.result_var = tk.StringVar()
self.create_widgets()
def create_widgets(self):
result_entry = tk.Entry(self.root, textvariable=self.result_var, font=('Arial', 24), bd=10, insertwidth=2, width=14, borderwidth=4)
result_entry.grid(row=0, column=0, columnspan=4)
buttons = [
'7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+'
]
row_val = 1
col_val = 0
for button in buttons:
tk.Button(self.root, text=button, padx=20, pady=20, font=('Arial', 18), command=lambda btn=button: self.on_button_click(btn)).grid(row=row_val, column=col_val)
col_val += 1
if col_val > 3:
col_val = 0
row_val += 1
def on_button_click(self, char):
if char == '=':
try:
result = str(eval(self.result_var.get()))
self.result_var.set(result)
except:
self.result_var.set("Error")
elif char == 'C':
self.result_var.set("")
else:
current_text = self.result_var.get()
new_text = current_text + str(char)
self.result_var.set(new_text)
if __name__ == "__main__":
root = tk.Tk()
calc = Calculator(root)
root.mainloop()
توضیحات کد 📜
- تعریف کلاس Calculator: کلاس Calculator شامل متدهای مختلفی است که رابط کاربری و عملکرد ماشین حساب را مدیریت میکنند.
- ایجاد ویجتها: ویجتهای مختلفی از جمله Entry برای نمایش نتیجه و دکمهها برای ورودی اعداد و عملیاتها ایجاد میشوند.
- متد on_button_click: این متد برای مدیریت کلیک دکمهها استفاده میشود. اگر دکمهی '=' فشرده شود، عملیات محاسباتی انجام میشود و نتیجه نمایش داده میشود. اگر دکمهی 'C' فشرده شود، ورودی پاک میشود.
🔻برای بیشتر یاد گرفتن بیا اینجا
### #پایتون #برنامهنویسی #آموزش #ماشین_حساب #رابط_کاربری #Tkinter
👍4
Forwarded from گوربه
اخبار مهم امروز دنیای پایتون 🐍📰
1. پایتون در صدر محبوبترین زبانهای برنامهنویسی 🎉
طبق گزارش جدید شاخص TIOBE برای جولای ۲۰۲۴، پایتون همچنان به عنوان محبوبترین زبان برنامهنویسی جهان باقی مانده است. پس از پایتون، زبانهای C و C++ در رتبههای دوم و سوم قرار دارند.
2. انتشار ابزار جدید 'uv' توسط Astral 🚀
شرکت Astral که به خاطر ابزار Ruff شناخته میشود، یک ابزار جدید به نام 'uv' معرفی کرده است. این ابزار با الهام از Cargo (ابزار مدیریت پکیج در Rust) طراحی شده و به عنوان جایگزینی سریعتر و کاربرپسندتر برای pip و pip-tools عمل میکند.
3. بهبود امنیت پایتون با SBOMs 🔐
در نسخههای آینده پایتون، علاوه بر توزیعهای منبعی، SBOM (Bill of Materials) نیز برای نصابهای پایتون در پلتفرمهای مختلف ارائه خواهد شد. این حرکت به افزایش امنیت پایتون کمک شایانی خواهد کرد.
4. انتشار Python 3.12.0b4 🆕
نسخه بتای جدید پایتون 3.12.0b4 منتشر شده است. این نسخه شامل بهبودهای متعددی در زمینه عملکرد و پشتیبانی از ویژگیهای جدید است. کاربران میتوانند این نسخه را دانلود و تست کنند تا مشکلات احتمالی قبل از انتشار نسخه نهایی شناسایی شوند.
5. برگزاری کنفرانس PyCon APAC 2024 🌏
کنفرانس PyCon APAC 2024 در سنگاپور برگزار خواهد شد. این رویداد فرصتی مناسب برای برنامهنویسان پایتون در منطقه آسیا-پاسیفیک است تا با جدیدترین تکنولوژیها و روندهای حوزه پایتون آشنا شوند.
6. افزایش تعداد پروژههای متنباز پایتون 🌐
تعداد پروژههای متنباز نوشته شده با پایتون در GitHub به طور چشمگیری افزایش یافته است. این افزایش نشاندهنده رشد جامعه برنامهنویسان پایتون و محبوبیت روزافزون این زبان برنامهنویسی است.
7. ابزارهای جدید برای بهبود فرآیند تست در پایتون ✅
ابزارهای جدیدی برای بهبود فرآیند تست نرمافزارهای نوشته شده با پایتون معرفی شدهاند. این ابزارها به برنامهنویسان کمک میکنند تا کدهای خود را به صورت مؤثرتری تست و ارزیابی کنند.
این اخبار نشاندهنده رشد و تحولات مثبت در جامعه پایتون است و نشان میدهد که این زبان برنامهنویسی همچنان در حال پیشرفت و جلب توجه برنامهنویسان در سراسر جهان است. 🌍📈
🔻برای بیشتر یاد گرفتن بیا اینجا
1. پایتون در صدر محبوبترین زبانهای برنامهنویسی 🎉
طبق گزارش جدید شاخص TIOBE برای جولای ۲۰۲۴، پایتون همچنان به عنوان محبوبترین زبان برنامهنویسی جهان باقی مانده است. پس از پایتون، زبانهای C و C++ در رتبههای دوم و سوم قرار دارند.
2. انتشار ابزار جدید 'uv' توسط Astral 🚀
شرکت Astral که به خاطر ابزار Ruff شناخته میشود، یک ابزار جدید به نام 'uv' معرفی کرده است. این ابزار با الهام از Cargo (ابزار مدیریت پکیج در Rust) طراحی شده و به عنوان جایگزینی سریعتر و کاربرپسندتر برای pip و pip-tools عمل میکند.
3. بهبود امنیت پایتون با SBOMs 🔐
در نسخههای آینده پایتون، علاوه بر توزیعهای منبعی، SBOM (Bill of Materials) نیز برای نصابهای پایتون در پلتفرمهای مختلف ارائه خواهد شد. این حرکت به افزایش امنیت پایتون کمک شایانی خواهد کرد.
4. انتشار Python 3.12.0b4 🆕
نسخه بتای جدید پایتون 3.12.0b4 منتشر شده است. این نسخه شامل بهبودهای متعددی در زمینه عملکرد و پشتیبانی از ویژگیهای جدید است. کاربران میتوانند این نسخه را دانلود و تست کنند تا مشکلات احتمالی قبل از انتشار نسخه نهایی شناسایی شوند.
5. برگزاری کنفرانس PyCon APAC 2024 🌏
کنفرانس PyCon APAC 2024 در سنگاپور برگزار خواهد شد. این رویداد فرصتی مناسب برای برنامهنویسان پایتون در منطقه آسیا-پاسیفیک است تا با جدیدترین تکنولوژیها و روندهای حوزه پایتون آشنا شوند.
6. افزایش تعداد پروژههای متنباز پایتون 🌐
تعداد پروژههای متنباز نوشته شده با پایتون در GitHub به طور چشمگیری افزایش یافته است. این افزایش نشاندهنده رشد جامعه برنامهنویسان پایتون و محبوبیت روزافزون این زبان برنامهنویسی است.
7. ابزارهای جدید برای بهبود فرآیند تست در پایتون ✅
ابزارهای جدیدی برای بهبود فرآیند تست نرمافزارهای نوشته شده با پایتون معرفی شدهاند. این ابزارها به برنامهنویسان کمک میکنند تا کدهای خود را به صورت مؤثرتری تست و ارزیابی کنند.
این اخبار نشاندهنده رشد و تحولات مثبت در جامعه پایتون است و نشان میدهد که این زبان برنامهنویسی همچنان در حال پیشرفت و جلب توجه برنامهنویسان در سراسر جهان است. 🌍📈
🔻برای بیشتر یاد گرفتن بیا اینجا
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
Forwarded from گوربه
# بارگذاری فایل XML
tree = etree.parse('example.xml')
# اعمال تغییرات XSLT به فایل XML
new_tree = transform(tree)
# نمایش XML جدید به صورت زیبا
print(etree.tostring(new_tree, pretty_print=True).decode())
🔍 توضیحات: این کد یک فایل XML را با استفاده از XSLT تغییر داده و نتیجه را نمایش میدهد.
10. تغییر تگها و ویژگیها 🛠️
تغییر تگها و ویژگیها در یک فایل XML:
from lxml import etree
# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()
# تکرار روی تمامی عناصر با نام تگ مشخص شده
for element in root.iter('tag_name'):
# تغییر نام تگ
element.tag = 'new_tag'
# اضافه کردن ویژگی جدید
element.set('new_attribute', 'value')
# ذخیره فایل XML تغییر یافته
tree.write('modified.xml', pretty_print=True)
🔍 توضیحات: این کد تگها و ویژگیهای یک فایل XML را تغییر داده و نتیجه را در یک فایل ذخیره میکند.
11. حذف تگها ❌
حذف تگها از یک فایل XML:
from lxml import etree
# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()
# پیدا کردن و حذف تمامی عناصر با نام تگ مشخص شده
for element in root.findall('tag_name'):
root.remove(element)
# ذخیره فایل XML بدون تگهای مشخص شده
tree.write('cleaned.xml', prettyتوضیحات:
🔍 توضیحات: این کد تگهای مشخص شده را از یک فایل XML حذف کرده و نتیجه را در یک فایل ذخیره میکند.
12. تبدیل XML به دیکشنری📚
تبدیل یک فایل XML به دیکشنری پایتون:
from lxml import etree
# تعریف تابع تبدیل XML به دیکشنری
def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}
# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()
# تبدیل XML به دیکشنری
data_dict = xml_to_dict(root)
prتوضیحات:t)
🔍 توضیحات: این کد یک فایل XML را به دیکشنری پایتون تبدیل کرده و نتیجه را نمایش میدهد.
این آموزش به شما نشان داد که چگونه میتوانید از کتابخانه
lxml
برای کار با XML و HTML استفاده کنید. امیدوارم این مثالها برای شما مفید بوده باشد! 🌟🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
Forwarded from گوربه
کدهای کاربردی با کتابخانه
کتابخانه
پارس کردن فایل XML و نمایش محتوای آن:
2. پارس کردن یک رشته XML📝
پارس کردن یک رشته XML و نمایش محتوای آن:
3. استخراج مقادیر تگها 🔍
استخراج مقادیر تگها از یک فایل XML:
4. اضافه کردن تگ جدید به XML ➕
ایجاد و اضافه کردن تگ جدید به یک فایل XML:
5. جستجو با XPath 🔎
جستجو در فایل XML با استفاده از XPath:
6. اعتبارسنجی XML با DTD ✅
اعتبارسنجی XML با استفاده از DTD:
7. ایجاد یک HTML ساده🌐
ایجاد یک فایل HTML ساده با استفاده از lxml:
8. استخراج لینکها از یک صفحه HTML 🔗
استخراج تمام لینکها از یک صفحه HTML:
9. استفاده از XSLT برای تغییر XML 🔄
تغییر XML با استفاده از XSLT:
10. تغییر تگها و ویژگیها 🛠️
تغییر تگها و ویژگیها در یک فایل XML:
11. حذف تگها ❌
حذف تگها از یک فایل XML:
12. تبدیل XML به دیکشنری 📚
تبدیل یک فایل XML به دیکشنری پایتون:
این کدها نمونههایی از استفادههای مختلف از کتابخانه
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
lxml
در پایتون🐍کتابخانه
lxml
یکی از ابزارهای قدرتمند برای پردازش XML و HTML در پایتون است. این کتابخانه امکانات زیادی را برای استخراج، تغییر و اعتبارسنجی دادهها فراهم میکند. در ادامه ۱۲ مثال کاربردی با استفاده از این کتابخانه آورده شده است که میتواند برای برنامهنویسان بسیار مفید باشد. 1. پارس کردن یک فایل XML 📄پارس کردن فایل XML و نمایش محتوای آن:
from lxml import etree
tree = etree.parse('example.xml')
root = tree.getroot()
print(etree.tostring(root, pretty_print=True).decode())
2. پارس کردن یک رشته XML📝
پارس کردن یک رشته XML و نمایش محتوای آن:
from lxml import etree
xml_data = '<root><child>data</child></root>'
root = etree.fromstring(xml_data)
print(etree.tostring(root, pretty_print=True).decode())
3. استخراج مقادیر تگها 🔍
استخراج مقادیر تگها از یک فایل XML:
from lxml import etree
tree = etree.parse('example.xml')
for element in tree.iter('tag_name'):
print(element.text)
4. اضافه کردن تگ جدید به XML ➕
ایجاد و اضافه کردن تگ جدید به یک فایل XML:
from lxml import etree
root = etree.Element("root")
child = etree.SubElement(root, "child")
child.text = "data"
tree = etree.ElementTree(root)
tree.write("output.xml", pretty_print=True)
5. جستجو با XPath 🔎
جستجو در فایل XML با استفاده از XPath:
from lxml import etree
tree = etree.parse('example.xml')
result = tree.xpath('//tag_name')
for element in result:
print(etree.tostring(element, pretty_print=True).decode())
6. اعتبارسنجی XML با DTD ✅
اعتبارسنجی XML با استفاده از DTD:
from lxml import etree
dtd = etree.DTD('example.dtd')
tree = etree.parse('example.xml')
is_valid = dtd.validate(tree)
print(is_valid)
7. ایجاد یک HTML ساده🌐
ایجاد یک فایل HTML ساده با استفاده از lxml:
from lxml import etree, html
root = html.Element("html")
body = html.SubElement(root, "body")
p = html.SubElement(body, "p")
p.text = "Hello, world!"
tree = html.ElementTree(root)
tree.write("output.html", pretty_print=True)
8. استخراج لینکها از یک صفحه HTML 🔗
استخراج تمام لینکها از یک صفحه HTML:
from lxml import html
page = html.parse('example.html')
links = page.xpath('//a/@href')
print(links)
9. استفاده از XSLT برای تغییر XML 🔄
تغییر XML با استفاده از XSLT:
from lxml import etree
xslt_root = etree.parse('transform.xslt')
transform = etree.XSLT(xslt_root)
tree = etree.parse('example.xml')
new_tree = transform(tree)
print(etree.tostring(new_tree, pretty_print=True).decode())
10. تغییر تگها و ویژگیها 🛠️
تغییر تگها و ویژگیها در یک فایل XML:
from lxml import etree
tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.iter('tag_name'):
element.tag = 'new_tag'
element.set('new_attribute', 'value')
tree.write('modified.xml', pretty_print=True)
11. حذف تگها ❌
حذف تگها از یک فایل XML:
from lxml import etree
tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.findall('tag_name'):
root.remove(element)
tree.write('cleaned.xml', pretty_print=True)
12. تبدیل XML به دیکشنری 📚
تبدیل یک فایل XML به دیکشنری پایتون:
from lxml import etree
def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}
tree = etree.parse('example.xml')
root = tree.getroot()
data_dict = xml_to_dict(root)
print(data_dict)
این کدها نمونههایی از استفادههای مختلف از کتابخانه
lxml
هستند که میتوانید در پروژههای خود از آنها بهره ببرید. 🌟🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
Forwarded from گوربه
دانستنی جالب از تاریخ کامپیوتر: ماشین محاسباتی "Colossus" 🤖🖥️
شاید شنیده باشید که اولین کامپیوتر الکترونیکی جهان، "Colossus" نام داشت و در طول جنگ جهانی دوم توسط بریتانیاییها برای رمزگشایی پیامهای آلمانی استفاده میشد. اما یک نکته جالب درباره این کامپیوتر هست که کمتر کسی از آن اطلاع دارد: "Colossus" بیشتر از آنکه یک کامپیوتر دیجیتال معمولی باشد، یک ماشین محاسباتی ویژه برای تحلیل رمزهای دشمن بود.
نکات جالب درباره Colossus:
1. رمزگشایی Enigma: این دستگاه برای شکستن رمزهای دستگاه Enigma که توسط نازیها برای ارسال پیامهای مخفی استفاده میشد، طراحی شده بود. 🔐
2. تکنولوژی پیشرفته برای زمان خود: Colossus از لولههای خلاء (vacuum tubes) برای پردازش دادهها استفاده میکرد و از این نظر، بسیار پیشرفتهتر از دیگر تجهیزات زمان خود بود. ⚙️
3. سری بودن: این ماشین محاسباتی به صورت سری و با استفاده از نوارهای کاغذی که حاوی اطلاعات رمزنگاری شده بودند، کار میکرد. 📝
4. توسعه سریع: اولین نسخه Colossus در سال 1943 طراحی و ساخته شد و تا پایان جنگ جهانی دوم، ده نسخه دیگر از این ماشین ساخته شد. 🛠️
شاید شنیده باشید که اولین کامپیوتر الکترونیکی جهان، "Colossus" نام داشت و در طول جنگ جهانی دوم توسط بریتانیاییها برای رمزگشایی پیامهای آلمانی استفاده میشد. اما یک نکته جالب درباره این کامپیوتر هست که کمتر کسی از آن اطلاع دارد: "Colossus" بیشتر از آنکه یک کامپیوتر دیجیتال معمولی باشد، یک ماشین محاسباتی ویژه برای تحلیل رمزهای دشمن بود.
نکات جالب درباره Colossus:
1. رمزگشایی Enigma: این دستگاه برای شکستن رمزهای دستگاه Enigma که توسط نازیها برای ارسال پیامهای مخفی استفاده میشد، طراحی شده بود. 🔐
2. تکنولوژی پیشرفته برای زمان خود: Colossus از لولههای خلاء (vacuum tubes) برای پردازش دادهها استفاده میکرد و از این نظر، بسیار پیشرفتهتر از دیگر تجهیزات زمان خود بود. ⚙️
3. سری بودن: این ماشین محاسباتی به صورت سری و با استفاده از نوارهای کاغذی که حاوی اطلاعات رمزنگاری شده بودند، کار میکرد. 📝
4. توسعه سریع: اولین نسخه Colossus در سال 1943 طراحی و ساخته شد و تا پایان جنگ جهانی دوم، ده نسخه دیگر از این ماشین ساخته شد. 🛠️
👍3
01 - Getting Started.zip
81.2 MB
🟢 دوره Django
➖ این دوره یه استاد معروف خارجیه
➖ زیرنویس فارسی داره
🟡 منبع : Matrix Py
🔴 این بخش اوله ، از چنلش حمایت
کنید تا بقیه بخش هارو هم بزاره
➖ این دوره یه استاد معروف خارجیه
➖ زیرنویس فارسی داره
🟡 منبع : Matrix Py
🔴 این بخش اوله ، از چنلش حمایت
کنید تا بقیه بخش هارو هم بزاره
👍4❤2
(معرفی Django) 🌐
مقدمه:
Django یک فریمورک وب سطح بالا برای زبان برنامهنویسی پایتون است که به توسعهدهندگان کمک میکند تا سریعتر و آسانتر برنامههای وب قدرتمند بسازند. این فریمورک بر اساس الگوی طراحی Model-View-Template (MVT) بنا شده است و بسیاری از ویژگیهای ضروری برای ساخت وبسایتها و برنامههای وب پیچیده را به صورت از پیش ساخته شده فراهم میکند.
توضیح کلی از Django:
Django توسط یک تیم توسعهدهنده در روزنامه Lawrence Journal-World در سال 2003 ساخته شد و در سال 2005 به صورت عمومی منتشر گردید. از آن زمان تا کنون، این فریمورک به یکی از محبوبترین و پرکاربردترین فریمورکهای وب در دنیای پایتون تبدیل شده است. Django با تمرکز بر قابلیت استفاده مجدد، مقیاسپذیری و امنیت، ابزاری قدرتمند برای ساخت وبسایتها و برنامههای وب با عملکرد بالا ارائه میدهد.
یکی از ویژگیهای برجسته Django، ارائه یک پنل مدیریتی آماده و قابل تنظیم است که توسعهدهندگان میتوانند به راحتی از آن برای مدیریت دادهها و کاربران خود استفاده کنند. علاوه بر این، Django با داشتن یک ORM (Object-Relational Mapping) قدرتمند، امکان تعامل با پایگاه دادهها را به شیوهای ساده و موثر فراهم میسازد.
فواید:
1. سرعت توسعه بالا: Django با ارائه ابزارهای آماده و کتابخانههای متعدد، فرآیند توسعه وبسایتها و برنامههای وب را تسریع میکند.
2. امنیت بالا: Django بسیاری از مشکلات امنیتی رایج مانند SQL Injection، Cross-Site Scripting و Cross-Site Request Forgery را به صورت پیشفرض پوشش میدهد.
3. مقیاسپذیری: برنامههای ساخته شده با Django به راحتی قابلیت مقیاسپذیری و پاسخگویی به ترافیکهای بالا را دارند.
4. جامعه فعال: Django دارای جامعه بزرگی از توسعهدهندگان است که به صورت فعال به بهبود و توسعه آن کمک میکنند.
معایب:
1. یادگیری دشوار برای مبتدیان: به دلیل تعداد زیاد قابلیتها و ابزارهای موجود، ممکن است یادگیری Django برای مبتدیان کمی پیچیده باشد.
2. انعطافپذیری کمتر نسبت به فریمورکهای کوچکتر: برخی از توسعهدهندگان ممکن است احساس کنند که Django در برخی موارد انعطافپذیری لازم را ندارد و استفاده از فریمورکهای کوچکتر و سادهتر را ترجیح دهند.
برای دریافت آموزشها و نکات بیشتر در زمینه برنامهنویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱
#Django #WebDevelopment #Python #Programming #TechCommunity #LearnToCode
مقدمه:
Django یک فریمورک وب سطح بالا برای زبان برنامهنویسی پایتون است که به توسعهدهندگان کمک میکند تا سریعتر و آسانتر برنامههای وب قدرتمند بسازند. این فریمورک بر اساس الگوی طراحی Model-View-Template (MVT) بنا شده است و بسیاری از ویژگیهای ضروری برای ساخت وبسایتها و برنامههای وب پیچیده را به صورت از پیش ساخته شده فراهم میکند.
توضیح کلی از Django:
Django توسط یک تیم توسعهدهنده در روزنامه Lawrence Journal-World در سال 2003 ساخته شد و در سال 2005 به صورت عمومی منتشر گردید. از آن زمان تا کنون، این فریمورک به یکی از محبوبترین و پرکاربردترین فریمورکهای وب در دنیای پایتون تبدیل شده است. Django با تمرکز بر قابلیت استفاده مجدد، مقیاسپذیری و امنیت، ابزاری قدرتمند برای ساخت وبسایتها و برنامههای وب با عملکرد بالا ارائه میدهد.
یکی از ویژگیهای برجسته Django، ارائه یک پنل مدیریتی آماده و قابل تنظیم است که توسعهدهندگان میتوانند به راحتی از آن برای مدیریت دادهها و کاربران خود استفاده کنند. علاوه بر این، Django با داشتن یک ORM (Object-Relational Mapping) قدرتمند، امکان تعامل با پایگاه دادهها را به شیوهای ساده و موثر فراهم میسازد.
فواید:
1. سرعت توسعه بالا: Django با ارائه ابزارهای آماده و کتابخانههای متعدد، فرآیند توسعه وبسایتها و برنامههای وب را تسریع میکند.
2. امنیت بالا: Django بسیاری از مشکلات امنیتی رایج مانند SQL Injection، Cross-Site Scripting و Cross-Site Request Forgery را به صورت پیشفرض پوشش میدهد.
3. مقیاسپذیری: برنامههای ساخته شده با Django به راحتی قابلیت مقیاسپذیری و پاسخگویی به ترافیکهای بالا را دارند.
4. جامعه فعال: Django دارای جامعه بزرگی از توسعهدهندگان است که به صورت فعال به بهبود و توسعه آن کمک میکنند.
معایب:
1. یادگیری دشوار برای مبتدیان: به دلیل تعداد زیاد قابلیتها و ابزارهای موجود، ممکن است یادگیری Django برای مبتدیان کمی پیچیده باشد.
2. انعطافپذیری کمتر نسبت به فریمورکهای کوچکتر: برخی از توسعهدهندگان ممکن است احساس کنند که Django در برخی موارد انعطافپذیری لازم را ندارد و استفاده از فریمورکهای کوچکتر و سادهتر را ترجیح دهند.
برای دریافت آموزشها و نکات بیشتر در زمینه برنامهنویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱
#Django #WebDevelopment #Python #Programming #TechCommunity #LearnToCode
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2
Forwarded from گوربه
پردازش موازی پیشرفته در پایتون: استفاده از
مقدمه:
برای توسعهدهندگان سطح سینیور که به دنبال بهینهسازی کد و افزایش کارایی برنامههای خود هستند، پردازش موازی میتواند یک ابزار قدرتمند باشد. یکی از کتابخانههای داخلی پایتون که این امکان را فراهم میکند،
پردازش موازی با
ایجاد و اجرای وظایف موازی:ابتدا باید
2. مزایای استفاده از
برای استفاده پیشرفتهتر از
فواید:افزایش کارایی:پردازش موازی میتواند به طور چشمگیری کارایی برنامهها را افزامدیریت آسان وظایف: استفاده از
برای دریافت آموزشهای بیشتر و نکات پیشرفته در زمینه برنامهنویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱
#Python #Concurrency #ParallelProcessing #AdvancedPython #ProgrammingTips #CodeOptimization
concurrent.futures
برای بهرهوری بیشتر 🚀مقدمه:
برای توسعهدهندگان سطح سینیور که به دنبال بهینهسازی کد و افزایش کارایی برنامههای خود هستند، پردازش موازی میتواند یک ابزار قدرتمند باشد. یکی از کتابخانههای داخلی پایتون که این امکان را فراهم میکند،
concurrent.futures
است. این کتابخانه به شما اجازه میدهد تا وظایف را به صورت همزمان اجرا کنید و از چندین هسته CPU بهره ببرید.پردازش موازی با
concurrent.futures
:ایجاد و اجرای وظایف موازی:ابتدا باید
ThreadPoolExecutor
یا ProcessPoolExecutor
را برای اجرای وظایف موازی انتخاب کنید. ThreadPoolExecutor
برای وظایفی که نیاز به I/O دارند مناسب است، در حالی که ProcessPoolExecutor
برای وظایف محاسباتی سنگین بهتر عمل میکند.from concurrent.futures import ThreadPoolExecutor, as_completed
import time
def task(n):
print(f"Processing {n}")
time.sleep(2)
return n * n
numbers = [1, 2, 3, 4, 5]
results = []
with ThreadPoolExecutor(max_workers=3) as executor:
futures = [executor.submit(task, num) for num in numbers]
for future in as_completed(futures):
results.append(future.result())
print("Results:", results)
2. مزایای استفاده از
concurrent.futures
:سادهسازی مدیریت وظایف:با استفاده از futures
، میتوانید به راحتی نتایج وظایف موازی را مدیریت کنیبهرهوری بیشتر:با توزیع وظایف بین چندین هسته، میتوانید کارایی برنامههای خود را افزایش دهیکد خواناتر: استفاده از ThreadPoolExecutor
و ProcessPoolExecutor
کد را خواناتر و قابل فهمتراستفاده پیشرفتهتر:برای استفاده پیشرفتهتر از
concurrent.futures
، میتوانید از ترکیب ThreadPoolExecutor
و ProcessPoolExecutor
استفاده کنید تا بهترین عملکرد را برای وظایف مختلف بدست آورید.from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
def io_task(n):
print(f"IO Task {n}")
time.sleep(2)
return n + n
def cpu_task(n):
print(f"CPU Task {n}")
return sum(i*i for i in range(n))
numbers = [10, 20, 30, 40, 50]
with ThreadPoolExecutor(max_workers=3) as io_executor, ProcessPoolExecutor(max_workers=3) as cpu_executor:
io_futures = [io_executor.submit(io_task, num) for num in numbers]
cpu_futures = [cpu_executor.submit(cpu_task, num) for num in numbers]
for future in as_completed(io_futures + cpu_futures):
print(f"Result: {future.result()}")
فواید:افزایش کارایی:پردازش موازی میتواند به طور چشمگیری کارایی برنامهها را افزامدیریت آسان وظایف: استفاده از
concurrent.futures
مدیریت وظایف موازی را بسیار سادهتمعایب:- پیچیدگی دیباگ: دیباگ کردن کدهای موازی میتواند پیچیدهتمصرف منابع: استفاده نادرست از پردازش موازی میتواند منجر به مصرف زیاد منابع شود.برای دریافت آموزشهای بیشتر و نکات پیشرفته در زمینه برنامهنویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱
#Python #Concurrency #ParallelProcessing #AdvancedPython #ProgrammingTips #CodeOptimization
👍2
مدیریت فایلها با
مقدمه:
مدیریت فایلها و دایرکتوریها یکی از مهارتهای اساسی برای هر برنامهنویس پایتون است. دو ماژول مهم و کاربردی که در این زمینه استفاده میشوند،
مدیریت دایرکتوریها:
1. ایجاد دایرکتوری:
با استفاده از تابع
2. حذف دایرکتوری:
برای حذف یک دایرکتوری خالی، از تابع
3. ایجاد مسیرهای چندگانه:
برای ایجاد مسیرهای چندگانه، از
مدیریت فایلها:
1. ایجاد فایل:
برای ایجاد یک فایل جدید و نوشتن در آن، میتوانید از تابع
2. حذف فایل:
برای حذف یک فایل، از
3. جابجایی و کپی فایلها:
ماژول
کاربردهای پیشرفته:
ماژولهای
فواید و معایب:
- فواید:
- مدیریت آسان: ماژولهای
- قابلیتهای پیشرفته: این ماژولها قابلیتهای پیشرفتهای را برای کار با سیستم فایل فراهم میکنند.
- معایب:
- سازگاری سیستمعامل: برخی توابع ممکن است در سیستمعاملهای مختلف رفتار متفاوتی داشته باشند.
- پیچیدگی کد: استفاده نادرست از این ماژولها میتواند منجر به پیچیدگی و خطاهای غیرمنتظره در کد شود.
برای یادگیری بیشتر در مورد برنامهنویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید!
#Python #FileManagement #OSModule #Shutil #ProgrammingTips #CodeOptimization #AdvancedPython
os
و shutil
در پایتونمقدمه:
مدیریت فایلها و دایرکتوریها یکی از مهارتهای اساسی برای هر برنامهنویس پایتون است. دو ماژول مهم و کاربردی که در این زمینه استفاده میشوند،
os
و shutil
هستند. این ماژولها ابزارهایی را فراهم میکنند که به راحتی بتوانید فایلها و پوشهها را ایجاد، حذف، جابجا و کپی کنید.مدیریت دایرکتوریها:
1. ایجاد دایرکتوری:
با استفاده از تابع
mkdir
از ماژول os
میتوانید دایرکتوری جدیدی ایجاد کنید.import os
os.mkdir('new_directory')
2. حذف دایرکتوری:
برای حذف یک دایرکتوری خالی، از تابع
rmdir
استفاده کنید.os.rmdir('new_directory')
3. ایجاد مسیرهای چندگانه:
برای ایجاد مسیرهای چندگانه، از
makedirs
استفاده کنید.os.makedirs('parent_directory/child_directory')
مدیریت فایلها:
1. ایجاد فایل:
برای ایجاد یک فایل جدید و نوشتن در آن، میتوانید از تابع
open
استفاده کنید.with open('file.txt', 'w') as file:
file.write('Hello, World!')
2. حذف فایل:
برای حذف یک فایل، از
remove
استفاده کنید.os.remove('file.txt')
3. جابجایی و کپی فایلها:
ماژول
shutil
ابزارهای مفیدی برای جابجایی و کپی فایلها فراهم میکند.import shutil
shutil.move('source.txt', 'destination.txt')
shutil.copy('source.txt', 'destination.txt')
کاربردهای پیشرفته:
ماژولهای
os
و shutil
امکانات بیشتری نیز فراهم میکنند، از جمله تغییر نام فایلها، بررسی وجود فایل یا دایرکتوری و دسترسی به جزئیات فایلها.# تغییر نام فایل
os.rename('old_name.txt', 'new_name.txt')
# بررسی وجود فایل
if os.path.exists('file.txt'):
print('File exists')
# دسترسی به جزئیات فایل
file_info = os.stat('file.txt')
print(f'Size: {file_info.st_size} bytes')
فواید و معایب:
- فواید:
- مدیریت آسان: ماژولهای
os
و shutil
مدیریت فایلها و دایرکتوریها را بسیار ساده میکنند.- قابلیتهای پیشرفته: این ماژولها قابلیتهای پیشرفتهای را برای کار با سیستم فایل فراهم میکنند.
- معایب:
- سازگاری سیستمعامل: برخی توابع ممکن است در سیستمعاملهای مختلف رفتار متفاوتی داشته باشند.
- پیچیدگی کد: استفاده نادرست از این ماژولها میتواند منجر به پیچیدگی و خطاهای غیرمنتظره در کد شود.
برای یادگیری بیشتر در مورد برنامهنویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید
#Python #FileManagement #OSModule #Shutil #ProgrammingTips #CodeOptimization #AdvancedPython
👍7
Python3
01 - Getting Started.zip
🟢 بچها این کانال رو حمایت کنید تا پارت دوم همراه با زیرنویس رو منتشر کنه
👍3
Python3
🟢 بچها این کانال رو حمایت کنید تا پارت دوم همراه با زیرنویس رو منتشر کنه
البته چنل خودمونم نیاز به حمایت داره ولی راس میگه حمایتش کنید