Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
یه بیلاخ اینجا هست انگشتش کنید 👆
Python3
01 - Getting Started.zip
🟢 بچها این کانال رو حمایت کنید تا پارت دوم همراه با زیرنویس رو منتشر کنه
👍3
Python3
🟢 بچها این کانال رو حمایت کنید تا پارت دوم همراه با زیرنویس رو منتشر کنه
البته چنل خودمونم نیاز به حمایت داره ولی راس میگه حمایتش کنید
🌞 صبح بخیر به همه‌ی شما دوستان عزیز! 🌞

امروز یک روز فوق‌العاده برای شروعی تازه است. بیایید با انرژی مثبت و لبخند، به استقبال این روز زیبا برویم. 🌟 یادمان باشد که هر روز یک هدیه است و فرصتی برای ساختن خاطرات خوب و رسیدن به اهدافمان. 💪

امیدوارم امروز پر از موفقیت، شادی و لحظات بی‌نظیر برای همگی‌تان باشد. هر کاری که انجام می‌دهید، با تمام وجود و انگیزه‌ای قوی شروع کنید. 🌈💼

روزتون پر از اتفاقات خوب! 🌸
👍1
فریم‌ورک‌های کمتر شناخته شده پایتون

1. Hug
Hug یک فریم‌ورک وب است که هدف آن ساده‌سازی ساخت و توسعه API‌ها است. این فریم‌ورک بسیار سریع و کارآمد است و به شما امکان می‌دهد API‌های RESTful با کارایی بالا ایجاد کنید.
- مزایا: سریع، سبک، و پشتیبانی از توسعه سریع.
- معایب: مستندات محدود و جامعه کاربری کوچک.

2. Sanic
Sanic یک فریم‌ورک وب ناهمزمان (asynchronous) است که برای رسیدن به عملکرد بالا طراحی شده است. این فریم‌ورک به شما امکان می‌دهد که برنامه‌های وب سریع و کارآمد بنویسید.
- مزایا: سرعت بالا، ناهمزمانی کامل.
- معایب: پیچیدگی در مدیریت ناهمزمانی و یادگیری اولیه.

3. Falcon
Falcon یک فریم‌ورک وب سبک و سریع است که برای ساخت API‌های RESTful طراحی شده است. این فریم‌ورک بر روی سرعت و کارایی بالا تمرکز دارد.
- مزایا: سرعت بالا، کارایی عالی، مصرف کم منابع.
- معایب: مناسب نبودن برای برنامه‌های پیچیده.

4. Eve
Eve یک فریم‌ورک REST API برای پایتون است که به شما امکان می‌دهد به سرعت API‌های قدرتمند و انعطاف‌پذیر بسازید. این فریم‌ورک بر اساس Flask ساخته شده است و امکانات زیادی برای مدیریت داده‌ها ارائه می‌دهد.
- مزایا: پشتیبانی از MongoDB، ساخت سریع API‌ها.
- معایب: پیچیدگی در تنظیمات و مستندات کم.

5. Pyramid
Pyramid یک فریم‌ورک وب است که به شما امکان می‌دهد برنامه‌های وب کوچک و بزرگ را به راحتی بسازید. این فریم‌ورک انعطاف‌پذیری بالایی دارد و به شما امکان می‌دهد ساختار پروژه خود را انتخاب کنید.
- مزایا: انعطاف‌پذیری، مناسب برای پروژه‌های بزرگ.
- معایب: یادگیری اولیه دشوار، مستندات پیچیده.

6. TurboGears
TurboGears یک فریم‌ورک وب Full-Stack است که به شما امکان می‌دهد برنامه‌های وب پیچیده و مقیاس‌پذیر بسازید. این فریم‌ورک از مجموعه‌ای از ابزارهای مختلف استفاده می‌کند تا توسعه را ساده‌تر کند.
- مزایا: Full-Stack، پشتیبانی از ORM‌های مختلف.
- معایب: پیچیدگی در تنظیمات و یادگیری اولیه.

7. CherryPy
CherryPy یک فریم‌ورک وب شیءگرا و سبک است که به شما امکان می‌دهد برنامه‌های وب کوچک و سریع بسازید. این فریم‌ورک به شما اجازه می‌دهد برنامه‌های وب خود را به صورت شیءگرا توسعه دهید.
- مزایا: سبک، ساده، شیءگرا.
- معایب: مناسب نبودن برای برنامه‌های بزرگ.

8. Web2py
Web2py یک فریم‌ورک Full-Stack است که بر روی ساده‌سازی توسعه برنامه‌های وب تمرکز دارد. این فریم‌ورک شامل همه چیزهایی است که برای ساخت یک برنامه وب کامل نیاز دارید.
- مزایا: Full-Stack، ساده‌سازی توسعه.
- معایب: انعطاف‌پذیری کمتر نسبت به فریم‌ورک‌های دیگر.

