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

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

نصب
برای نصب Bottle می‌توانید از pip استفاده کنید:
pip install bottle

راه‌اندازی اولیه
ایجاد یک اپلیکیشن ساده که پیام "Hello World!" را نمایش می‌دهد:
from bottle import Bottle, run  # وارد کردن Bottle و run

app = Bottle() # ایجاد یک نمونه از کلاس Bottle

@app.route('/hello') # تعریف مسیر /hello
def hello():
return "Hello World!" # وقتی مسیر /hello درخواست شود، این پیام برگردانده می‌شود

run(app, host='localhost', port=8080) # راه‌اندازی سرور در localhost با پورت 8080

توضیحات:
این مثال یک اپلیکیشن ساده ایجاد می‌کند که پیام "Hello World!" را هنگام دسترسی به مسیر /hello نمایش می‌دهد.

مسیریابی (Routing)
@app.route('/hello/<name>')  # تعریف مسیر با پارامتر متغیر name
def greet(name):
return f"Hello, {name}!" # برگرداندن پیام شخصی‌سازی شده

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

درخواست‌ها و پاسخ‌ها (Requests and Responses)
from bottle import request, response  # وارد کردن request و response

@app.route('/info') # تعریف مسیر /info
def info():
user_agent = request.headers.get('User-Agent') # دریافت User-Agent از هدر درخواست
response.content_type = 'application/json' # تنظیم نوع محتوای پاسخ به JSON
return {"user_agent": user_agent} # برگرداندن User-Agent به صورت JSON

توضیحات:
این مثال نشان می‌دهد که چگونه می‌توانید به هدرهای درخواست دسترسی داشته باشید و نوع محتوای پاسخ را تنظیم کنید.

فرم‌ها و داده‌ها (Forms and Data)
@app.route('/login', method='POST')  # تعریف مسیر /login با روش POST
def login():
username = request.forms.get('username') # دریافت نام کاربری از فرم
password = request.forms.get('password') # دریافت رمز عبور از فرم
if username == 'admin' and password == 'secret': # بررسی نام کاربری و رمز عبور
return "Welcome, admin!" # در صورت صحت، پیام خوش‌آمدگویی برگردانده می‌شود
return "Invalid credentials!" # در غیر این صورت، پیام خطا برگردانده می‌شود

توضیحات:
این مثال نحوه دریافت داده‌ها از فرم‌های HTML و بررسی آن‌ها را نشان می‌دهد.

ادامه در پارت ۲...

#Bottle #Python #WebDevelopment #Coding #Programming #Technology
👍4🆒1
📚 آموزش کتابخانه Bottle در پایتون 🚀 - پارت ۲

قالب‌ها (Templates)
استفاده از قالب‌ها برای جدا کردن منطق برنامه از نمایش داده‌ها:
from bottle import template  # وارد کردن template

@app.route('/hello/<name>') # تعریف مسیر با پارامتر متغیر name
def greet(name):
return template('<b>Hello {{name}}</b>!', name=name) # استفاده از قالب برای نمایش نام

توضیحات:
این مثال نشان می‌دهد که چگونه می‌توانید از قالب‌ها برای جدا کردن منطق برنامه از نمایش داده‌ها استفاده کنید.

مدیریت خطاها (Error Handling)
مدیریت خطاهای HTTP و نمایش پیام‌های سفارشی:
@app.error(404)  # مدیریت خطای 404
def error404(error):
return 'Nothing here, sorry!' # نمایش پیام سفارشی برای خطای 404

توضیحات:
این مثال نشان می‌دهد که چگونه می‌توانید خطاهای HTTP را مدیریت کرده و پیام‌های سفارشی نمایش دهید.

استاتیک فایل‌ها (Static Files)
سرویس‌دهی به فایل‌های استاتیک مانند تصاویر، CSS، و جاوااسکریپت:
@app.route('/static/<filename>')  # تعریف مسیر برای فایل‌های استاتیک
def server_static(filename):
return static_file(filename, root='/path/to/static/files') # سرویس‌دهی به فایل‌های استاتیک

توضیحات:
این مثال نحوه سرویس‌دهی به فایل‌های استاتیک مانند تصاویر، CSS، و جاوااسکریپت را نشان می‌دهد.

پلاگین‌ها (Plugins)
استفاده از پلاگین‌ها برای افزودن قابلیت‌های اضافی به اپلیکیشن:
from bottle.ext import sqlalchemy  # وارد کردن پلاگین SQLAlchemy
from sqlalchemy import create_engine, Column, Integer, String, Sequence # وارد کردن ابزارهای SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base # وارد کردن declarative_base
from sqlalchemy.orm import sessionmaker # وارد کردن sessionmaker

