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

(یک بار اجرا)

❗️❗️لطفا از این کد در کامپیوتر های خود و دیگران استفاده نکنید❗️❗️
Python3 pinned «سلام به همه‌ی دوستان علاقمند به برنامه‌نویسی! به کانال آموزش برنامه‌نویسی پایتون خوش آمدید. 🎉 در این کانال هر روز آموزش‌های جدید و مفید در زمینه پایتون منتشر می‌کنیم. هدف ما این است که با دوره‌های منظم و گام به گام، شما را از مبانی اولیه تا مفاهیم پیشرفته…»
❗️ربات تلگرام اد میکنی تو گروهت بعد میتونی کد هاتو به هر زبانی تو تلگرام اجرا کنی🤌🤣

🔗@ExtraMegRunnerBot
Forwarded from گوربه
حاجی چند وقتیه هر کدوم گروها خداروشکر به غییر از این گروه رو باز میکنم نوشتن انواع هک صورت می‌گیرد الان من بهشون بگم مایکروسافت رو حک کن میکنن یعنی🧐🤣
😁1
اینکه دیگه هیچی برا گفتن نمیزاره
آخه برا نمره باید سیدا که مال دولت هست رو هک کنه
🤣2
کتابخانه pydub یک کتابخانه برا تجزیه و تحليل موسیقی است شما می توانید از این کتابخانه برا تشخیص محل نت ها در فایل صوتی استفاده کنید و سپس صدا را تجزیه و تحلیل کنید تا مشخص کنید چه نتی پخش شده است.
یک نمونه بسیار جزئی و کوچک به عنوان مثال از این کتابخانه
from pydub import AudioSegment
import numpy as np

# Load the audio file
audio = AudioSegment.from_file("example.wav")

# Convert the audio to a numpy array
audio_array = np.array(audio.get_array_of_samples())

# Perform a Fourier transform on the audio
fft = np.fft.fft(audio_array)

# Find the frequency bins with the highest amplitude
peak_frequencies = np.argsort(np.abs(fft))[-10:]

# Determine the note corresponding to each frequency bin
notes = []
for frequency in peak_frequencies:
note = ...
notes.append(note)

# Print the detected notes
print(notes)


#معرفی_کتابخانه
👍3🤯1
🌐 آموزش ایمن کردن سایت‌ها با پایتون 🐍

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

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

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

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 #آموزش
👍2
📦 پروژه انبارداری با پایتون، 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 #برنامه‌نویسی #آموزش
🔥2👍1
📦 پروژه رمزنگاری و رمزگشایی با پایتون و 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 #برنامه‌نویسی #آموزش
👍2
📢 اخبار داغ Python امروز 🐍

1. پایان عمر Python 3.7: پس از پنج سال، پشتیبانی از Python 3.7 به پایان رسید. این نسخه دیگر به‌روزرسانی‌های امنیتی دریافت نمی‌کند، بنابراین بهتر است به نسخه‌های جدیدتر مهاجرت کنید تا از امکانات و امنیت بیشتری برخوردار شوید. 🔚🔒

2. انتشار Pydantic 2: نسخه جدید کتابخانه‌ی محبوب Pydantic منتشر شد. این نسخه با بهبودهای عمده‌ای در عملکرد، تا پنجاه برابر سریع‌تر از نسخه‌های قبلی است و ویژگی‌های جدیدی همچون حالت سختگیرانه و جدول تبدیل رسمی داده‌ها را دارد. 🚀📈

3. معرفی توسعه‌دهنده امنیتی جدید در PSF: بنیاد نرم‌افزار Python (PSF) یک توسعه‌دهنده امنیتی به نام Seth Michael Larson را به‌عنوان اولین توسعه‌دهنده امنیتی مقیم خود معرفی کرده است. او مسئول انجام ممیزی‌های امنیتی و بهبود امنیت در اکوسیستم Python است. 🛡️🔐

4. پروژه Faster CPython: پروژه‌ی Faster CPython برای بهبود سرعت Python 3.11 به نتایج هیجان‌انگیزی رسیده است. این نسخه بین 10 تا 60 درصد سریع‌تر از Python 3.10 عمل می‌کند. 💨🔥

5. ویژگی‌های جدید در PEPs: برخی PEP‌های جدید معرفی شده‌اند که شامل پشتیبانی از گروه‌بندی اتمی و کوانتورهای مالکیت در عبارات منظم، و اضافه کردن Task Groups به Asyncio می‌شوند. 📜🔧

6. رویدادهای آتی Python: رویدادهای مهمی مثل PyCon US و EuroPython در ماه‌های آتی برگزار خواهند شد. این رویدادها فرصت‌های عالی برای یادگیری، شبکه‌سازی و به‌روزرسانی در مورد آخرین تحولات Python فراهم می‌کنند. 📅🌍

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

#Python #Pydantic #PSF #PyCon #PythonSecurity #FasterCPython #PEPs #PythonEvents
🔥31👍1
📢 جدیدترین کتابخانه‌های پایتون امروز 📚

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
👍1
📢 آموزش ساخت چت‌بات 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 #برنامه_نویسی #پایتون
👍3
Meme
👍3😁1🤯1
کارت پانچ توری (Punched Card) یک وسیله ذخیره‌سازی داده است که در اوایل قرن بیستم برای ورود و ذخیره داده‌ها در کامپیوترها استفاده می‌شد. این کارت‌ها از جنس کاغذ یا مقوا بودند و شامل یک سری سوراخ بودند که اطلاعات را به صورت دودویی (0 و 1) نمایش می‌دادند.

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

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

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

#تاریخچه_کامپیوتر #داده_پردازی #کارت_پانچ #تکنولوژی #رایانه
👍2
🌟📰 اخبار امروز پایتون 📰🌟

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

🔷 انتشار نسخه جدید پایتون 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