9. Bottle
Bottle یک فریم‌ورک وب بسیار سبک و ساده است که برای ساخت برنامه‌های وب کوچک و سریع طراحی شده است. این فریم‌ورک شامل همه چیزهایی است که برای ساخت یک برنامه وب نیاز دارید.
- مزایا: سبک، ساده، بدون وابستگی.
- معایب: مناسب نبودن برای برنامه‌های بزرگ.

10. Tornado
Tornado یک فریم‌ورک وب ناهمزمان و بسیار سریع است که برای برنامه‌های وب مقیاس‌پذیر طراحی شده است. این فریم‌ورک به شما امکان می‌دهد برنامه‌های وب با کارایی بالا بسازید.
- مزایا: سرعت بالا، ناهمزمانی.
- معایب: پیچیدگی در مدیریت ناهمزمانی، مستندات پیچیده.

برای یادگیری بیشتر در مورد برنامه‌نویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید!

#پایتون #فریم‌ورک #برنامه‌نویسی #توسعه_وب #آموزش
👍2
پردازش تصاویر پیشرفته با OpenCV در پایتون

در این آموزش، به بررسی نحوه‌ی پردازش تصاویر با استفاده از کتابخانه‌ی OpenCV در پایتون می‌پردازیم. این تکنیک‌ها به شما کمک می‌کند تا برنامه‌های پیچیده‌تری برای ویرایش و تحلیل تصاویر ایجاد کنید.

تشخیص لبه‌ها در تصاویر با استفاده از الگوریتم Canny

1. وارد کردن کتابخانه‌های لازم:

import cv2
import numpy as np
from matplotlib import pyplot as plt

در این مرحله کتابخانه‌های OpenCV، NumPy و Matplotlib را برای کار با تصاویر و نمایش آن‌ها وارد می‌کنیم.

2. خواندن تصویر:

image = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)

این خط کد تصویر ورودی را به صورت خاکستری می‌خواند. در اینجا input_image.jpg نام تصویر ورودی شماست.

3. اعمال فیلتر گوسی برای کاهش نویز:

blurred_image = cv2.GaussianBlur(image, (5, 5), 0)

فیلتر گوسی برای کاهش نویز تصویر استفاده می‌شود. این مرحله بسیار مهم است زیرا نویزها می‌توانند روی نتیجه‌ی تشخیص لبه‌ها تأثیر منفی بگذارند.

4. تشخیص لبه‌ها با استفاده از الگوریتم Canny:

edges = cv2.Canny(blurred_image, 100, 200)

این خط کد الگوریتم Canny را برای تشخیص لبه‌ها در تصویر به کار می‌برد. مقادیر 100 و 200 مقادیر آستانه پایین و بالا برای الگوریتم Canny هستند.

5. نمایش تصویر اصلی و تصویر لبه‌یابی شده:

plt.figure(figsize=(10, 5))

plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])

plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])

plt.show()

این بخش از کد دو تصویر را به صورت مجزا نمایش می‌دهد: تصویر اصلی و تصویر لبه‌یابی شده. این کار با استفاده از کتابخانه‌ی Matplotlib انجام می‌شود.

برای یادگیری بیشتر در مورد برنامه‌نویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید!

#برنامه_نویسی #پایتون #پردازش_تصویر #OpenCV
👍2
ساخت صفحه نقاشی با پایتون

در این آموزش، قصد داریم یک صفحه نقاشی با قابلیت انتخاب ۶ رنگ مختلف و یک پاک کن ایجاد کنیم. از کتابخانه‌های داخلی پایتون مانند tkinter استفاده می‌کنیم تا یک رابط کاربری گرافیکی (GUI) ساده و کاربردی ایجاد کنیم.
tkinter یکی از کتابخانه‌های استاندارد پایتون برای ساخت رابط‌های کاربری گرافیکی است. با استفاده از این کتابخانه، می‌توانیم برنامه‌های گرافیکی متنوعی ایجاد کنیم. در این پروژه، ما یک بوم نقاشی ساده با قابلیت انتخاب رنگ و پاک کن خواهیم ساخت.

کد برنامه

import tkinter as tk
from tkinter import colorchooser

class PaintApp:
def __init__(self, root):
self.root = root
self.root.title("صفحه نقاشی")

self.canvas = tk.Canvas(self.root, bg='white', width=800, height=600)
self.canvas.pack()

self.color_frame = tk.Frame(self.root)
self.color_frame.pack()

self.colors = ["red", "green", "blue", "yellow", "black", "purple"]
self.current_color = "black"
self.create_color_buttons()

self.eraser_button = tk.Button(self.color_frame, text="پاک کن", command=self.use_eraser)
self.eraser_button.pack(side=tk.LEFT)

