Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
🌟📰 اخبار امروز پایتون 📰🌟

سلام دوستان! امروز با آخرین اخبار داغ دنیای پایتون در خدمت شما هستیم. 📢👇

🔷 انتشار نسخه جدید پایتون 3.12:
نسخه 3.12 پایتون با بهبودهای عملکردی و اضافه شدن قابلیت‌های جدید منتشر شد! 🌐 برخی از ویژگی‌های جدید شامل بهبود در مدیریت حافظه و بهینه‌سازی کامپایلر می‌باشد. 🎉

🔷 پیشرفت در پروژه‌های یادگیری ماشین:
پایتون همچنان در صدر زبان‌های برنامه‌نویسی برای پروژه‌های یادگیری ماشین قرار دارد. 🧠📈 ابزارهای جدیدی مانند TensorFlow 2.9 و PyTorch 1.12 به تازگی عرضه شده‌اند که امکانات بیشتری را برای توسعه‌دهندگان فراهم می‌کنند. 🔥

🔷 کنفرانس PyCon 2024:
ثبت‌نام برای کنفرانس PyCon 2024 آغاز شده است. 🌍🎟 این کنفرانس بزرگترین گردهمایی توسعه‌دهندگان پایتون از سراسر جهان است که در آن می‌توانید از کارگاه‌ها و سخنرانی‌های تخصصی بهره‌مند شوید. 🎤

🔷 پایتون در صنعت خودروسازی:
پایتون به عنوان یکی از ابزارهای مورد استفاده در صنعت خودروسازی رونق گرفته است. 🚗 بسیاری از شرکت‌های بزرگ خودروسازی از پایتون برای توسعه نرم‌افزارهای مربوط به خودروهای هوشمند و خودران استفاده می‌کنند. 🌐

📅 تاریخ‌های مهم:
- انتشار نسخه 3.12: دیروز
- ثبت‌نام PyCon 2024: امروز

همراهان عزیز، برای اطلاعات بیشتر و دریافت اخبار روزانه با ما همراه باشید! 📲

اینجا کلیک کن

#پایتون #اخبار #برنامه‌نویسی #توسعه‌دهنده #یادگیری #تلگرام
👍4👎2
🟥یه بیلاخ زیرش بزن ☝️🥺
👍1
آموزش استفاده از دیتابیس در پایتون 📚🐍

استفاده از دیتابیس‌ها در پایتون یکی از مهارت‌های حیاتی برای برنامه‌نویسان است. در این آموزش، نحوه استفاده از دیتابیس SQLite در پایتون را به شما آموزش می‌دهیم.

1. نصب SQLite:
SQLite به صورت پیش‌فرض در پایتون موجود است و نیازی به نصب ندارد. اما برای مدیریت راحت‌تر دیتابیس‌ها، می‌توانید از ابزارهایی مانند DB Browser for SQLite استفاده کنید.

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

import sqlite3

# اتصال به دیتابیس
conn = sqlite3.connect('mydatabase.db')

# ایجاد یک کرسر
cursor = conn.cursor()

print("Connected to the database")

3. ایجاد جدول:
برای ذخیره داده‌ها، باید یک جدول ایجاد کنیم.

