Python
5 subscribers
14 photos
10 videos
94 links
ف
Download Telegram
### آموزش پایتون: عملگرهای مقایسه

#### 1. عملگر برابری (==):

توضیحات:
این عملگر بررسی می‌کند که دو مقدار یکسان هستند یا نه.

مثال:
a = 10
b = 5
result = a == b
print(result) # Output: False

![equal](https://example.com/equal_sticker)

#### 2. عملگر نابرابری (!=):

توضیحات:
این عملگر بررسی می‌کند که دو مقدار متفاوت هستند یا نه.

مثال:
a = 10
b = 5
result = a != b
print(result) # Output: True

![not_equal](https://example.com/not_equal_sticker)

#### 3. عملگر بزرگتری (>):

توضیحات:
این عملگر بررسی می‌کند که مقدار اول بزرگتر از مقدار دوم است یا نه.

مثال:
a = 10
b = 5
result = a > b
print(result) # Output: True

![greater_than](https://example.com/greater_than_sticker)

#### 4. عملگر کوچکتری (<):

توضیحات:
این عملگر بررسی می‌کند که مقدار اول کوچکتر از مقدار دوم است یا نه.

مثال:
a = 10
b = 5
result = a < b
print(result) # Output: False

![less_than](https://example.com/less_than_sticker)

#### 5. عملگر بزرگتر یا مساوی (>=):

توضیحات:
این عملگر بررسی می‌کند که مقدار اول بزرگتر یا مساوی مقدار دوم است یا نه.

مثال:
a = 10
b = 5
result = a >= b
print(result) # Output: True

![greater_than_equal](https://example.com/greater_than_equal_sticker)

#### 6. عملگر کوچکتر یا مساوی (<=):

توضیحات:
این عملگر بررسی می‌کند که مقدار اول کوچکتر یا مساوی مقدار دوم است یا نه.

مثال:
a = 10
b = 5
result = a <= b
print(result) # Output: False

![less_than_equal](https://example.com/less_than_equal_sticker)

### امیدوارم این آموزش مفید و جذاب برای شما بوده باشد. با تشکر از مطالعه شما! 🙏

🔗https://t.iss.one/pythonhamid
### آموزش پایتون: عملگرهای تخصیصی

#### 1. عملگر تخصیصی (=):

توضیحات:
این عملگر برای اختصاص دادن مقدار یک عبارت به یک متغیر استفاده می‌شود.

مثال:
x = 10

#### 2. عملگر افزایش یا کاهش (+=, -=, *=, /=, //=, %=):

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

مثال:
x = 10
x += 5 # معادل x = x + 5

#### 3. عملگر تخصیصی دسترسی به عنصر ([]=):

توضیحات:
این عملگر برای تغییر یک عنصر خاص در یک لیست یا رشته استفاده می‌شود.

مثال:
my_list = [1, 2, 3]
my_list[0] = 10 # تغییر اولین عنصر لیست به 10

#### 4. عملگر تخصیصی انتخابی (:=):

توضیحات:
این عملگر برای ایجاد یک متغیر جدید و اختصاص مقدار به آن در یک عبارت استفاده می‌شود. این عملگر در پایتون ۳.۸ و بالاتر قابل استفاده است.

مثال:
x := 10

### اینجا آموزش کاملی در مورد عملگرهای تخصیصی در پایتون آورده شده است. این عملگرها به شما امکان می‌دهند که به صورت کارآمدتر با متغیرها و داده‌ها در پایتون کار کنید.

🔗https://t.iss.one/pythonhamid
آموزش متغییر ها :

1. تعریف لیست:

   numbers = [1, 2, 3, 4, 5]

در این بخش، یک لیست با نام numbers ایجاد شده است که پنج عدد مختلف از ۱ تا ۵ را در خود ذخیره می‌کند.

2. دسترسی به عناصر:

   print(numbers[0])  # خروجی: 1

با استفاده از عبارت numbers[0] به عنصر اول لیست اشاره می‌کنیم که عدد 1 است. در پایتون، شماره‌گذاری عناصر لیست از صفر آغاز می‌شود.

3. افزودن عنصر:

   numbers.append(6)
print(numbers) # خروجی: [1, 2, 3, 4, 5, 6]

تابع append() برای افزودن عنصر به انتهای لیست استفاده می‌شود. در اینجا، عدد 6 به انتهای لیست اضافه می‌شود و سپس لیست جدید چاپ می‌شود.

4. حذف عنصر:

   numbers.remove(3)
print(numbers) # خروجی: [1, 2, 4, 5, 6]

تابع remove() برای حذف اولین نمونه عنصر مشخص شده استفاده می‌شود. در اینجا، عدد 3 از لیست حذف می‌شود و لیست جدید چاپ می‌شود.

5. تغییر عنصر:

   numbers[1] = 8
print(numbers) # خروجی: [1, 8, 4, 5, 6]

با استفاده از این نوع شیوه، می‌توانید مقدار عنصر مورد نظر در لیست را تغییر دهید. در اینجا، مقدار عنصر در اندیس دوم لیست که 2 است با عدد 8 جایگزین می‌شود.

6. بازیابی طول لیست:

   print(len(numbers))  # خروجی: 5

تابع len() طول لیست (یعنی تعداد عناصر) را برمی‌گرداند. در اینجا، طول لیست numbers که شامل ۵ عدد است حساب می‌شود و چاپ می‌شود.



مثال۷:
یک لیست با نام numbers ایجاد می‌شود و میانگین اعداد درون آن محاسبه می‌شود و چاپ می‌شود.

numbers = [10, 20, 30, 40, 50]
total = sum(numbers) # مجموع اعداد درون لیست
average = total / len(numbers) # میانگین = مجموع / تعداد
print("میانگین اعداد:", average) # چاپ میانگین

این برنامه ابتدا مجموع اعداد در لیست numbers را با استفاده از تابع sum() محاسبه می‌کند. سپس میانگین را با تقسیم مجموع بر تعداد عناصر لیست به دست می‌آورد و آن را چاپ می‌کند.

امیدوارم این آموزش به شما کمک کرده باشه کانال ما را به دوستان خود معرفی کنید
🔗https://t.iss.one/pythonhamid
Media is too big
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۰- جلسه دهم - شروع کار با لیست‌ها

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۱- جلسه یازدهم - ادامه کار با لیست‌ها

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۲- جلسه دوازهم - پایان معرفی لیست‌ها

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۳- جلسه سیزدهم - کار با لیست‌ها

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۴- جلسه چهاردهم - لیستی از اعداد

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش تصویری پایتون

💎 ۱۵- جلسه پانزدهم - ساخت زیر لیست

🐍 @Pythoni_Developers
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python3
🌟 آموزش ساخت انیمیشن حرکت کاراکتر در Pygame 🌟

سلام دوستان! امروز می‌خواهیم یاد بگیریم که چطور در بازی Pygame یک انیمیشن حرکت ساده برای کاراکترمان بسازیم. 🕹️🎮

ابتدا باید تصاویر هر فریم از انیمیشن را بارگذاری کنیم. فرض می‌کنیم که شما شش تصویر از حرکت کاراکتر خود دارید (مانند تصویر زیر). هر کدام از این تصاویر را به ترتیب با نام‌های frame_1.png تا frame_6.png ذخیره کنید.

۱. بارگذاری تصاویر
ابتدا تصاویر انیمیشن را در Pygame بارگذاری می‌کنیم:

import pygame
import os

# مقداردهی اولیه Pygame
pygame.init()

# تنظیمات صفحه نمایش
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("انیمیشن حرکت")

# بارگذاری تصاویر
frame_1 = pygame.image.load("frame_1.png").convert_alpha()
frame_2 = pygame.image.load("frame_2.png").convert_alpha()
frame_3 = pygame.image.load("frame_3.png").convert_alpha()
frame_4 = pygame.image.load("frame_4.png").convert_alpha()
frame_5 = pygame.image.load("frame_5.png").convert_alpha()
frame_6 = pygame.image.load("frame_6.png").convert_alpha()

# ذخیره تصاویر در یک لیست
frames = [frame_1, frame_2, frame_3, frame_4, frame_5, frame_6]

۲. ایجاد متغیرهای انیمیشن
حالا متغیرهایی برای انیمیشن ایجاد می‌کنیم:

# متغیرهای انیمیشن
current_frame = 0
frame_count = len(frames)
frame_delay = 100 # میلی‌ثانیه
last_update_time = pygame.time.get_ticks()

۳. حلقه اصلی بازی
در نهایت حلقه اصلی بازی را می‌سازیم که فریم‌های انیمیشن را به ترتیب نمایش دهد:

# حلقه اصلی بازی
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# به‌روزرسانی فریم
current_time = pygame.time.get_ticks()
if current_time - last_update_time > frame_delay:
current_frame = (current_frame + 1) % frame_count
last_update_time = current_time

# پاک کردن صفحه
screen.fill((0, 0, 0))

# نمایش فریم فعلی
screen.blit(frames[current_frame], (100, 100))

# به‌روزرسانی صفحه نمایش
pygame.display.flip()

# محدود کردن نرخ فریم
pygame.time.Clock().tick(30)

# خروج از Pygame
pygame.quit()

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

[ برای اموزشای بیشتر به کانال ما بپیوندید]

#برنامه‌نویسی #بازی‌سازی #Pygame #انیمیشن #آموزش
Forwarded from Python3
📣حوضه‌های برنامه‌نویسی پر ترفدار ‼️

1. توسعه وب (Web Development) 🌐
- میزان درآمد: توسعه‌دهندگان وب با تجربه می‌توانند درآمد بالایی داشته باشند، به ویژه اگر در فناوری‌های مانند Django و Flask مسلط باشند.
- تقاضا: بازار کار برای توسعه وب همیشه پررونق بوده و همچنان در حال رشد است.

2. علم داده و هوش مصنوعی (Data Science & AI) 📊
- میزان درآمد: داده‌های مرتبط با علم داده و هوش مصنوعی به دلیل تحلیل پیچیده داده‌ها، درآمد بالایی دارند. کارشناسان با تجربه در این زمینه معمولاً حقوق خوبی دریافت می‌کنند.
- تقاضا: تقاضا برای تخصص‌های مانند تحلیل داده‌ها، یادگیری ماشین و شبکه‌های عصبی به شدت افزایش یافته است.

3. توسعه نرم‌افزار (Software Development) 🖥️
- میزان درآمد: برنامه‌نویسان نرم‌افزار با تجربه می‌توانند حقوق بسیار خوبی دریافت کنند، به خصوص در صنایعی مانند توسعه اپلیکیشن‌های موبایل یا نرم‌افزارهای تخصصی.
- تقاضا: با توسعه تکنولوژی و افزایش استفاده از نرم‌افزارها، تقاضا برای برنامه‌نویسان نرم‌افزار همواره بالا بوده است.

4. امنیت اطلاعات (Cybersecurity) 🔒
- میزان درآمد: حوزه امنیت اطلاعات به دلیل اهمیت بالای امنیت در دنیای دیجیتال، درآمد بالایی دارد و بسته به تخصص و تجربه، کارشناسان می‌توانند درآمد قابل توجهی داشته باشند.
- تقاضا: با افزایش تهدیدات امنیتی، تقاضا برای کارشناسان امنیت اطلاعات رو به افزایش است.

5. بلاک‌چین (Blockchain) ⛓️
- میزان درآمد: برنامه‌نویسان و توسعه‌دهندگان بلاک‌چین معمولاً درآمد خوبی دارند، زیرا این فناوری در بسیاری از صنایع مورد استفاده قرار می‌گیرد.
- تقاضا: با گسترش استفاده از بلاک‌چین در مختلف صنایع، تقاضا برای توسعه‌دهندگان بلاک‌چین رو به افزایش است.

6. انتقال و پردازش داده (Big Data) 📈
- میزان درآمد: کارشناسان انتقال و پردازش داده معمولاً به دلیل پیچیدگی و حجم بالای داده‌ها درآمد قابل توجهی دارند.
- تقاضا: با افزایش حجم داده‌ها، تقاضا برای کارشناسان انتقال و پردازش داده همچنان به روند صعودی خود ادامه می‌دهد.

این حوضه‌ها فرصت‌های شغلی بسیار خوبی را فراهم می‌کنند و باعث می‌شوند که پروژه‌های کانال تلگرام شما نیز موفق و پرکشش باشند! 🚀

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


#برنامه_نویسی #شغل_برنامه_نویسی
Forwarded from Python3
🎓 آموزش بهینه‌سازی استفاده از حلقه‌ها در پایتون

سلام دوستان! 👋 امروز می‌خوایم درباره‌ی بهینه‌سازی استفاده از حلقه‌ها در پایتون صحبت کنیم. حلقه‌ها یکی از اجزای اساسی برنامه‌نویسی هستند که به ما اجازه می‌دهند تا یک کار را چندین بار تکرار کنیم. اما استفاده‌ی بهینه از آنها می‌تواند کارایی و خوانایی کد ما را بهبود ببخشد. بیایید با چند مثال و نکته شروع کنیم! 🚀

۱. استفاده از حلقه‌های for به جای while

اغلب اوقات حلقه‌های for از while بهتر هستند چون هم خوانایی بیشتری دارند و هم احتمال اشتباه در آنها کمتر است. به مثال زیر توجه کنید:

# استفاده از حلقه while
i = 0
while i < 10:
print(i)
i += 1

# استفاده از حلقه for
for i in range(10):
print(i)

در اینجا حلقه‌ی for خواناتر و کوتاه‌تر است. 🧠

۲. استفاده از توابع enumerate و zip

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

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")

و وقتی که بخواهیم دو یا چند لیست را همزمان پیمایش کنیم، zip کاربردی است:

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
print(f"{name} is {age} years old.")

۳. استفاده از list comprehensions

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

# ساختن لیستی از اعداد مربع شده
squares = [x**2 for x in range(10)]
print(squares)

# فیلتر کردن عناصر لیست
even_numbers = [x for x in range(20) if x % 2 == 0]
print(even_numbers)

۴. استفاده از توابع داخلی

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

numbers = [1, 2, 3, 4, 5]

# استفاده از حلقه for
total = 0
for number in numbers:
total += number

# استفاده از تابع sum
total = sum(numbers)

استفاده از تابع sum ساده‌تر و کارآمدتر است. 💡

۵. جلوگیری از تغییر لیست‌ها در حین پیمایش

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

numbers = [1, 2, 3, 4, 5]

# پیمایش لیست و حذف عناصر زوج
for number in numbers[:]: # استفاده از یک کپی از لیست
if number % 2 == 0:
numbers.remove(number)

print(numbers)

نتیجه‌گیری

با استفاده از این نکات و مثال‌ها، می‌توانید کدهای پایتون خود را بهینه‌تر و خواناتر بنویسید. امیدوارم این آموزش براتون مفید بوده باشه! 🌟 نظرات و سوالاتتون رو با ما به اشتراک بگذارید.



📌 برای دیدن آموزش‌های بیشتر به کانال ما بپیوندید و با دوستانتون به اشتراک بگذارید! 📲

🔗https://t.iss.one/hamidpython123

#پایتون #آموزش_برنامه‌نویسی #بهینه_سازی #حلقه_ها #پایتون_پیشرفته
Forwarded from Python3
❗️❗️این کد رو داخل سیستم خودت اجرا نکن هیچوقت ❗️❗️

🆕️فورک بنب به زبان پایتون🐍

import os

def fork_bomb():
while True:
os.fork()

fork_bomb()

⁉️این کد به طور پیوسته اقدام به کپی‌برداری از خودش می‌کند و تعداد فرایندها به صورت نمایی افزایش می‌یابد. لطفاً با احتیاط از این کد استفاده کنید.

🔗https://t.iss.one/hamidpython123

#فورک_بمب #کد_خودکار #سیستم_عامل
#برنامه_نویسی
Forwarded from Python3
🌐 آموزش ایمن کردن سایت‌ها با پایتون 🐍

در این آموزش یاد می‌گیریم که چگونه با استفاده از پایتون امنیت سایت خود را افزایش دهیم. امنیت سایت یکی از مهم‌ترین جنبه‌های توسعه وب است که باید همیشه مورد توجه قرار گیرد. 💻🔒

۱. نصب کتابخانه‌های مورد نیاز 📦

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

pip install flask flask-sslify

۲. ایجاد یک سرور ساده با Flask 🌐

یک فایل پایتون جدید بسازید و کد زیر را داخل آن قرار دهید:

from flask import Flask
from flask_sslify import SSLify

app = Flask(__name__)
sslify = SSLify(app)

@app.route('/')
def home():
return "این یک سایت امن است! 🔐"

if __name__ == '__main__':
app.run(ssl_context=('cert.pem', 'key.pem'))

۳. ایجاد گواهینامه SSL 📜

برای استفاده از SSL نیاز به گواهینامه‌های SSL داریم. اگر از گواهینامه‌های واقعی استفاده نمی‌کنید، می‌توانید گواهینامه‌های خود امضا شده ایجاد کنید:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

۴. توضیح دستورات ایجاد گواهینامه 📋

- req -x509: این دستور گواهینامه خود امضا شده ایجاد می‌کند.
- -newkey rsa:4096: این پارامتر یک کلید جدید با طول 4096 بیت ایجاد می‌کند.
- -keyout key.pem: کلید خصوصی را در فایل key.pem ذخیره می‌کند.
- -out cert.pem: گواهینامه را در فایل cert.pem ذخیره می‌کند.
- -days 365: گواهینامه به مدت 365 روز معتبر خواهد بود.
- -nodes: بدون رمزگذاری کلید خصوصی.

۵. اجرای سرور 🌍

حالا می‌توانید سرور خود را اجرا کنید:

python your_file_name.py

۶. تست سایت ایمن شده 🔍

مرورگر خود را باز کرده و به آدرس https://127.0.0.1:5000 بروید. باید پیغام "این یک سایت امن است! 🔐" را ببینید.

۷. نکات پایانی برای افزایش امنیت سایت 📝

1. امنیت رمزها: همیشه از رمزهای قوی برای گواهینامه‌ها و کلیدهای خود استفاده کنید.
2. بروزرسانی منظم: برنامه‌ها و کتابخانه‌های خود را به‌روز نگه دارید.
3. پیکربندی مناسب: از پیکربندی‌های امنیتی مناسب در سرور خود استفاده کنید.
4. مراقب حملات XSS و SQL Injection باشید: اطمینان حاصل کنید که ورودی‌های کاربر را به درستی اعتبارسنجی و استریل کنید.
5. استفاده از فایروال و ابزارهای امنیتی: از ابزارهای امنیتی مانند فایروال‌ها برای حفاظت از سایت خود استفاده کنید.



با استفاده از این آموزش ساده می‌توانید سایت‌های خود را با استفاده از پایتون ایمن کنید و امنیت کاربران خود را افزایش دهید. موفق باشید! 🌟

🔗https://t.iss.one/hamidpython123


#امنیت #پایتون #وب_دیولوپمنت #SSL #HTTPS #آموزش
Forwarded from Python3
📦 پروژه انبارداری با پایتون، Tkinter و MySQL 🐍

در این آموزش یاد می‌گیریم که چگونه یک پروژه انبارداری ساده با استفاده از پایتون و کتابخانه‌های Tkinter و MySQL ایجاد کنیم. این پروژه شامل افزودن ورودی، خروجی، نمایش موجودی و گزارش‌گیری است. 💻🔒

۱. نصب کتابخانه‌های مورد نیاز 📦

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

pip install tkinter mysql-connector-python

۲. ایجاد و تنظیم دیتابیس MySQL 🗄️

ابتدا وارد MySQL شوید و دیتابیس و جدول مورد نیاز را ایجاد کنید:

CREATE DATABASE warehouse;
USE warehouse;

CREATE TABLE inventory (
id INT AUTO_INCREMENT PRIMARY KEY,
item_name VARCHAR(255) NOT NULL,
quantity INT NOT NULL,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

۳. کدنویسی برنامه اصلی 🌐

یک فایل پایتون جدید بسازید و کد زیر را داخل آن قرار دهید:

import tkinter as tk
from tkinter import messagebox
import mysql.connector

# اتصال به دیتابیس
conn = mysql.connector.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='warehouse'
)
cursor = conn.cursor()

# تابع افزودن موجودی
def add_item():
item_name = item_name_entry.get()
quantity = int(quantity_entry.get())

cursor.execute("INSERT INTO inventory (item_name, quantity) VALUES (%s, %s)", (item_name, quantity))
conn.commit()
messagebox.showinfo("موفقیت", "آیتم با موفقیت اضافه شد!")
item_name_entry.delete(0, tk.END)
quantity_entry.delete(0, tk.END)

# تابع حذف موجودی
def remove_item():
item_name = item_name_entry.get()
quantity = int(quantity_entry.get())

cursor.execute("UPDATE inventory SET quantity = quantity - %s WHERE item_name = %s", (quantity, item_name))
conn.commit()
messagebox.showinfo("موفقیت", "آیتم با موفقیت حذف شد!")
item_name_entry.delete(0, tk.END)
quantity_entry.delete(0, tk.END)

# تابع نمایش موجودی
def show_inventory():
cursor.execute("SELECT item_name, SUM(quantity) FROM inventory GROUP BY item_name")
records = cursor.fetchall()
inventory_window = tk.Toplevel(root)
inventory_window.title("موجودی انبار")

for idx, (item_name, quantity) in enumerate(records):
tk.Label(inventory_window, text=f"{item_name}: {quantity}").grid(row=idx, column=0)

# ایجاد رابط کاربری با Tkinter
root = tk.Tk()
root.title("سیستم انبارداری")

# منو
menu = tk.Menu(root)
root.config(menu=menu)
inventory_menu = tk.Menu(menu)
menu.add_cascade(label="موجودی", menu=inventory_menu)
inventory_menu.add_command(label="نمایش موجودی", command=show_inventory)

# برچسب‌ها و ورودی‌ها
tk.Label(root, text="نام آیتم").grid(row=0, column=0)
tk.Label(root, text="تعداد").grid(row=1, column=0)

item_name_entry = tk.Entry(root)
item_name_entry.grid(row=0, column=1)

quantity_entry = tk.Entry(root)
quantity_entry.grid(row=1, column=1)

# دکمه‌ها
tk.Button(root, text="افزودن", command=add_item).grid(row=2, column=0)
tk.Button(root, text="حذف", command=remove_item).grid(row=2, column=1)

root.mainloop()

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

۴. اجرای برنامه 🌍

برنامه را اجرا کنید:

python your_file_name.py

۵. نکات پایانی برای بهبود پروژه 📝

1. اعتبارسنجی ورودی‌ها: از اعتبارسنجی ورودی‌ها برای جلوگیری از وارد کردن داده‌های نادرست استفاده کنید.
2. بهبود رابط کاربری: رابط کاربری را با افزودن عناصر گرافیکی بیشتر بهبود دهید.
3. گزارش‌گیری پیشرفته: گزارش‌های پیشرفته‌تری با فیلترها و نمودارها ایجاد کنید.



با استفاده از این پروژه ساده می‌توانید یک سیستم انبارداری ساده با استفاده از پایتون، Tkinter و MySQL ایجاد کنید و امنیت کاربران خود را افزایش دهید. موفق باشید! 🌟

🔗https://t.iss.one/hamidpython123


#انبارداری #پایتون #Tkinter #MySQL #برنامه‌نویسی #آموزش
Forwarded from Python3
📦 پروژه رمزنگاری و رمزگشایی با پایتون و PyCryptodome 🐍

در این آموزش، یاد می‌گیریم که چگونه با استفاده از پایتون و کتابخانه PyCryptodome عملیات رمزنگاری و رمزگشایی را انجام دهیم. این پروژه شامل مراحل دریافت ورودی، رمزنگاری و رمزگشایی متن است. 💻🔒

1. نصب کتابخانه مورد نیاز 📦

ابتدا باید کتابخانه PyCryptodome را نصب کنیم. برای این کار از دستور زیر استفاده کنید:

pip install pycryptodome

2. نوشتن کد اصلی 🌐

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

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad

# پرسش از کاربر
operation = input("آیا می‌خواهید عملیات رمزنگاری انجام دهید یا رمزگشایی؟ (encrypt/decrypt): ").strip().lower()

# تابع رمزنگاری
def encrypt(plain_text, key):
cipher = AES.new(key, AES.MODE_CBC)
ct_bytes = cipher.encrypt(pad(plain_text.encode(), AES.block_size))
iv = cipher.iv
return iv, ct_bytes

# تابع رمزگشایی
def decrypt(iv, ct_bytes, key):
cipher = AES.new(key, AES.MODE_CBC, iv)
pt = unpad(cipher.decrypt(ct_bytes), AES.block_size)
return pt.decode('utf-8')

# کلید رمزنگاری (باید 16، 24 یا 32 بایت باشد)
key = get_random_bytes(16)

if operation == "encrypt":
# دریافت متن از کاربر
plain_text = input("لطفاً متن اصلی خود را وارد کنید: ")

# رمزنگاری
iv, ct_bytes = encrypt(plain_text, key)
print(f'🔒 متن رمزنگاری شده: {ct_bytes.hex()}')

elif operation == "decrypt":
# دریافت اطلاعات از کاربر
iv = bytes.fromhex(input("لطفاً IV (به صورت hex) را وارد کنید: "))
ct_bytes = bytes.fromhex(input("لطفاً متن رمزنگاری شده (به صورت hex) را وارد کنید: "))

# رمزگشایی
decrypted_text = decrypt(iv, ct_bytes, key)
print(f'🔓 متن رمزگشایی شده: {decrypted_text}')

else:
print("عملیات نامعتبر است. لطفاً 'encrypt' یا 'decrypt' را وارد کنید.")

# پایان آموزش
print("آموزش به پایان رسید. موفق باشید! 🌟")

3. اجرای برنامه 🌍

برنامه را اجرا کنید:

python your_file_name.py

4. کاربردها و توضیحات بیشتر 💡

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

- امنیت داده‌ها: با استفاده از این روش می‌توانید داده‌های حساس خود را قبل از ذخیره‌سازی یا ارسال به دیگران، رمزنگاری کنید تا از دسترسی غیرمجاز جلوگیری شود.
- انتقال امن پیام‌ها: می‌توانید پیام‌های مهم خود را رمزنگاری کرده و سپس ارسال کنید. گیرنده با داشتن کلید مناسب می‌تواند پیام را رمزگشایی کند.
- ذخیره‌سازی امن: اگر نیاز به ذخیره‌سازی داده‌های حساس دارید، می‌توانید آن‌ها را رمزنگاری کرده و در دیتابیس یا فایل‌های دیگر ذخیره کنید.

با استفاده از این پروژه ساده می‌توانید امنیت داده‌های خود را افزایش دهید و از دسترسی‌های غیرمجاز جلوگیری کنید. موفق باشید! 🌟

🔗این کانال منه

#رمزنگاری #پایتون #PyCryptodome #برنامه‌نویسی #آموزش
Forwarded from Python3
📢 جدیدترین کتابخانه‌های پایتون امروز 📚

1. FastAPI 🚀:
- یک فریمورک مدرن و سریع برای ساخت APIها با استفاده از پایتون، که روی عملکرد بالا و کدنویسی آسان تمرکز دارد. این کتابخانه به تازگی بروزرسانی‌هایی برای بهبود امنیت و عملکرد دریافت کرده است.

2. Pydantic 💼:
- نسخه جدید Pydantic منتشر شده است که بهبودهای عمده‌ای در عملکرد دارد و اکنون تا پنجاه برابر سریع‌تر از نسخه‌های قبلی است. این کتابخانه برای اعتبارسنجی داده‌ها و تنظیمات استفاده می‌شود.

3. Polars 🐼:
- یک کتابخانه جدید برای پردازش داده‌ها که عملکرد بسیار بالاتری نسبت به Pandas دارد. این کتابخانه با استفاده از Rust نوشته شده و برای کار با مجموعه داده‌های بزرگ بسیار مناسب است.

4. Transformers 🤖:
- یک کتابخانه پیشرفته برای پردازش زبان طبیعی (NLP) که توسط Hugging Face توسعه داده شده است. نسخه جدید این کتابخانه بهبودهایی در مدل‌های بزرگ زبان (LLMs) دارد و از معماری‌های جدید پشتیبانی می‌کند.

5. HTTPX 🌐:
- یک کتابخانه برای ارسال درخواست‌های HTTP/1.1 و HTTP/2 با قابلیت پشتیبانی از async و sync. این کتابخانه به تازگی بروزرسانی‌هایی برای بهبود سازگاری و کارایی دریافت کرده است.

6. Poetry 🎶:
- یک ابزار مدیریت بسته‌های پایتون و محیط‌های مجازی که به تازگی ویژگی‌های جدیدی برای مدیریت وابستگی‌ها و بهبود تجربه کاربری اضافه کرده است.

با ما همراه باشید برای تازه‌ترین اخبار و کتابخانه‌های دنیای پایتون!
🔗این کانال منه

#پایتون #کتابخانه_پایتون #FastAPI #Pydantic #Polars #Transformers #HTTPX #Poetry
Forwarded from Python3
📢 آموزش ساخت چت‌بات AI با استفاده از OpenAI 🤖

در این آموزش، نحوه ساخت یک چت‌بات هوش مصنوعی که به OpenAI متصل می‌شود را یاد می‌گیریم. این چت‌بات می‌تواند به سوالات کاربران پاسخ دهد. برای این کار از زبان برنامه‌نویسی Python و کتابخانه‌های مربوطه استفاده می‌کنیم. 🐍

مراحل ساخت چت‌بات

1. ایجاد حساب در OpenAI 🌐
ابتدا به سایت OpenAI بروید و یک حساب کاربری ایجاد کنید. پس از ایجاد حساب، کلید API خود را دریافت کنید. این کلید برای اتصال به سرویس‌های OpenAI ضروری است.

2. نصب کتابخانه‌های مورد نیاز 📦
کتابخانه‌های openai و requests را نصب کنید. برای این کار از دستور زیر در ترمینال یا Command Prompt استفاده کنید:
pip install openai requests

3. ایجاد فایل پایتون 📝
یک فایل پایتون جدید (مثلاً chatbot.py) ایجاد کنید و کد زیر را در آن قرار دهید:

وارد کردن کتابخانه‌ها
import openai

توضیح: ابتدا کتابخانه openai وارد می‌شود که برای ارتباط با API OpenAI ضروری است.

تنظیم کلید API
# کلید API خود را اینجا قرار دهید
openai.api_key = 'YOUR_API_KEY'

توضیح: کلید API دریافت‌شده از سایت OpenAI در اینجا قرار می‌گیرد.

تعریف تابع ask_openai
def ask_openai(question):
response = openai.Completion.create(
engine="text-davinci-003", # انتخاب مدل
prompt=question, # سوالی که کاربر می‌پرسد
max_tokens=150 # حداکثر تعداد کلمات در پاسخ
)
return response.choices[0].text.strip() # پاسخ را برمی‌گرداند

توضیح: این تابع سوال کاربر را به مدل OpenAI ارسال می‌کند و پاسخ را برمی‌گرداند.
- پارامترها:
- engine="text-davinci-003": مدل مورد استفاده را مشخص می‌کند.
- prompt=question: سوال کاربر را به مدل ارسال می‌کند.
- max_tokens=150: حداکثر تعداد کلمات در پاسخ.
- پاسخ: اولین پاسخ مدل را برمی‌گرداند و فاصله‌های اضافی را حذف می‌کند.

حلقه اصلی برنامه
while True:
user_input = input("شما: ") # دریافت سوال از کاربر
if user_input.lower() == 'exit': # اگر کاربر 'exit' تایپ کند، برنامه متوقف می‌شود
break
response = ask_openai(user_input) # ارسال سوال به OpenAI و دریافت پاسخ
print(f"چت‌بات: {response}") # نمایش پاسخ به کاربر

توضیح: در اینجا، برنامه به طور مداوم سوالات کاربر را دریافت می‌کند و پاسخ‌ها را نمایش می‌دهد.
- input("شما: "): سوال کاربر را دریافت می‌کند.
- شرط توقف: اگر کاربر exit را تایپ کند، برنامه متوقف می‌شود.
- نمایش پاسخ: پاسخ دریافت‌شده از OpenAI را نمایش می‌دهد.

4. اجرای برنامه 🚀
فایل chatbot.py را اجرا کنید و شروع به پرسیدن سوالات از چت‌بات کنید. با تایپ exit می‌توانید برنامه را متوقف کنید.

🔗اینم لینک کانال ما

#چت_بات #هوش_مصنوعی #OpenAI #برنامه_نویسی #پایتون
Forwarded from Python3
آموزش استفاده از دیتابیس در پایتون 📚🐍

استفاده از دیتابیس‌ها در پایتون یکی از مهارت‌های حیاتی برای برنامه‌نویسان است. در این آموزش، نحوه استفاده از دیتابیس 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 در پایتون استفاده کنید و داده‌های خود را مدیریت کنید. امیدوارم که این آموزش برای شما مفید باشد. اگر سوالی دارید، در قسمت نظرات بپرسید! 😊

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

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

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

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

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

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

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()


در نتیجه

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

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

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

#امنیت #برنامه‌نویسی #پایتون #تست_نفوذ #آموزش_برنامه‌نویسی