self.canvas.bind("<B1-Motion>", self.paint)
self.canvas.bind("<Button-1>", self.activate_paint)

def create_color_buttons(self):
for color in self.colors:
button = tk.Button(self.color_frame, bg=color, width=3, command=lambda col=color: self.change_color(col))
button.pack(side=tk.LEFT)

def change_color(self, new_color):
self.current_color = new_color

def use_eraser(self):
self.current_color = "white"

def activate_paint(self, event):
self.last_x, self.last_y = event.x, event.y

def paint(self, event):
self.canvas.create_line(self.last_x, self.last_y, event.x, event.y, fill=self.current_color, width=5)
self.last_x, self.last_y = event.x, event.y

if __name__ == "__main__":
root = tk.Tk()
app = PaintApp(root)
root.mainloop()

توضیح

1. وارد کردن کتابخانه‌های لازم:

    import tkinter as tk
from tkinter import colorchooser

در این بخش، کتابخانه tkinter برای ساخت GUI وارد شده است.

2. تعریف کلاس PaintApp:

    class PaintApp:
def __init__(self, root):
self.root = root
self.root.title("صفحه نقاشی")
...

در این کلاس، پنجره اصلی و بوم نقاشی تعریف شده‌اند.

3. ساخت بوم نقاشی:

    self.canvas = tk.Canvas(self.root, bg='white', width=800, height=600)
self.canvas.pack()

بوم نقاشی با رنگ پس‌زمینه سفید و ابعاد 800x600 ایجاد شده است.

4. ساخت دکمه‌های رنگ:

    def create_color_buttons(self):
for color in self.colors:
button = tk.Button(self.color_frame, bg=color, width=3, command=lambda col=color: self.change_color(col))
button.pack(side=tk.LEFT)

این تابع دکمه‌های رنگ را ایجاد و به قاب مربوطه اضافه می‌کند.

5. تغییر رنگ و استفاده از پاک کن:

    def change_color(self, new_color):
self.current_color = new_color

def use_eraser(self):
self.current_color = "white"

این توابع برای تغییر رنگ قلم و استفاده از پاک کن تعریف شده‌اند.

6. نقاشی روی بوم:

    def activate_paint(self, event):
self.last_x, self.last_y = event.x, event.y

def paint(self, event):
self.canvas.create_line(self.last_x, self.last_y, event.x, event.y, fill=self.current_color, width=5)
self.last_x, self.last_y = event.x, event.y

این توابع برای فعال‌سازی نقاشی و رسم خطوط روی بوم تعریف شده‌اند.

با اجرای این کد، یک صفحه نقاشی ساده با قابلیت انتخاب ۶ رنگ مختلف و یک پاک کن ایجاد می‌شود. این پروژه می‌تواند به عنوان یک تمرین خوب برای یادگیری مفاهیم پایه‌ای tkinter و ساخت GUIهای ساده با پایتون باشد.

برای یادگیری بیشتر در مورد برنامه‌نویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید!


#Python #tkinter #GUI #Programming
4
اخبار امروز پایتون - 23 جولای 2024

سلام به همه علاقه‌مندان به پایتون! امروز با هفت خبر مهم در دنیای پایتون در خدمت شما هستیم. 🐍

1. انتشار نسخه بتا 4 پایتون 3.13.0: تیم توسعه پایتون نسخه بتا 4 پایتون 3.13.0 را منتشر کرده است. این نسخه شامل بهبودهای عملکرد و رفع باگ‌های مختلف است که توسعه‌دهندگان را تشویق به آزمایش و گزارش مشکلات احتمالی می‌کند.

2. انتخاب هیئت مدیره جدید PSF: نتایج انتخابات هیئت مدیره بنیاد نرم‌افزار پایتون (PSF) برای سال 2024 اعلام شد. این انتخابات با تغییرات مثبتی در فرآیند رای‌گیری و ابزارهای مورد استفاده برگزار شد و نتایج آن باعث افزایش تنوع و شفافیت در تصمیم‌گیری‌های بنیاد شده است.

3. گزارش بهبودهای برنامه کمک‌های مالی PSF: بنیاد نرم‌افزار پایتون گزارشی از بهبودهای اعمال شده در برنامه کمک‌های مالی خود منتشر کرده است. این بهبودها شامل افزایش شفافیت و کارآمدی در ارائه کمک‌های مالی به پروژه‌ها و جوامع مختلف است.

4. پشتیبانی جدید PyPI: PyPI، مخزن بسته‌های پایتون، یک متخصص پشتیبانی جدید استخدام کرده است. این اقدام با هدف بهبود خدمات و افزایش رضایت کاربران انجام شده است.