Base = declarative_base() # ایجاد پایه دیتابیس
engine = create_engine('sqlite:///:memory:', echo=True) # ایجاد موتور دیتابیس SQLite
Session = sessionmaker(bind=engine) # ایجاد سازنده جلسه

class User(Base): # تعریف مدل User
__tablename__ = 'users'
id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
name = Column(String(50))

app.install(sqlalchemy.Plugin(engine, Base.metadata, create=True)) # نصب پلاگین SQLAlchemy

@app.route('/user/<name>') # تعریف مسیر با پارامتر متغیر name
def add_user(db, name):
user = User(name=name) # ایجاد کاربر جدید
db.add(user) # افزودن کاربر به دیتابیس
db.commit() # ذخیره تغییرات در دیتابیس
return f"User {name} added!" # برگرداندن پیام تأیید

توضیحات:
این مثال نحوه استفاده از پلاگین SQLAlchemy برای مدیریت دیتابیس را نشان می‌دهد.

نتیجه‌گیری
کتابخانه Bottle با سادگی و انعطاف‌پذیری بالای خود، انتخاب مناسبی برای توسعه سریع و آسان اپلیکیشن‌های وب کوچک و سرویس‌های RESTful است. 🚀

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

#Bottle #Python #WebDevelopment #Coding #Programming #Technology
👍3
📚 آموزش ران کردن سورس پایتون

سلام دوستان! 👋 امروز می‌خوام بهتون آموزش بدم که چطور می‌تونید یک سورس پایتون رو به راحتی ران کنید. 💻🐍 این آموزش برای همه‌ی سطح‌ها مناسبه، پس نگران نباشید و با ما همراه باشید! 🥳

1. نصب پایتون
اولین قدم اینه که پایتون رو روی سیستم‌تون نصب کنید. 📥 برای این کار به [سایت رسمی پایتون] برید و نسخه مناسب سیستم‌عامل‌تون رو دانلود و نصب کنید.

2. ویرایشگر کد
برای نوشتن و اجرای کدهای پایتون به یک ویرایشگر کد نیاز دارید. پیشنهاد ما استفاده از یکی از موارد زیر هست:
- VS Code 🌟
- PyCharm 💼
- Sublime Text

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

3. اجرای سورس پایتون
بعد از نصب پایتون و ویرایشگر کد، حالا وقتشه که کدتون رو اجرا کنید. 🚀

روش اول: از طریق ترمینال
1. ترمینال یا CMD رو باز کنید.
2. به دایرکتوری که فایل پایتون شما قرار داره برید. با استفاده از دستور cd می‌تونید مسیر رو تغییر بدید.
3. دستور زیر رو تایپ کنید:
python filename.py




به جای filename.py نام فایل پایتون خودتون رو بنویسید.

روش دوم: از طریق ویرایشگر کد
- در VS Code یا PyCharm، فایل پایتون خودتون رو باز کنید و روی دکمه‌ی Run (یا دکمه‌ی مشابه) کلیک کنید. 📂➡️🏃‍♂️

4. رفع مشکلات
اگر هنگام اجرای کد با خطا مواجه شدید، نگران نباشید! 🙌 چند نکته:
- مطمئن بشید که پایتون به درستی نصب شده.
- از درست بودن مسیر فایل مطمئن بشید.
- خطاهای موجود در کد رو با دقت بررسی و اصلاح کنید.

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

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

این بود آموزش امروز! امیدوارم که مفید بوده باشه. 🌟 حتما این آموزش رو با دوستانتون به اشتراک بزارید تا اونها هم بتونن ازش استفاده کنن. 📢

#Python #Programming #Learning #Coding #VSCode #PyCharm #SublimeText #Terminal #Debugging #ErrorHandling
👍2
📚 آموزش ریکاوری فایل‌ها با پایتون

سلام دوستان! 👋 امروز می‌خوام بهتون آموزش بدم که چطور می‌تونید با استفاده از پایتون، فایل‌های حذف شده رو ریکاوری کنید. 💻🗂️ این آموزش خیلی کاربردیه، پس با ما همراه باشید! 🥳

1. نصب کتابخانه‌های مورد نیاز
برای شروع نیاز داریم کتابخانه os و shutil رو که به طور پیش‌فرض با پایتون نصب هستند، استفاده کنیم. اما برای کار با فایل‌های سیستمی و بازیابی آن‌ها نیاز داریم که کتابخانه send2trash رو نصب کنیم:
pip install send2trash