# ایجاد جدول
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
''')

print("Table created successfully")

4. اضافه کردن داده‌ها:
با استفاده از دستور INSERT می‌توانیم داده‌ها را به جدول اضافه کنیم.

# اضافه کردن داده‌ها
cursor.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ("John Doe", 28))

# ذخیره تغییرات
conn.commit()

print("Data inserted successfully")

5. خواندن داده‌ها:
برای خواندن داده‌ها از جدول، از دستور SELECT استفاده می‌کنیم.

# خواندن داده‌ها
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()

for row in rows:
print(row)

6. به‌روزرسانی داده‌ها:
برای به‌روزرسانی داده‌ها از دستور UPDATE استفاده می‌کنیم.

# به‌روزرسانی داده‌ها
cursor.execute('''
UPDATE users
SET age = ?
WHERE name = ?
''', (30, "John Doe"))

# ذخیره تغییرات
conn.commit()

print("Data updated successfully")

7. حذف داده‌ها:
برای حذف داده‌ها از دستور DELETE استفاده می‌کنیم.

# حذف داده‌ها
cursor.execute('''
DELETE FROM users
WHERE name = ?
''', ("John Doe",))

# ذخیره تغییرات
conn.commit()

print("Data deleted successfully")

8. بستن اتصال:
در نهایت باید اتصال به دیتابیس را ببندیم.

# بستن اتصال
conn.close()

print("Connection closed")


با این آموزش ساده، شما می‌توانید به راحتی از SQLite در پایتون استفاده کنید و داده‌های خود را مدیریت کنید. امیدوارم که این آموزش برای شما مفید باشد. اگر سوالی دارید، در قسمت نظرات بپرسید! 😊

[این کانال منه]

#کانال_تلگرام #پایتون_آموزش #دیتابیس_پایتون
👍1
آموزش ساخت کد تست امنیت برنامه در پایتون 🎯

در این آموزش، نحوه نوشتن یک کد ساده برای تست امنیت برنامه‌تان را یاد می‌گیریم. این کد می‌تواند به شما کمک کند تا نقاط ضعف امنیتی را شناسایی و برطرف کنید.

گام اول: اعتبارسنجی ورودی

یکی از مهم‌ترین نکات امنیتی، اعتبارسنجی ورودی‌هاست. مطمئن شوید که کاربر تنها داده‌های معتبر را وارد می‌کند.

کد نمونه برای اعتبارسنجی ورودی:

def is_valid_input(user_input):
return user_input.isalnum()

user_input = input("Enter your input: ")

if is_valid_input(user_input):
print("Valid input!")
else:
print("Invalid input. Only alphanumeric characters are allowed.")

گام دوم: جلوگیری از تزریق کد (SQL Injection)

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

کد نمونه برای جلوگیری از تزریق SQL:

فرض کنید یک پایگاه داده SQLite دارید و می‌خواهید از تزریق SQL جلوگیری کنید.

import sqlite3

# ایجاد اتصال به پایگاه داده
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# ایجاد جدول
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY, username TEXT, password TEXT)''')
conn.commit()

# تابع ورود کاربر با استفاده از پارامترهای آماده
def login(username, password):
cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
result = cursor.fetchone()
if result:
print("Login successful!")
else:
print("Invalid username or password.")

# دریافت ورودی‌های کاربر
username = input("Enter your username: ")
password = input("Enter your password: ")

# تلاش برای ورود
login(username, password)

# بستن اتصال به پایگاه داده
conn.close()


در نتیجه

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

با این روش می‌توانید امنیت برنامه‌های خود را بهبود ببخشید و از بسیاری از حملات جلوگیری کنید. 😊🚀

[اینم لینک کانال منه]

#امنیت #برنامه‌نویسی #پایتون #تست_نفوذ #آموزش_برنامه‌نویسی
درود دوستان! 👋
امروز می‌خوایم درباره دو تا از مهم‌ترین الگوریتم‌های برنامه‌نویسی صحبت کنیم: مرتب‌سازی سریع (Quick Sort) و الگوریتم‌های جست‌وجو (Search Algorithms). بریم که با این الگوریتم‌ها بیشتر آشنا بشیم! 🚀

📌 الگوریتم مرتب‌سازی سریع (Quick Sort)
الگوریتم Quick Sort یکی از کارآمدترین الگوریتم‌های مرتب‌سازی هست که از روش تقسیم و حل (Divide and Conquer) استفاده می‌کنه. این الگوریتم به صورت زیر کار می‌کنه:
1. انتخاب محور (Pivot): یک عنصر رو به عنوان محور انتخاب می‌کنیم.
2. تقسیم‌بندی: آرایه رو به دو بخش تقسیم می‌کنیم، طوری که عناصر کمتر از محور در یک بخش و عناصر بزرگتر در بخش دیگر قرار بگیرن.
3. بازگشت (Recursion): برای هر دو بخش به صورت بازگشتی همین کار رو انجام می‌دیم تا آرایه کاملاً مرتب بشه.

مزیت Quick Sort سرعت بالا و کارایی خوبش در اکثر موارده، هر چند که در بدترین حالت می‌تونه O(n^2) باشه. ولی با انتخاب مناسب محور، معمولاً کارایی اون به O(n log n) می‌رسه.

نمونه کد Quick Sort :

def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)