5. معرفی مهندس زیرساخت جدید: بنیاد نرم‌افزار پایتون یک مهندس زیرساخت جدید معرفی کرده است که بهبودهای زیادی در زیرساخت‌های فنی و امنیتی این بنیاد به ارمغان خواهد آورد.

6. کارگاه PyLadies آمستردام: کارگاه آموزشی PyLadies در آمستردام با تمرکز بر سطوح ابتدایی تا متوسطه برگزار می‌شود. این کارگاه فرصتی عالی برای تازه‌واردان به دنیای پایتون است تا با اصول اولیه و مفاهیم پیشرفته آشنا شوند.

7. کنفرانس PyCon روسیه: کنفرانس PyCon روسیه در تاریخ 26 جولای 2024 برگزار خواهد شد. این رویداد بزرگترین گردهمایی علاقه‌مندان به پایتون در روسیه است که شامل سخنرانی‌ها، کارگاه‌ها و جلسات مختلف می‌باشد.

با این اخبار هیجان‌انگیز، امیدواریم شما هم مانند ما مشتاق ادامه دادن به یادگیری و استفاده از پایتون باشید. 🌟

🔻بیا اینجا تا بیشتر یاد بگیری🔻


#PythonNews #PyCon #PythonCommunity #PyLadies #PSF #PyPI #PythonRelease #TechNews
10 کد کاربردی با استفاده از کتابخانه lxml

کتابخانه lxml یکی از قدرتمندترین ابزارها برای پردازش XML و HTML در پایتون است. در اینجا 10 کد کاربردی را با استفاده از این کتابخانه معرفی می‌کنیم:

1. نصب lxml
برای نصب lxml از pip استفاده کنید:
pip install lxml

2. خواندن یک فایل XML
from lxml import etree

tree = etree.parse('sample.xml')
root = tree.getroot()
print(etree.tostring(root, pretty_print=True))

3. استخراج اطلاعات از یک فایل HTML
from lxml import html

content = """
<html>
<body>
<h1>Sample Title</h1>
<p>This is a <b>sample</b> paragraph.</p>
</body>
</html>
"""
tree = html.fromstring(content)
title = tree.xpath('//h1/text()')[0]
print(f'Title: {title}')

4. ساخت یک سند XML جدید
from lxml import etree

root = etree.Element('root')
child = etree.SubElement(root, 'child')
child.text = 'This is a child element'
tree = etree.ElementTree(root)
tree.write('new_sample.xml', pretty_print=True)

5. ویرایش یک سند XML
tree = etree.parse('sample.xml')
root = tree.getroot()

for child in root:
if child.tag == 'target':
child.text = 'New text'
tree.write('edited_sample.xml', pretty_print=True)

6. تبدیل XML به JSON
import json
from lxml import etree

tree = etree.parse('sample.xml')
root = tree.getroot()

def etree_to_dict(t):
d = {t.tag: {} if t.attrib else None}
children = list(t)
if children:
dd = defaultdict(list)
for dc in map(etree_to_dict, children):
for k, v in dc.items():
dd[k].append(v)
d = {t.tag: {k: v[0] if len(v) == 1 else v for k, v in dd.items()}}
if t.attrib:
d[t.tag].update((k, v) for k, v in t.attrib.items())
if t.text:
text = t.text.strip()
if children or t.attrib:
if text:
d[t.tag]['text'] = text
else:
d[t.tag] = text
return d

json_data = json.dumps(etree_to_dict(root), indent=4)
print(json_data)

7. بررسی اعتبار سنجی XML با استفاده از یک DTD
dtd = etree.DTD('sample.dtd')
tree = etree.parse('sample.xml')
is_valid = dtd.validate(tree)
print(f'Is valid: {is_valid}')

8. جستجو در یک سند XML با XPath
tree = etree.parse('sample.xml')
root = tree.getroot()
elements = root.xpath('//target')
for elem in elements:
print(elem.text)

9. استخراج لینک‌ها از یک صفحه HTML
from lxml import html

page = html.parse('sample.html')
links = page.xpath('//a/@href')
for link in links:
print(link)

10. افزودن عناصر به یک سند XML
tree = etree.parse('sample.xml')
root = tree.getroot()

new_elem = etree.Element('new_element')
new_elem.text = 'This is a new element'
root.append(new_elem)

tree.write('updated_sample.xml', pretty_print=True)

این کدها می‌توانند در پروژه‌های مختلف برای پردازش و مدیریت اسناد XML و HTML مورد استفاده قرار گیرند.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #lxml #برنامه‌نویسی #آموزش_پایتون #python
آموزش PyTest در پایتون – بخش اول

PyTest یکی از محبوب‌ترین ابزارهای تست در پایتون است که به دلیل سادگی و قدرت زیادش مورد توجه قرار گرفته است. در این پست، به معرفی و آموزش استفاده از PyTest می‌پردازیم.