2. وارد کردن کتابخانه‌ها
در این بخش کتابخانه‌های مورد نیاز رو وارد می‌کنیم:
import os
import shutil
from send2trash import send2trash

3. جابجایی فایل‌ها به سطل زباله
برای جلوگیری از حذف دائمی فایل‌ها، می‌تونیم از کتابخانه send2trash استفاده کنیم که فایل‌ها رو به سطل زباله منتقل می‌کنه:
file_path = "مسیر فایل شما"
send2trash(file_path)

4. ریکاوری فایل‌ها از سطل زباله
برای ریکاوری فایل‌ها از سطل زباله، نیاز داریم تا از نرم‌افزارهای ریکاوری مانند Recuva استفاده کنیم، زیرا پایتون به طور مستقیم به سطل زباله دسترسی نداره. اما می‌تونیم از پایتون برای بازیابی فایل‌های حذف شده از یک دایرکتوری خاص استفاده کنیم.

مثال: بازیابی فایل‌های حذف شده از یک دایرکتوری خاص
def recover_files(deleted_files_directory, recovery_directory):
if not os.path.exists(recovery_directory):
os.makedirs(recovery_directory)

for root, dirs, files in os.walk(deleted_files_directory):
for file in files:
file_path = os.path.join(root, file)
shutil.move(file_path, recovery_directory)
print(f"فایل {file} بازیابی شد.")

deleted_files_directory = "مسیر دایرکتوری فایل‌های حذف شده"
recovery_directory = "مسیر دایرکتوری بازیابی فایل‌ها"

recover_files(deleted_files_directory, recovery_directory)

5. اجرای برنامه
برنامه رو اجرا کنید تا فایل‌های حذف شده به دایرکتوری بازیابی منتقل بشن:
recover_files(deleted_files_directory, recovery_directory)

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

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

این بود آموزش امروز! امیدوارم که مفید بوده باشه. 🌟 حتما این آموزش رو با دوستانتون به اشتراک بزارید تا اونها هم بتونن ازش استفاده کنن. 📢

#Python #Programming #Recovery #Files #Coding #Learnin
2👍1
مرحله 2: استفاده از درخت قرمز-سیاه

در اینجا یک مثال ساده از استفاده از درخت قرمز-سیاه را نشان می‌دهیم:

if __name__ == "__main__":
bst = RedBlackTree()

# درج چند کلید در درخت
bst.insert(55)
bst.insert(40)
bst.insert(65)
bst.insert(60)
bst.insert(75)
bst.insert(57)

# چاپ درخت
bst.print_tree()

در این مثال، تعدادی کلید به درخت قرمز-سیاه اضافه می‌کنیم و سپس آن را به صورت ترتیب‌دار چاپ می‌کنیم. 🌟

[برای یاد گرفتن الگوریتم های بیشتر کانال مارو دنبال کنید]

#برنامه‌نویسی #پایتون #الگوریتم #داده‌ساختار #درخت_قرمز_سیاه #آموزش #کدنویسی #Python #RedBlackTree #Coding #DataStructures #Algorithms
🍓1
آموزش کامل بلاک‌ها در پایتون 🐍

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

1. بلاک‌ها در ساختارهای کنترلی (if-else) 🧩

بلاک‌ها در پایتون با استفاده از تورفتگی (Spaces یا Tabs) تعریف می‌شوند. برای مثال، در ساختار if-else:

x = 10

if x > 5:
print("x is greater than 5") # این یک بلاک است
else:
print("x is less than or equal to 5") # این نیز یک بلاک است

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

2. بلاک‌ها در حلقه‌ها (for و while) 🔄

در حلقه‌های for و while نیز از بلاک‌ها استفاده می‌شود:

# حلقه for
for i in range(5):
print("Iteration", i) # این یک بلاک است

# حلقه while
j = 0
while j < 5:
print("Iteration", j) # این یک بلاک است
j += 1

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

3. بلاک‌ها در تعریف توابع (Functions) 📝

بلاک‌ها در تعریف توابع نیز به کار می‌روند:

def greet(name):
print("Hello", name) # این یک بلاک است

greet("Alice")

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

4. بلاک‌ها در تعریف کلاس‌ها (Classes) 🏫

تعریف کلاس‌ها نیز شامل بلاک‌های مختلفی است:

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

def greet(self):
print("Hello, my name is", self.name)