# استفاده
arr = [3, 6, 8, 10, 1, 2, 1]
print("Sorted array:", quick_sort(arr))

📌 الگوریتم‌های جست‌وجو (Search Algorithms)
الگوریتم‌های جست‌وجو برای پیدا کردن یک عنصر خاص در یک مجموعه داده استفاده می‌شن. دو تا از پرکاربردترین این الگوریتم‌ها عبارتند از:

1. جست‌وجوی خطی (Linear Search):
- ساده‌ترین روش جست‌وجو هست.
- به ترتیب هر عنصر مجموعه رو بررسی می‌کنه تا عنصر مورد نظر رو پیدا کنه.
- زمان اجرای این الگوریتم O(n) هست.

نمونه کد جست‌وجوی خطی :

def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1

# استفاده
arr = [3, 6, 8, 10, 1, 2, 1]
target = 10
print("Element found at index:", linear_search(arr, target))

2. جست‌وجوی دودویی (Binary Search):
- این الگوریتم برای آرایه‌های مرتب‌شده مناسبه.
- به این صورت کار می‌کنه که عنصر وسط رو بررسی می‌کنه. اگر عنصر مورد نظر بزرگتر یا کوچکتر از عنصر وسط باشه، جست‌وجو رو در نیمه مناسب ادامه می‌ده.
- زمان اجرای این الگوریتم O(log n) هست که خیلی سریع‌تر از جست‌وجوی خطیه.

نمونه کد جست‌وجوی دودویی :

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1

# استفاده
arr = sorted([3, 6, 8, 10, 1, 2, 1])
target = 10
print("Element found at index:", binary_search(arr, target))

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

📢 به دوستانتون هم بگین بیاین اینجا تا با هم بیشتر یاد بگیریم! 🌟

[اینم کانال منه]

#برنامه_نویسی #آموزش #الگوریتم #مرتب_سازی #جستجو #یادگیری #QuickSort #SearchAlgorithms
1👍1
❓️بازمالگوریتم بزارم 🧐
Anonymous Poll
89%
آره
11%
نه
👍1
درود دوستان! 👋
امروز می‌خوایم درباره یکی از مهم‌ترین الگوریتم‌های جست‌وجو صحبت کنیم: الگوریتم جست‌وجوی دودویی (Binary Search). این الگوریتم برای پیدا کردن سریع یک عنصر در یک آرایه مرتب‌شده استفاده می‌شه. بریم که با این الگوریتم بیشتر آشنا بشیم! 🚀

📌 الگوریتم جست‌وجوی دودویی (Binary Search)
الگوریتم جست‌وجوی دودویی یکی از سریع‌ترین الگوریتم‌های جست‌وجو هست که زمان اجرای اون O(log n) هست. این الگوریتم به صورت زیر کار می‌کنه:
1. بررسی عنصر وسط: ابتدا عنصر وسط آرایه رو پیدا می‌کنیم.
2. مقایسه: اگر عنصر وسط برابر با عنصر مورد نظر باشه، جست‌وجو تموم می‌شه.
3. تقسیم‌بندی: اگر عنصر مورد نظر کوچکتر از عنصر وسط باشه، جست‌وجو رو در نیمه چپ آرایه ادامه می‌دیم؛ اگر بزرگتر باشه، در نیمه راست آرایه ادامه می‌دیم.
4. تکرار: این مراحل رو تا زمانی که عنصر مورد نظر پیدا بشه یا محدوده جست‌وجو به صفر برسه، تکرار می‌کنیم.

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

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1

# استفاده
arr = sorted([3, 6, 8, 10, 1, 2, 1]) # آرایه مرتب‌شده
target = 10
print("Element found at index:", binary_search(arr, target))

در این مثال، ابتدا آرایه رو مرتب می‌کنیم و سپس از الگوریتم جست‌وجوی دودویی برای پیدا کردن عنصر مورد نظر استفاده می‌کنیم. اگر عنصر پیدا بشه، اندکس اون برگردونده می‌شه؛ در غیر این صورت، -1 برگردونده می‌شه.

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

📢 به دوستانتون هم بگین بیاین اینجا تا با هم بیشتر یاد بگیریم! 🌟

[اینم کانال ماست]

#برنامه_نویسی #آموزش #الگوریتم #جستجو #یادگیری #BinarySearch #الگوریتم_دودویی
❗️🆕️یه کد کار بردی جدید