نصب PyTest
برای شروع کار با PyTest، ابتدا باید آن را نصب کنید. این کار بسیار ساده است و می‌توانید با استفاده از pip آن را نصب کنید:

pip install pytest

نوشتن اولین تست با PyTest
برای نوشتن تست‌ها در PyTest، کافی است که توابع تست خود را با test_ شروع کنید. به مثال زیر توجه کنید:

# فایل test_sample.py

def test_addition():
assert 1 + 1 == 2

def test_subtraction():
assert 2 - 1 == 1

در این مثال، دو تابع تست ساده نوشته‌ایم. برای اجرای این تست‌ها، کافی است در خط فرمان دستور زیر را اجرا کنید:

pytest

PyTest به صورت خودکار فایل‌های تست شما را پیدا کرده و آنها را اجرا می‌کند.

استفاده از pytest.fixture
در PyTest، می‌توانید از قابلیت fixtures برای آماده‌سازی پیش‌شرط‌ها و تمیز کردن بعد از تست‌ها استفاده کنید. به مثال زیر توجه کنید:

# فایل test_fixture.py

import pytest

@pytest.fixture
def sample_data():
return [1, 2, 3]

def test_sum(sample_data):
assert sum(sample_data) == 6

در این مثال، یک fixture به نام sample_data تعریف کرده‌ایم که یک لیست از اعداد را برمی‌گرداند. این fixture به عنوان ورودی به تابع تست test_sum ارسال می‌شود.

گزارش‌دهی PyTest
یکی از ویژگی‌های قدرتمند PyTest، قابلیت گزارش‌دهی آن است. با استفاده از پلاگین‌ها می‌توانید گزارش‌های مختلفی از نتایج تست‌ها دریافت کنید. برای نصب پلاگین گزارش‌دهی، می‌توانید از دستور زیر استفاده کنید:

pip install pytest-html

سپس می‌توانید با استفاده از دستور زیر، یک گزارش HTML از نتایج تست‌های خود تولید کنید:

pytest --html=report.html

ادامه دارد...

در بخش دوم این آموزش، به مباحث پیشرفته‌تری همچون پارامتری کردن تست‌ها، تست‌های مقیاس‌پذیر، و دیگر قابلیت‌های قدرتمند PyTest خواهیم پرداخت.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #PyTest #آموزش_پایتون #برنامه‌نویسی #تست_نرم‌افزار #python
آموزش PyTest در پایتون – بخش دوم

در بخش اول این آموزش، با نصب و نوشتن تست‌های ساده با PyTest آشنا شدیم. در این بخش به مباحث پیشرفته‌تر PyTest می‌پردازیم.

پارامتری کردن تست‌ها
با استفاده از pytest.mark.parametrize می‌توانید تست‌های خود را برای مجموعه‌ای از داده‌ها اجرا کنید:

# فایل test_parametrize.py

import pytest

@pytest.mark.parametrize("input,expected", [
(1 + 1, 2),
(2 + 2, 4),
(3 + 3, 6),
])
def test_addition(input, expected):
assert input == expected

در این مثال، تابع تست test_addition برای هر جفت داده ورودی و خروجی اجرا می‌شود.

اجرای تست‌های مقیاس‌پذیر
PyTest قابلیت اجرای تست‌های مقیاس‌پذیر و تست‌های مختلف به صورت همزمان را دارد. برای این کار می‌توانید از پلاگین pytest-xdist استفاده کنید:

pip install pytest-xdist

سپس می‌توانید تست‌های خود را به صورت موازی اجرا کنید:

pytest -n 4

این دستور تست‌ها را در چهار پردازش موازی اجرا می‌کند، که باعث افزایش سرعت اجرای تست‌ها می‌شود.

استفاده از Mock در PyTest
برای شبیه‌سازی رفتارهای مختلف در تست‌ها، می‌توانید از کتابخانه unittest.mock استفاده کنید. به مثال زیر توجه کنید:

# فایل test_mock.py

from unittest.mock import MagicMock

def test_mocking():
mock = MagicMock(return_value=10)
assert mock() == 10

در این مثال، یک شیء MagicMock ایجاد کرده‌ایم که مقدار 10 را برمی‌گرداند. این شیء می‌تواند برای شبیه‌سازی توابع و متدها در تست‌ها استفاده شود.

تنظیمات و پیکربندی PyTest
PyTest به شما اجازه می‌دهد تنظیمات و پیکربندی‌های مختلفی را اعمال کنید. با ایجاد یک فایل pytest.ini می‌توانید تنظیمات دلخواه خود را اعمال کنید:

# فایل pytest.ini

[pytest]
markers =
slow: mark a test as slow
addopts = --maxfail=2

در این مثال، یک تنظیم برای علامت‌گذاری تست‌های کند و همچنین محدود کردن تعداد شکست‌ها به دو تست اعمال کرده‌ایم.