p = Person("Bob", 30)
p.greet()

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

5. بلاک‌ها در مدیریت استثناها (Exceptions) 🚨

مدیریت استثناها نیز از بلاک‌ها استفاده می‌کند:

try:
x = 1 / 0
except ZeroDivisionError:
print("You cannot divide by zero!") # این یک بلاک است
finally:
print("This will always execute") # این یک بلاک است

بلاک‌های try, except و finally هر کدام با تورفتگی از هم جدا شده‌اند.

توضیحات:

1. ساختارهای کنترلی: بلاک‌های if-else با تورفتگی مشخص می‌شوند.
2. حلقه‌ها: بلاک‌های for و while شامل دستورات با تورفتگی مشابه هستند.
3. توابع: بلاک‌های داخل توابع با تورفتگی از خط تعریف تابع جدا می‌شوند.
4. کلاس‌ها: بلاک‌های داخل کلاس و متدها نیز با تورفتگی مشخص می‌شوند.
5. مدیریت استثناها: بلاک‌های try, except و finally هر کدام با تورفتگی از هم جدا شده‌اند.

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

(کانال تلگرام مارو دنبال کنید)

#Python #Programming #Coding #Blocks #آموزش
5
🔤 آموزش کامل متدهای کار با رشته‌ها در پایتون 🔤

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

1. lower()
این متد تمام حروف رشته را به حروف کوچک تبدیل می‌کند.

text = "Hello, WORLD!"
print(text.lower()) # خروجی: hello, world!

2. upper()
این متد تمام حروف رشته را به حروف بزرگ تبدیل می‌کند.

text = "Hello, world!"
print(text.upper()) # خروجی: HELLO, WORLD!

3. capitalize()
این متد حرف اول رشته را به حروف بزرگ و بقیه را به حروف کوچک تبدیل می‌کند.

text = "hello, world!"
print(text.capitalize()) # خروجی: Hello, world!

4. title()
این متد حرف اول هر کلمه در رشته را به حروف بزرگ تبدیل می‌کند.

text = "hello, world!"
print(text.title()) # خروجی: Hello, World!

5. strip()
این متد فاصله‌های خالی در ابتدای و انتهای رشته را حذف می‌کند.

text = "  hello, world!  "
print(text.strip()) # خروجی: hello, world!

6. startswith()
این متد بررسی می‌کند که آیا رشته با زیررشته‌ی خاصی شروع می‌شود یا نه.

text = "hello, world!"
print(text.startswith("hello")) # خروجی: True

7. endswith()
این متد بررسی می‌کند که آیا رشته با زیررشته‌ی خاصی پایان می‌یابد یا نه.

text = "hello, world!"
print(text.endswith("world!")) # خروجی: True

8. replace()
این متد یک زیررشته را با زیررشته‌ای دیگر در رشته جایگزین می‌کند.

text = "hello, world!"
print(text.replace("world", "Python")) # خروجی: hello, Python!

9. split()
این متد رشته را بر اساس یک جداکننده خاص جدا کرده و به لیست تبدیل می‌کند.

text = "one, two, three"
print(text.split(", ")) # خروجی: ['one', 'two', 'three']

10. join()
این متد عناصر یک لیست را با استفاده از یک جداکننده خاص به یکدیگر متصل می‌کند.

items = ['one', 'two', 'three']
print(", ".join(items)) # خروجی: one, two, three

11. find()
این متد اولین موقعیت یک زیررشته را در رشته پیدا می‌کند. اگر زیررشته وجود نداشته باشد، -1 برمی‌گرداند.

text = "hello, world!"
print(text.find("world")) # خروجی: 7

12. index()
این متد اولین موقعیت یک زیررشته را در رشته پیدا می‌کند. اگر زیررشته وجود نداشته باشد، خطا برمی‌گرداند.

text = "hello, world!"
print(text.index("world")) # خروجی: 7

13. count()
این متد تعداد تکرار یک زیررشته در رشته را شمارش می‌کند.

text = "hello, world! hello again!"
print(text.count("hello")) # خروجی: 2

14. isnumeric()
این متد بررسی می‌کند که آیا همه کاراکترهای رشته اعداد هستند یا نه.

text = "12345"
print(text.isnumeric()) # خروجی: True

15. zfill()
این متد طول رشته را به طول مشخصی می‌رساند و با اضافه کردن صفر از سمت چپ، رشته را پر می‌کند.

text = "42"
print(text.zfill(5)) # خروجی: 00042