👇این یکی آپدیت اون کدی هست که CPU رو اسکن می‌کرد این یکی یه جدول درست میکنه و اطلاعات سخت افزاری دستگاه نشون می‌ده 👇

🟥البته که این کد روی همه سیستم عامل ها و سخت افزار ها کار می‌کنه ❗️


import psutil
import GPUtil


def get_cpu_specs():
cpu_freq = psutil.cpu_freq().current
return f"{cpu_freq / 1000:.2f} GHz"


def get_ram_specs():
ram = psutil.virtual_memory().total
return f"{ram / (1024**3):.2f} GB"


def get_gpu_specs():
gpus = GPUtil.getGPUs()
if gpus:
gpu = gpus[0]
return f"{gpu.name}, {gpu.memoryTotal} MB"
else:
return "No GPU found"


def get_ssd_specs():
disk_info = psutil.disk_usage('/')
return f"{disk_info.total / (1024**3):.2f} GB"


def draw_specs_table():
components = {
'CPU': get_cpu_specs(),
'RAM': get_ram_specs(),
'GPU': get_gpu_specs(),
'SSD': get_ssd_specs()
}

header = "| Component | Specs |"
separator = "+" + "-" * (len(header) - 2) + "+"

print(separator)
print(header)
print(separator)

for component, specs in components.items():
line = f"| {component.ljust(9)} | {specs.ljust(13)} |"
print(line)
print(separator)


draw_specs_table()


[اینم کانال منه]

❗️ری اکشن یادتون نره😉

#cpu #پایتون #کاربردی
👍3🐳1
📰 #اخبار_امروز_پایتون 🐍 | ۹ ژوئن ۲۰۲۴

سلام به همه دوستان عزیز برنامه‌نویس! 🌟

امروز با شش خبر مهم از دنیای پایتون در خدمت شما هستیم:

1️⃣ پایتون 3.12.0 منتشر شد! 🎉
نسخه جدید پایتون با ویژگی‌های جدید و بهبود عملکرد منتشر شده است. این نسخه شامل بهبودهای بسیاری در زمینه سرعت و بهینه‌سازی حافظه است. حتماً آن را امتحان کنید! 💻

2️⃣ کتابخانه Pandas به‌روز شد! 📊
نسخه جدید کتابخانه Pandas با قابلیت‌های جدید برای تجزیه و تحلیل داده‌ها ارائه شده است. این به‌روزرسانی شامل بهبودهای زیادی در پردازش داده‌ها و عملکرد بهتر است. 📈

3️⃣ کنفرانس PyCon 2024 🌐
برنامه کنفرانس PyCon 2024 اعلام شد. این کنفرانس در ماه سپتامبر برگزار می‌شود و شامل سخنرانی‌ها و ورکشاپ‌های متنوعی است. برای ثبت‌نام زودتر اقدام کنید! 🗓️

4️⃣ چالش کدنویسی پایتون 🚀
یک چالش جدید برای برنامه‌نویسان پایتون آغاز شده است. این چالش فرصت خوبی برای تست مهارت‌های کدنویسی و یادگیری تکنیک‌های جدید است. در این چالش شرکت کنید و برنده جوایز ارزنده شوید! 🏆

5️⃣ انتشار Django 4.2 🌟
نسخه جدید فریم‌ورک وب محبوب Django منتشر شده است. این نسخه با قابلیت‌های جدید و بهبود‌های امنیتی همراه است. اگر توسعه‌دهنده وب هستید، این به‌روزرسانی را از دست ندهید! 🌐

6️⃣ کتابخانه TensorFlow 2.10.0 🤖
کتابخانه TensorFlow نیز نسخه جدیدی را ارائه کرده است که شامل ابزارهای بهبود یافته برای یادگیری ماشین و هوش مصنوعی است. این نسخه به توسعه‌دهندگان کمک می‌کند تا مدل‌های پیچیده‌تری بسازند. 📊

با ما همراه باشید تا همیشه از آخرین اخبار و به‌روزرسانی‌های دنیای پایتون مطلع شوید! 🌐

[اخبار روز پایتون رو تو این کانال ببینید]


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