با این آموزش جامع، شما اکنون با مفاهیم و قابلیت‌های اصلی PyTest آشنا شده‌اید و می‌توانید تست‌های قدرتمندی برای پروژه‌های پایتون خود بنویسید.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #PyTest #آموزش_پایتون #برنامه‌نویسی #تست_نرم‌افزار #
دانستنی جالب از ویندوز قابل‌حمل 🌟

آیا می‌دانستید که شما می‌توانید نسخه‌ای از ویندوز را به صورت قابل‌حمل (Portable) روی یک حافظه USB داشته باشید و آن را با خود به هر جایی ببرید؟ این قابلیت که به نام Windows To Go شناخته می‌شود، امکان بوت کردن ویندوز از روی یک USB drive را فراهم می‌کند.

با Windows To Go، می‌توانید یک نسخه کامل از ویندوز را روی یک USB نصب کنید و با اتصال آن به هر کامپیوتری، محیط کاری شخصی خود را بدون نیاز به تنظیمات مجدد و نصب نرم‌افزارهای جدید راه‌اندازی کنید. این ویژگی به خصوص برای افرادی که نیاز به یک محیط کاری قابل‌حمل دارند یا برای افرادی که می‌خواهند یک نسخه پشتیبان از سیستم خود داشته باشند، بسیار مفید است.

ویژگی‌های ویندوز قابل‌حمل:

1. قابل‌حمل بودن: تمامی تنظیمات و نرم‌افزارهای شما روی USB ذخیره می‌شود و می‌توانید آن را با خود به هر مکانی ببرید.
2. امنیت: در صورت گم شدن یا دزدیده شدن USB، می‌توانید از BitLocker برای رمزگذاری استفاده کنید.
3. انعطاف‌پذیری: این قابلیت بر روی انواع مختلفی از سخت‌افزارها کار می‌کند.

اما توجه داشته باشید که Microsoft Windows To Go در ویندوز 10 نسخه 2004 و بعد از آن پشتیبانی نمی‌شود. بنابراین، اگر از نسخه‌های قدیمی‌تر ویندوز استفاده می‌کنید، می‌توانید از این قابلیت بهره ببرید.

🔻بیا اینجا تا بیشتر یاد بگیری🔻


#WindowsToGo #PortableWindows #TechFacts #WindowsTips
۸ سایت مفید برای آموزش‌های پایتون 🌟

اگر به دنبال یادگیری پایتون هستید، اینجا لیستی از ۸ سایت برتر ایرانی و خارجی که آموزش‌های بسیار مفیدی ارائه می‌دهند، آورده شده است:

۱. Coursera 🌐
Coursera دوره‌های متنوعی در زمینه پایتون ارائه می‌دهد که توسط دانشگاه‌ها و مؤسسات معتبر تدریس می‌شوند. شما می‌توانید از دوره‌های مبتدی تا پیشرفته را در این سایت بیابید.
[بازدید از سایت Coursera]

۲. edX 🌐
edX نیز مانند Coursera، دوره‌های بسیار معتبری در زمینه پایتون ارائه می‌دهد که توسط دانشگاه‌های برتر جهان تدریس می‌شوند.
[بازدید از سایت edX]

۳. Codecademy 🌐
Codecademy یک پلتفرم تعاملی است که به شما امکان می‌دهد با انجام پروژه‌ها و تمرین‌های تعاملی، پایتون را به صورت عملی بیاموزید.
[بازدید از سایت Codecademy]

۴. Real Python 🌐
Real Python سایت بسیار کاملی برای آموزش پایتون است که مقالات، دوره‌ها و ویدئوهای آموزشی را به همراه پروژه‌های عملی ارائه می‌دهد.
[بازدید از سایت Real Python]

۵. GeeksforGeeks 🌐
GeeksforGeeks مجموعه‌ای از آموزش‌های جامع پایتون را همراه با مثال‌های متعدد ارائه می‌دهد که برای مبتدیان و حرفه‌ای‌ها مناسب است.
[بازدید از سایت GeeksforGeeks]

۶. ویدئوهای آموزشی فرادرس 🇮🇷
فرادرس یکی از بهترین منابع ایرانی برای یادگیری پایتون است که مجموعه‌ای از دوره‌های جامع و تخصصی را در این زمینه ارائه می‌دهد.
[بازدید از سایت فرادرس]

۷. مکتب‌خونه 🇮🇷
مکتب‌خونه نیز دوره‌های متنوعی در زمینه پایتون ارائه می‌دهد که توسط اساتید برجسته تدریس می‌شوند.
[بازدید از سایت مکتب‌خونه]