16. swapcase()
این متد حروف بزرگ را به کوچک و حروف کوچک را به بزرگ تبدیل می‌کند.

text = "Hello, World!"
print(text.swapcase()) # خروجی: hELLO, wORLD!

17. format()
این متد رشته‌ها را با استفاده از جایگزینی قالب‌بندی می‌کند.

name = "Alice"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
# خروجی: My name is Alice and I am 30 years old.

18. rjust()
این متد رشته را به طول مشخصی می‌رساند و از سمت چپ با کاراکتر خاصی پر می‌کند.

text = "42"
print(text.rjust(5, '0')) # خروجی: 00042

19. ljust()
این متد رشته را به طول مشخصی می‌رساند و از سمت راست با کاراکتر خاصی پر می‌کند.

text = "42"
print(text.ljust(5, '0')) # خروجی: 42000

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

🔻برای بیشتر یاد گرفتن اینجا کلیک کن

#Python #Programming #Coding #Strings #Learning #PythonTips
معرفی ماژول‌های داخلی پایتون 🐍

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

1. os 🌐
- مدیریت فایل سیستم، دستورات سیستم‌عامل، و کار با مسیرهای فایل.

2. sys ⚙️
- دسترسی به پارامترها و توابع خاص مفسر پایتون.

3. math
- توابع ریاضی مانند سینوس، کسینوس، جذر و غیره.

4. datetime
- کار با تاریخ و زمان.

5. json 📜
- پارس و تولید داده‌های JSON.

6. re 🔍
- کار با عبارات منظم (Regular Expressions).

7. random 🎲
- تولید اعداد تصادفی و انتخاب‌های تصادفی از دنباله‌ها.

8. collections 📚
- انواع داده‌های جمع‌آوری پیشرفته مانند deque, Counter, OrderedDict.

9. itertools 🔄
- توابع برای ایجاد و کار با تکرارها (iterators).

10. functools 🛠️
- توابع و متدهایی برای دستکاری و کار با توابع دیگر.

11. operator 🔗
- توابع برای کار با عملگرهای استاندارد.

12. copy 📋
- توابع برای کپی کردن اشیاء.

13. heapq 📈
- پیاده‌سازی صف اولویت با استفاده از heap queue.

14. bisect 🪛
- توابع برای کار با دنباله‌های مرتب.

15. array 📊
- آرایه‌هایی با انواع داده‌های محدود.

16. enum 🏷️
- کلاس‌های شمارشی (enumeration).

17. fractions 🍰
- کلاس‌های کار با کسرها.

18. decimal 💲
- محاسبات دقیق اعشاری.

19. statistics 📈
- توابع آماری پایه.

20. socket 📡
- برقراری ارتباط شبکه‌ای.

21. threading 🧵
- مدیریت و کار با رشته‌ها (threads).

22. multiprocessing 🖥️
- اجرای کد در چندین فرآیند.

23. subprocess 🛠️
- اجرا و مدیریت فرآیندهای خارجی.

24. shutil 🗂️
- عملیات سطح بالای فایل و دایرکتوری.

25. unittest 🧪
- چارچوب تست واحد برای پایتون.

26. logging 📋
- ایجاد و مدیریت لاگ‌ها.

27. configparser ⚙️
- پارس و تولید فایل‌های پیکربندی.

28. csv 📑
- کار با فایل‌های CSV.

29. sqlite3 🗄️
- پایگاه داده SQLite.

30. xml 🌐
- پارس و تولید داده‌های XML.

31. email 📧
- مدیریت و ساخت ایمیل‌ها.

32. http 🌍
- کار با پروتکل HTTP.

33. urllib 🌐
- باز کردن و خواندن URL‌ها.

34. html 📄
- دستکاری داده‌های HTML.

35. cgi 🌐
- پشتیبانی از CGI برای برنامه‌های وب.

36. wsgiref 🌐
- ابزار و کلاس‌ها برای WSGI.

37. hashlib 🔒
- الگوریتم‌های هش.

38. hmac 🔒
- پیام‌های هش مبتنی بر کلید.

39. ssl 🔒
- مدیریت ارتباطات امن SSL/TLS.

40. base64 📜
- کدگذاری و دیکدگذاری داده‌ها با استفاده از Base64.

👈اینم کانال ما👉

#پایتون #برنامه‌نویسی #ماژول‌های_پایتون #Python #Coding
4👍1
آموزش سانسور کردن و بازگرداندن سانسور یک قسمت از عکس با پایتون 📸

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

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