تعریف رگرسیون خطی
رگرسیون خطی یکی از روش‌های پایه‌ای و پرکاربرد در یادگیری ماشین است که برای مدل‌سازی رابطه بین یک متغیر مستقل (ورودی) و یک متغیر وابسته (خروجی) استفاده می‌شود. هدف اصلی رگرسیون خطی پیدا کردن بهترین خطی است که داده‌ها را به خوبی توضیح دهد.

مراحل پیاده‌سازی
1. وارد کردن کتابخانه‌ها 📚
2. آماده‌سازی داده‌ها 📋
3. ایجاد و آموزش مدل 🏋️‍♂️
4. پیش‌بینی و ارزیابی مدل 🧮
5. نمایش گرافیکی نتایج 📈

کد پایتون 🐍

# وارد کردن کتابخانه‌های مورد نیاز
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# آماده‌سازی داده‌ها
data = {
'ساعت_مطالعه': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'نمره': [2, 3, 6, 8, 11, 12, 15, 16, 18, 20]
}
df = pd.DataFrame(data)

# تقسیم داده‌ها به دو دسته آموزش و آزمون
X = df[['ساعت_مطالعه']]
y = df['نمره']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# ایجاد مدل رگرسیون خطی
model = LinearRegression()
model.fit(X_train, y_train)

# پیش‌بینی و ارزیابی مدل
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

# نمایش نتایج
print(f"Mean Squared Error: {mse}")
print(f"R2 Score: {r2}")

# نمایش گرافیکی نتایج
plt.scatter(X_test, y_test, color='blue', label='Actual')
plt.plot(X_test, y_pred, color='red', linewidth=2, label='Predicted')
plt.xlabel('ساعت مطالعه')
plt.ylabel('نمره')
plt.legend()
plt.show()

توضیحات کد
- وارد کردن کتابخانه‌ها: کتابخانه‌های numpy، pandas، matplotlib و scikit-learn برای پردازش داده‌ها و ایجاد مدل رگرسیون خطی وارد می‌شوند.
- آماده‌سازی داده‌ها: داده‌های نمونه شامل ساعت‌های مطالعه و نمرات در یک DataFrame ذخیره می‌شوند.
- تقسیم داده‌ها: داده‌ها به دو دسته آموزش (80%) و آزمون (20%) تقسیم می‌شوند.
- ایجاد مدل: مدل رگرسیون خطی ایجاد و با داده‌های آموزشی آموزش داده می‌شود.
- پیش‌بینی و ارزیابی: مدل با داده‌های آزمون پیش‌بینی انجام می‌دهد و با استفاده از معیارهای Mean Squared Error و R2 Score ارزیابی می‌شود.
- نمایش گرافیکی: نتایج پیش‌بینی و داده‌های واقعی به صورت گرافیکی نمایش داده می‌شوند.

[اینم لینک کانال ما]


#یادگیری_ماشین #رگرسیون_خطی #آموزش_پایتون #تحلیل_داده #هوش_مصنوعی
2
📊 آموزش ساخت ماشین حساب گرافیکی با Python 📊

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

مراحل پیاده‌سازی

1. وارد کردن کتابخانه‌ها 📚
2. ایجاد و پیکربندی پنجره اصلی 🏠
3. تعریف و تنظیم نمایشگر و دکمه‌ها 🖲️
4. تعریف توابع عملیات و جلوگیری از ارور 🚫
5. راه‌اندازی برنامه 🚀

کد پایتون 🐍

# وارد کردن کتابخانه‌های مورد نیاز
from tkinter import *

# ایجاد و پیکربندی پنجره اصلی
root = Tk()
root.title("ماشین حساب")
root.geometry("400x600")

# تعریف نمایشگر
display = Entry(root, font=('Arial', 24), borderwidth=2, relief="solid", justify='right')
display.grid(row=0, column=0, columnspan=4, pady=20)

# تعریف توابع عملیات
def button_click(value):
current_text = display.get()
display.delete(0, END)
display.insert(0, current_text + value)

def button_clear():
display.delete(0, END)

def button_equal():
try:
result = eval(display.get())
display.delete(0, END)
display.insert(0, str(result))
except:
display.delete(0, END)
display.insert(0, "خطا")

# تعریف دکمه‌ها
buttons = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+'
]

row_val = 1
col_val = 0