۸. سایت توسینسو 🇮🇷
توسینسو یک سایت ایرانی دیگر است که آموزش‌های جامع و کاربردی پایتون را در قالب ویدئوهای آموزشی ارائه می‌دهد.
[بازدید از سایت توسینسو]



🔻بیا اینجا تا بیشتر یاد بگیری🔻


#Python #PythonLearning #OnlineCourses #Programming
1
فکر کنم تنها کسی که لینک همستر نزاشته کانالش منم نظر شما
👍3
در پایتون، چه نتیجه‌ای از اجرای کد زیر به دست می‌آید؟
Anonymous Poll
13%
[1] [] [3]
13%
[1, 3] [2] [1, 3]
63%
[1] [2] [3]
13%
[1, 3] [2] [1, 3, 3]
📚 آموزش رگرسیون خطی در پایتون بدون ماژول‌های خارجی 📚

سلام دوستان! امروز می‌خوایم یاد بگیریم چطور یک الگوریتم رگرسیون خطی ساده رو بدون استفاده از هیچ ماژول خارجی در پایتون پیاده‌سازی کنیم. این آموزش برای کسانی که می‌خوان اصول پایه یادگیری ماشینی رو بفهمند بسیار مناسب هست.

1. تنظیمات اولیه 🛠️
ابتدا نیاز داریم که کتابخانه‌های ضروری پایتون رو وارد کنیم. در اینجا فقط از کتابخانه‌ی random استفاده می‌کنیم:

import random

2. تولید داده‌های نمونه 🎲
برای تست الگوریتم، ابتدا داده‌های نمونه‌ای ایجاد می‌کنیم:

def generate_data(num_points):
data = []
for _ in range(num_points):
x = random.uniform(0, 10)
# خطی با نویز
y = 2 * x + 3 + random.uniform(-1, 1)
data.append((x, y))
return data

data = generate_data(100)

3. الگوریتم رگرسیون خطی 📈
حالا به پیاده‌سازی الگوریتم رگرسیون خطی می‌پردازیم. از روش حداقل مربعات استفاده می‌کنیم:

def linear_regression(data):
n = len(data)
sum_x = sum([x for x, _ in data])
sum_y = sum([y for _, y in data])
sum_xy = sum([x * y for x, y in data])
sum_x_squared = sum([x ** 2 for x, _ in data])

# محاسبه شیب (Slope) و عرض از مبدا (Intercept)
m = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x ** 2)
b = (sum_y - m * sum_x) / n

return m, b

m, b = linear_regression(data)
print(f"خط برازش: y = {m:.2f}x + {b:.2f}")

4. نمایش نتایج 📊
نتایج رو به صورت متنی نمایش می‌دهیم:

# نمایش نتایج
print(f"شیب خط: {m:.2f}")
print(f"عرض از مبدا: {b:.2f}")

این کد، خط برازش رو با استفاده از داده‌های تولید شده محاسبه می‌کنه و نتایج رو نمایش می‌ده.

5. مزایا و کاربردهای رگرسیون خطی

مزایا:
1. سادگی و سرعت: الگوریتم رگرسیون خطی به خاطر سادگی و سرعت بالا در محاسبات، بسیار محبوب است.
2. تفسیرپذیری: نتایج رگرسیون خطی به راحتی قابل تفسیر هستند؛ به‌خصوص در مواردی که می‌خواهید تأثیر یک متغیر بر دیگری را بفهمید.
3. کمترین نیاز به منابع: این الگوریتم نیاز به منابع محاسباتی کمی دارد و به راحتی قابل پیاده‌سازی است.

کاربردها:
1. پیش‌بینی فروش: یکی از کاربردهای اصلی رگرسیون خطی، پیش‌بینی مقادیر فروش بر اساس تبلیغات یا عوامل دیگر است.
2. تحلیل ریسک مالی: در بخش مالی، رگرسیون خطی برای تحلیل ریسک و بازده سرمایه‌گذاری‌ها مورد استفاده قرار می‌گیرد.
3. تحلیل داده‌های بهداشتی: در حوزه بهداشت و درمان، این الگوریتم برای پیش‌بینی نتایج درمان‌ها یا بررسی تأثیر عوامل مختلف بر سلامت بیماران استفاده می‌شود.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#یادگیری_ماشینی #رگرسیون_خطی #آموزش_پایتون #بدون_ماژول #کدنویسی #پایتون
👍1
📚 آموزش ساخت شبکه عصبی ساده در پایتون بدون ماژول‌های خارجی 📚

سلام دوستان! امروز می‌خوایم یاد بگیریم چطور یک شبکه عصبی ساده رو بدون استفاده از هیچ ماژول خارجی در پایتون پیاده‌سازی کنیم. این آموزش برای کسانی که می‌خوان اصول پایه یادگیری عمیق رو بفهمند بسیار مناسب هست.