ابتدا باید کتابخانه‌ی OpenCV را نصب کنید. اگر هنوز نصب نکرده‌اید، با اجرای دستور زیر در محیط ترمینال یا CMD می‌توانید این کار را انجام دهید:

pip install opencv-python

کد نمونه برای سانسور کردن یک قسمت از عکس 🖼️🔒

در این مثال، یک قسمت از عکس را محو (blur) می‌کنیم:

import cv2

# بارگذاری تصویر
image = cv2.imread('input_image.jpg')

# تعیین ناحیه‌ای که می‌خواهیم سانسور کنیم (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200
roi = image[y:y+h, x:x+w]

# محو کردن ناحیه
blurred_roi = cv2.GaussianBlur(roi, (23, 23), 30)

# جایگزین کردن ناحیه محو شده در تصویر اصلی
image[y:y+h, x:x+w] = blurred_roi

# ذخیره تصویر خروجی
cv2.imwrite('censored_image.jpg', image)

# نمایش تصویر
cv2.imshow('Censored Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با cv2.imread بارگذاری می‌کنیم.
- تعیین ناحیه: ناحیه‌ای که می‌خواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص می‌کنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده می‌کنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش می‌دهیم.

کد نمونه برای بازگرداندن ناحیه اصلی 🌈🔓

در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین می‌کنیم:

import cv2
import numpy as np

# بارگذاری تصویر اصلی و تصویر سانسور شده
original_image = cv2.imread('input_image.jpg')
censored_image = cv2.imread('censored_image.jpg')

# تعیین ناحیه‌ای که سانسور شده (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200

# بازگرداندن ناحیه اصلی
censored_image[y:y+h, x:x+w] = original_image[y:y+h, x:x+w]

# ذخیره تصویر خروجی
cv2.imwrite('restored_image.jpg', censored_image)

# نمایش تصویر
cv2.imshow('Restored Image', censored_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری می‌کنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین می‌کنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش می‌دهیم.

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

#Python #OpenCV #ImageProcessing #Coding #Tutorial
👍21
آموزش ساخت برنامه تبدیل متن به گفتار (Text-to-Speech) با پایتون 🗣️💻

در این آموزش، نحوه‌ی ساخت یک برنامه تبدیل متن به گفتار (Text-to-Speech) با استفاده از زبان برنامه‌نویسی پایتون و کتابخانه‌ی gTTS را به شما آموزش می‌دهیم. این برنامه می‌تواند به صورت صوتی متن‌های شما را بخواند و یک فایل صوتی ایجاد کند. 🎤🔊

نصب کتابخانه gTTS 📦

ابتدا باید کتابخانه‌ی gTTS (Google Text-to-Speech) را نصب کنید. برای این کار، می‌توانید از دستور زیر در محیط ترمینال یا CMD استفاده کنید:

pip install gtts

کد نمونه برای تبدیل متن به گفتار 📝🔊

در این مثال، متن دلخواه شما به زبان انگلیسی به فایل صوتی تبدیل می‌شود:

from gtts import gTTS
import os

# متنی که می‌خواهید به گفتار تبدیل شود
text = "Hello, welcome to our Python Text-to-Speech tutorial!"

# ایجاد شیء gTTS
tts = gTTS(text=text, lang='en')

# ذخیره فایل صوتی
tts.save("speech.mp3")

# پخش فایل صوتی
os.system("start speech.mp3")

🔍 توضیحات:
- وارد کردن کتابخانه‌ها: ابتدا کتابخانه‌های gTTS و os را وارد می‌کنیم.
- تعریف متن: متنی که می‌خواهید به گفتار تبدیل شود را در متغیری ذخیره کنید.
- ایجاد شیء gTTS: یک شیء از کلاس gTTS ایجاد می‌کنیم و متن و زبان مورد نظر را به آن می‌دهیم.
- ذخیره فایل صوتی: فایل صوتی را با فرمت mp3 ذخیره می‌کنیم.
- پخش فایل صوتی: با استفاده از دستور os.system فایل صوتی را پخش می‌کنیم.

تنظیمات پیشرفته 🛠️

می‌توانید زبان، سرعت گفتار و سایر تنظیمات را نیز تغییر دهید:

from gtts import gTTS
import os

text = "Bonjour, bienvenue dans notre tutoriel de conversion de texte en parole avec Python!"
language = 'fr'
slow = False # True برای گفتار آهسته‌تر

tts = gTTS(text=text, lang=language, slow=slow)
tts.save("speech_fr.mp3")
os.system("start speech_fr.mp3")

🔍 توضیحات:
- تغییر زبان: زبان گفتار را می‌توانید با تغییر مقدار lang تنظیم کنید (مثلاً 'fr' برای فرانسوی).
- سرعت گفتار: با تنظیم مقدار slow به True، سرعت گفتار آهسته‌تر خواهد شد.

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

#Python #TextToSpeech #gTTS #Coding #Tutorial
👍3
Forwarded from گوربه
# بارگذاری فایل XML
tree = etree.parse('example.xml')

# اعمال تغییرات XSLT به فایل XML
new_tree = transform(tree)

# نمایش XML جدید به صورت زیبا
print(etree.tostring(new_tree, pretty_print=True).decode())

🔍 توضیحات: این کد یک فایل XML را با استفاده از XSLT تغییر داده و نتیجه را نمایش می‌دهد.


10. تغییر تگ‌ها و ویژگی‌ها 🛠️
تغییر تگ‌ها و ویژگی‌ها در یک فایل XML:

from lxml import etree

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# تکرار روی تمامی عناصر با نام تگ مشخص شده
for element in root.iter('tag_name'):
# تغییر نام تگ
element.tag = 'new_tag'

# اضافه کردن ویژگی جدید
element.set('new_attribute', 'value')

# ذخیره فایل XML تغییر یافته
tree.write('modified.xml', pretty_print=True)

🔍 توضیحات: این کد تگ‌ها و ویژگی‌های یک فایل XML را تغییر داده و نتیجه را در یک فایل ذخیره می‌کند.


11. حذف تگ‌ها
حذف تگ‌ها از یک فایل XML:

from lxml import etree

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# پیدا کردن و حذف تمامی عناصر با نام تگ مشخص شده
for element in root.findall('tag_name'):
root.remove(element)

# ذخیره فایل XML بدون تگ‌های مشخص شده
tree.write('cleaned.xml', prettyتوضیحات:

🔍 توضیحات: این کد تگ‌های مشخص شده را از یک فایل XML حذف کرده و نتیجه را در یک فایل ذخیره می‌کند.


12. تبدیل XML به دیکشنری📚
تبدیل یک فایل XML به دیکشنری پایتون:

from lxml import etree

# تعریف تابع تبدیل XML به دیکشنری
def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# تبدیل XML به دیکشنری
data_dict = xml_to_dict(root)
prتوضیحات:t)

🔍 توضیحات: این کد یک فایل XML را به دیکشنری پایتون تبدیل کرده و نتیجه را نمایش می‌دهد.

این آموزش به شما نشان داد که چگونه می‌توانید از کتابخانه lxml برای کار با XML و HTML استفاده کنید. امیدوارم این مثال‌ها برای شما مفید بوده باشد! 🌟

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

#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
👍1
Forwarded from گوربه
کدهای کاربردی با کتابخانه lxml در پایتون🐍

کتابخانه lxml یکی از ابزارهای قدرتمند برای پردازش XML و HTML در پایتون است. این کتابخانه امکانات زیادی را برای استخراج، تغییر و اعتبارسنجی داده‌ها فراهم می‌کند. در ادامه ۱۲ مثال کاربردی با استفاده از این کتابخانه آورده شده است که می‌تواند برای برنامه‌نویسان بسیار مفید باشد. 1. پارس کردن یک فایل XML 📄
پارس کردن فایل XML و نمایش محتوای آن:
from lxml import etree

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

2. پارس کردن یک رشته XML📝
پارس کردن یک رشته XML و نمایش محتوای آن:
from lxml import etree

xml_data = '<root><child>data</child></root>'
root = etree.fromstring(xml_data)
print(etree.tostring(root, pretty_print=True).decode())

3. استخراج مقادیر تگ‌ها 🔍
استخراج مقادیر تگ‌ها از یک فایل XML:
from lxml import etree

tree = etree.parse('example.xml')
for element in tree.iter('tag_name'):
print(element.text)

4. اضافه کردن تگ جدید به XML
ایجاد و اضافه کردن تگ جدید به یک فایل XML:
from lxml import etree

root = etree.Element("root")
child = etree.SubElement(root, "child")
child.text = "data"
tree = etree.ElementTree(root)
tree.write("output.xml", pretty_print=True)

5. جستجو با XPath 🔎
جستجو در فایل XML با استفاده از XPath:
from lxml import etree

tree = etree.parse('example.xml')
result = tree.xpath('//tag_name')
for element in result:
print(etree.tostring(element, pretty_print=True).decode())

6. اعتبارسنجی XML با DTD
اعتبارسنجی XML با استفاده از DTD:
from lxml import etree

dtd = etree.DTD('example.dtd')
tree = etree.parse('example.xml')
is_valid = dtd.validate(tree)
print(is_valid)

7. ایجاد یک HTML ساده🌐
ایجاد یک فایل HTML ساده با استفاده از lxml:
from lxml import etree, html

root = html.Element("html")
body = html.SubElement(root, "body")
p = html.SubElement(body, "p")
p.text = "Hello, world!"
tree = html.ElementTree(root)
tree.write("output.html", pretty_print=True)

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

page = html.parse('example.html')
links = page.xpath('//a/@href')
print(links)

9. استفاده از XSLT برای تغییر XML 🔄
تغییر XML با استفاده از XSLT:
from lxml import etree

xslt_root = etree.parse('transform.xslt')
transform = etree.XSLT(xslt_root)
tree = etree.parse('example.xml')
new_tree = transform(tree)
print(etree.tostring(new_tree, pretty_print=True).decode())

10. تغییر تگ‌ها و ویژگی‌ها 🛠️
تغییر تگ‌ها و ویژگی‌ها در یک فایل XML:
from lxml import etree

tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.iter('tag_name'):
element.tag = 'new_tag'
element.set('new_attribute', 'value')
tree.write('modified.xml', pretty_print=True)

11. حذف تگ‌ها
حذف تگ‌ها از یک فایل XML:

from lxml import etree

tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.findall('tag_name'):
root.remove(element)
tree.write('cleaned.xml', pretty_print=True)

12. تبدیل XML به دیکشنری 📚
تبدیل یک فایل XML به دیکشنری پایتون:

from lxml import etree

def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}

tree = etree.parse('example.xml')
root = tree.getroot()
data_dict = xml_to_dict(root)
print(data_dict)

این کدها نمونه‌هایی از استفاده‌های مختلف از کتابخانه lxml هستند که می‌توانید در پروژه‌های خود از آن‌ها بهره ببرید. 🌟

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

#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
👍1
اخبار مهم امروز درباره پایتون - ۲۷ ژوئیه ۲۰۲۴

۱. انتشار نسخه بتا 4 از پایتون 3.13.0
نسخه بتا 4 از پایتون 3.13.0 منتشر شد. این نسخه شامل ویژگی‌های جدید و بهبود عملکردهای مختلف است که کارایی زبان برنامه‌نویسی پایتون را افزایش می‌دهد.

۲. توسعه پایتون بدون GIL
شورای راهبری پایتون اعلام کرد که قصد دارد پیشنهاد PEP 703 را بپذیرد که قفل جهانی مفسر (GIL) را در نسخه‌های آینده پایتون اختیاری می‌کند. این تغییر بهبود بزرگی برای عملکرد پایتون در برنامه‌های چند رشته‌ای خواهد بود و به خصوص برای محاسبات علمی و داده‌های بزرگ مفید است.

۳. تغییرات در قوانین بنیاد نرم‌افزار پایتون
بنیاد نرم‌افزار پایتون (PSF) اعلام کرد که از تاریخ ۱۰ اوت ۲۰۲۴ تغییراتی در قوانین خود اعمال خواهد کرد. این تغییرات به منظور بهبود شفافیت و افزایش دسترسی به منابع برای توسعه‌دهندگان پایتون انجام شده است.

۴. برگزاری کنفرانس EuroPython 2024
کنفرانس EuroPython 2024 در ماه ژوئیه به صورت حضوری و آنلاین برگزار شد. این کنفرانس یکی از بزرگترین رویدادهای جامعه پایتون در اروپا است و برنامه‌های متنوعی برای توسعه‌دهندگان و علاقه‌مندان به پایتون ارائه داد.

۵. ارائه گرنت‌های مجازی توسط بنیاد نرم‌افزار پایتون
بنیاد نرم‌افزار پایتون گرنت‌هایی برای رویدادهای مجازی ارائه می‌دهد. توسعه‌دهندگان می‌توانند برای دریافت کمک‌های مالی تا سقف ۲۵۰۰ دلار برای رویدادهای بزرگ مجازی و همچنین گرنت‌های کوچکتر برای رویدادهای دیگر درخواست دهند.

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

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

🔻اینجا کلیک کن تا بیشتر با خبر شی🔻

#Python #Programming #EuroPython2024 #PSF #PythonDevelopment #TechNews #Coding