for button in buttons:
if button == '=':
btn = Button(root, text=button, font=('Arial', 18), command=button_equal)
elif button == 'C':
btn = Button(root, text=button, font=('Arial', 18), command=button_clear)
else:
btn = Button(root, text=button, font=('Arial', 18), command=lambda b=button: button_click(b))
btn.grid(row=row_val, column=col_val, ipadx=10, ipady=10, padx=5, pady=5, sticky="nsew")
col_val += 1
if col_val > 3:
col_val = 0
row_val += 1

# دکمه پاک کردن
btn_clear = Button(root, text='C', font=('Arial', 18), command=button_clear)
btn_clear.grid(row=row_val, column=col_val, ipadx=10, ipady=10, padx=5, pady=5, sticky="nsew")

# راه‌اندازی برنامه
root.mainloop()

توضیحات کد
- وارد کردن کتابخانه‌ها: از کتابخانه tkinter برای ایجاد رابط گرافیکی استفاده می‌شود.
- ایجاد و پیکربندی پنجره اصلی: پنجره اصلی با عنوان "ماشین حساب" و اندازه 600x400 پیکربندی می‌شود.
- تعریف نمایشگر: نمایشگر با استفاده از ویجت Entry ایجاد شده و تنظیمات آن انجام می‌شود.
- تعریف توابع عملیات: توابعی برای مدیریت کلیک دکمه‌ها، پاک کردن نمایشگر و محاسبه نتیجه تعریف می‌شوند. تابع eval برای ارزیابی عبارات ریاضی استفاده شده و از وقوع ارور جلوگیری می‌شود.
- تعریف دکمه‌ها: دکمه‌های ماشین حساب به صورت یک لیست تعریف شده و در پنجره اصلی قرار می‌گیرند. هر دکمه با توجه به عملکرد خود (کلیک، پاک کردن، برابر) به توابع مربوطه متصل می‌شود.
- راه‌اندازی برنامه: برنامه با فراخوانی root.mainloop() راه‌اندازی می‌شود.

[اینم کانال ماست]


#یادگیری_پایتون #ماشین_حساب_گرافیکی #آموزش_برنامه_نویسی #tkinter
👍2
🌟 بهینه‌سازی کد با استفاده از memoization 🌟

🔍 توضیحات:

روش memoization یک تکنیک بهینه‌سازی است که با ذخیره‌سازی نتایج محاسبات تکراری، باعث افزایش سرعت اجرای برنامه می‌شود. این روش به خصوص در مواردی که محاسبات سنگین و تکراری داریم، بسیار مفید است. در اینجا یک کد نمونه به زبان پایتون آورده شده که از این تکنیک استفاده می‌کند:

def memoize(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = f(x)
return memo[x]
return helper

@memoize
def some_expensive_computation(x):
# اینجا محاسبات پرهزینه‌ای که نیاز به بهینه‌سازی دارد قرار می‌گیرد
pass

🔧 توضیح کد:

1. 🌐 تابع memoize: این تابع یک دیکشنری به نام memo ایجاد می‌کند که نتایج محاسبات را ذخیره می‌کند.
2. 💡 تابع helper: این تابع چک می‌کند که آیا نتیجه محاسبه قبلاً در memo ذخیره شده است یا نه. اگر ذخیره نشده باشد، محاسبه انجام شده و نتیجه آن ذخیره می‌شود.
3. 🚀 استفاده از memoization: با استفاده از دکوراتور @memoize، تابع some_expensive_computation بهینه‌سازی می‌شود و نتایج محاسبات تکراری ذخیره و بازیابی می‌شوند.


🔗 [اینم کانال ماست]

#بهینه_سازی #پایتون #Memoization #برنامه_نویسی #توسعه_دهنده
👍4
خدارو خوش نمیاد میخونید میرید به ری اکشن نسیبش نمیشه پستای من
2👎1
🌟🔍 #اخبار_پایتون امروز – ۷ خبر مهم برای جامعه پایتون 🔍🌟

1. رشد ابزار جدید بسته‌بندی به نام UV:
شرکت Astral، ابزار جدیدی به نام UV را معرفی کرده است که به عنوان جایگزینی سریع‌تر و کارآمدتر برای pip و سایر مدیریت‌کننده‌های وابستگی عمل می‌کند. UV به زبان Rust نوشته شده و سرعت بالایی دارد. 🚀📦

2. پیشرفت‌های امنیتی در پایتون:
Seth Larson، توسعه‌دهنده‌ی امنیتی جدیدی که توسط بنیاد نرم‌افزار پایتون (PSF) استخدام شده است، در حال کار بر روی بهبود‌های امنیتی در اکوسیستم پایتون است. این بهبودها شامل تقویت پروتکل‌های امنیتی و رفع اشکالات موجود می‌باشد. 🔒🐍

3. NumPy 2.0 به زودی منتشر می‌شود:
NumPy 2.0 که یک بروزرسانی بزرگ و مهم برای کتابخانه محبوب محاسبات عددی است، در 16 ژوئن 2024 منتشر خواهد شد. این نسخه شامل بهبودهای کارایی و ویژگی‌های جدید است. 🔢

4. ویژگی‌های جدید در پایتون 3.13:
نسخه بتا پایتون 3.13 منتشر شده و ویژگی‌های جدیدی مانند Interpreter جدید با ویرایش چند خطی و پشتیبانی از رنگ، و یک حالت experimental بدون GIL (Global Interpreter Lock) ارائه شده است. توسعه‌دهندگان تشویق می‌شوند که این نسخه را تست کنند و بازخوردهای خود را ارائه دهند. 💻🐍

5. افزونه جدید Pytest برای غیرفعال کردن تست‌ها:
یک افزونه جدید برای Pytest معرفی شده است که به کاربران اجازه می‌دهد تست‌ها را در فایل‌های خاص غیرفعال کنند. این افزونه می‌تواند برای بهینه‌سازی و مدیریت بهتر تست‌ها مفید باشد. 🧪⚙️

6. ملاقات‌های پایتون در سراسر جهان:
جامعه پایتون در هفته‌های آینده میزبان چندین رویداد مهم است، از جمله DjangoCon Europe 2024، PyCon Colombia 2024، و Canberra Python Meetup. این رویدادها فرصتی عالی برای شبکه‌سازی و یادگیری هستند. 🌐🎉

7. آموزش‌های جدید در Real Python:
وبسایت Real Python آموزش‌های جدیدی درباره طراحی اصول شی‌ء‌گرایی در پایتون و استفاده از اینترفیس‌ها منتشر کرده است. این آموزش‌ها به توسعه‌دهندگان کمک می‌کند تا کدهای تمیزتر و قابل نگهداری‌تری بنویسند. 📚💡

🔗 برای اطلاعات بیشتر و جزئیات کامل به منابع زیر مراجعه کنید:
- [Python Insider]
- [Real Python]
- [Planet Python]

🌹کانال مونو هم یه نگاه بندازین🌹

[این لینکشه]

#پایتون #اخبار_فناوری #برنامه‌نویسی #امنیت #پیشرفت #ابزارهای_توسعه
👍1
👇خلاصه الگوریتم فلوچارت👇
مراحل الگوریتم:
تحلیل ایستا (Static Analysis)
شناسایی و حذف کدهای بلااستفاده
بهینه‌سازی و ساده‌سازی منطق کد
مستندسازی و نظافت کد
بررسی و تست نهایی
فلوچارت الگوریتم:
در ادامه فلوچارت این مراحل را رسم خواهیم کرد:

شروع (Start)
تحلیل ایستا (Static Analysis)
از ابزارهای تحلیل ایستا استفاده کنید.
مشکلات و کدهای غیرفعال را شناسایی کنید.
شناسایی و حذف کدهای بلااستفاده (Identify and Remove Unused Code)
یافتن توابع و کلاس‌های بلااستفاده
حذف متغیرهای بلااستفاده
بهینه‌سازی و ساده‌سازی منطق کد (Optimize and Simplify Code Logic)
حذف شرط‌های غیرضروری
ادغام کدهای مشابه
مستندسازی و نظافت کد (Document and Clean Up Code)
اضافه کردن توضیحات و مستندات
استفاده از کنوانسیون‌های کدنویسی
بررسی و تست نهایی (Final Review and Testing)
انجام تست‌های خودکار
بررسی عملکرد
پایان (End)

[الگوریتم هارو تو این کانال پیدا کنید]
👍1👎1