1. تنظیمات اولیه 🛠️
ابتدا نیاز داریم که کتابخانه‌های ضروری پایتون رو وارد کنیم.

import random
import math

2. ایجاد توابع مورد نیاز 📋
برای پیاده‌سازی شبکه عصبی، نیاز به برخی توابع پایه‌ای داریم:

تابع فعال‌سازی (سیگموید)
def sigmoid(x):
return 1 / (1 + math.exp(-x))

def sigmoid_derivative(x):
return x * (1 - x)

تولید داده‌های نمونه 🎲
def generate_data(num_points):
data = []
for _ in range(num_points):
x = random.uniform(0, 1)
y = x + random.uniform(-0.1, 0.1)
data.append((x, y))
return data

data = generate_data(100)

3. پیاده‌سازی شبکه عصبی 📈
ما یک شبکه عصبی ساده با یک لایه ورودی، یک لایه پنهان و یک لایه خروجی می‌سازیم.

تنظیمات شبکه عصبی
input_layer_neurons = 1  # تعداد نورون‌های ورودی
hidden_layer_neurons = 2 # تعداد نورون‌های لایه پنهان
output_neurons = 1 # تعداد نورون‌های خروجی

# وزن‌های تصادفی اولیه
hidden_weights = [[random.uniform(-1, 1) for _ in range(input_layer_neurons)] for _ in range(hidden_layer_neurons)]
output_weights = [random.uniform(-1, 1) for _ in range(hidden_layer_neurons)]

آموزش شبکه عصبی
def train_neural_network(data, hidden_weights, output_weights, epochs=10000, learning_rate=0.1):
for _ in range(epochs):
for x, y in data:
# مرحله‌ی پیش‌رو
hidden_layer_input = [sum(x * w for x, w in zip([x], hw)) for hw in hidden_weights]
hidden_layer_output = [sigmoid(h) for h in hidden_layer_input]
output_layer_input = sum(h * w for h, w in zip(hidden_layer_output, output_weights))
predicted_output = sigmoid(output_layer_input)

# محاسبه خطا
error = y - predicted_output

# مرحله‌ی پس‌رو
output_gradient = error * sigmoid_derivative(predicted_output)
hidden_gradient = [output_gradient * w * sigmoid_derivative(h) for w, h in zip(output_weights, hidden_layer_output)]

# به‌روزرسانی وزن‌ها
output_weights = [w + learning_rate * output_gradient * h for w, h in zip(output_weights, hidden_layer_output)]
hidden_weights = [[w + learning_rate * hg * x for w in hw] for hw, hg in zip(hidden_weights, hidden_gradient)]

return hidden_weights, output_weights

hidden_weights, output_weights = train_neural_network(data, hidden_weights, output_weights)

4. تست شبکه عصبی 📊
حالا که شبکه عصبی آموزش دیده، می‌تونیم نتایج رو تست کنیم:

def predict(x, hidden_weights, output_weights):
hidden_layer_input = [sum(x * w for x, w in zip([x], hw)) for hw in hidden_weights]
hidden_layer_output = [sigmoid(h) for h in hidden_layer_input]
output_layer_input = sum(h * w for h, w in zip(hidden_layer_output, output_weights))
predicted_output = sigmoid(output_layer_input)
return predicted_output

test_data = [random.uniform(0, 1) for _ in range(10)]
predictions = [predict(x, hidden_weights, output_weights) for x in test_data]

print("تست داده‌ها و پیش‌بینی‌ها:")
for x, p in zip(test_data, predictions):
print(f"ورودی: {x:.2f} => پیش‌بینی: {p:.2f}")

5. مزایا و کاربردهای شبکه عصبی

مزایا:
1. قدرت پیش‌بینی بالا: شبکه‌های عصبی توانایی یادگیری روابط پیچیده و غیرخطی بین داده‌ها را دارند.
2. قابلیت یادگیری از داده‌ها: شبکه‌های عصبی می‌توانند با استفاده از داده‌ها آموزش ببینند و بهبود پیدا کنند.
3. انعطاف‌پذیری: شبکه‌های عصبی در انواع مختلف مسائل از جمله طبقه‌بندی، رگرسیون و شناسایی الگوها قابل استفاده هستند.
کاربردها:
1. تشخیص تصویر: یکی از مهم‌ترین کاربردهای شبکه‌های عصبی در حوزه بینایی ماشین است.
2. پردازش زبان طبیعی: در تحلیل متون و تشخیص گفتار نیز از شبکه‌های عصبی استفاده می‌شود.
3. پیش‌بینی سری‌های زمانی: در مسائل مالی و اقتصادی، شبکه‌های عصبی برای پیش‌بینی قیمت‌ها و روندها کاربرد دارند.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#یادگیری_عمیق #شبکه_عصبی #آموزش_پایتون #بدون_ماژول #کدنویسی #پایتون