نکته مهم در پایتون: استفاده از Decorators
در پایتون، Decorators یا دکوراتورها یکی از ابزارهای قدرتمند و پرکاربرد هستند که به شما این امکان را میدهند تا عملکرد یک تابع یا متد را بدون تغییر در کد اصلی آن، تغییر دهید یا گسترش دهید. 🌟
دکوراتور چیست؟
دکوراتور یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند که معمولاً عملکردی اضافی به تابع اصلی اضافه میکند. 🎩✨
مثال:
فرض کنید میخواهید زمان اجرای یک تابع را اندازهگیری کنید. با استفاده از دکوراتور، میتوانید این کار را به سادگی انجام دهید.
در این مثال:
1. دکوراتور
2. با استفاده از
3. هر بار که
کاربردهای دکوراتورها:
- ورود و خروج: برای ثبت ورود و خروج به توابع.
- کنترل دسترسی: برای مدیریت دسترسی به توابع.
- مدیریت منابع: برای مدیریت منابع مانند باز و بسته کردن فایلها.
- ارزیابی عملکرد: برای اندازهگیری عملکرد توابع.
به یاد داشته باشید: دکوراتورها میتوانند خوانایی و مدیریت کد را بهبود بخشند، به شرطی که به درستی و با دقت استفاده شوند. 🎯📈
🔻بیا اینجا تا بیشتر یاد بگیری
#Python #CodingTips #Decorators #Programming #PythonTips #PythonTricks #LearnPython
در پایتون، Decorators یا دکوراتورها یکی از ابزارهای قدرتمند و پرکاربرد هستند که به شما این امکان را میدهند تا عملکرد یک تابع یا متد را بدون تغییر در کد اصلی آن، تغییر دهید یا گسترش دهید. 🌟
دکوراتور چیست؟
دکوراتور یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند که معمولاً عملکردی اضافی به تابع اصلی اضافه میکند. 🎩✨
مثال:
فرض کنید میخواهید زمان اجرای یک تابع را اندازهگیری کنید. با استفاده از دکوراتور، میتوانید این کار را به سادگی انجام دهید.
import time
def timing_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Elapsed time: {end_time - start_time:.4f} seconds")
return result
return wrapper
@timing_decorator
def my_function():
for _ in range(1000000):
pass
my_function()
در این مثال:
1. دکوراتور
timing_decorator
تعریف شده است که زمان اجرای تابع را اندازهگیری میکند.2. با استفاده از
@timing_decorator
، تابع my_function
با دکوراتور زمانبندی تزئین شده است.3. هر بار که
my_function
اجرا میشود، زمان اجرای آن اندازهگیری و چاپ میشود. 🕒💡کاربردهای دکوراتورها:
- ورود و خروج: برای ثبت ورود و خروج به توابع.
- کنترل دسترسی: برای مدیریت دسترسی به توابع.
- مدیریت منابع: برای مدیریت منابع مانند باز و بسته کردن فایلها.
- ارزیابی عملکرد: برای اندازهگیری عملکرد توابع.
به یاد داشته باشید: دکوراتورها میتوانند خوانایی و مدیریت کد را بهبود بخشند، به شرطی که به درستی و با دقت استفاده شوند. 🎯📈
🔻بیا اینجا تا بیشتر یاد بگیری
#Python #CodingTips #Decorators #Programming #PythonTips #PythonTricks #LearnPython
👍3
استفاده از کلاسها در پایتون: از سادهترین تا پیچیدهترین روشها
در این آموزش، ما به دو روش مختلف برای استفاده از کلاسها در پایتون خواهیم پرداخت: یک روش ساده و یک روش پیچیدهتر. 🌟
1. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی
در این روش، یک کلاس ساده برای مدیریت یک حساب بانکی ایجاد میکنیم. این کلاس شامل ویژگیهای پایهای مانند موجودی و متدهای واریز و برداشت خواهد بود.
در این مثال:
1. کلاس
2. یک حساب بانکی ایجاد میشود و عملیات واریز و برداشت روی آن انجام میشود. 💰
2. روش پیچیده: ایجاد یک کلاس با ویژگیها و متدهای پیشرفته
در این روش، کلاس پیچیدهتری را برای مدیریت حساب بانکی ایجاد میکنیم که شامل ویژگیهای بیشتر و متدهای پیشرفتهتری است.
در این مثال:
1. کلاس
2. متدهای اضافی برای گرفتن موجودی (
3. عملیات واریز و برداشت به تراکنشها اضافه میشود و در صورت ناکافی بودن موجودی، تراکنش ناموفق ثبت میشود. 📜
با این دو مثال، شما میتوانید تفاوت بین استفاده ساده و پیچیده از کلاسها در پایتون را ببینید. بسته به نیاز پروژهتان، میتوانید روش مناسب را انتخاب کنید.
🔻اینجا کلیک کن تا بیشتر یاد بگیری
#Python #Classes #OOP #Programming #LearnPython #PythonClasses #BankAccount #AdvancedPython
در این آموزش، ما به دو روش مختلف برای استفاده از کلاسها در پایتون خواهیم پرداخت: یک روش ساده و یک روش پیچیدهتر. 🌟
1. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی
در این روش، یک کلاس ساده برای مدیریت یک حساب بانکی ایجاد میکنیم. این کلاس شامل ویژگیهای پایهای مانند موجودی و متدهای واریز و برداشت خواهد بود.
# روش ساده برای استفاده از کلاسها در پایتون
class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance
def deposit(self, amount):
self.balance += amount
print(f"Deposited {amount}, new balance is {self.balance}")
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
print("Insufficient funds")
# ایجاد یک حساب بانکی با موجودی اولیه 100
account = BankAccount(100)
# واریز 50 به حساب
account.deposit(50)
# برداشت 30 از حساب
account.withdraw(30)
# تلاش برای برداشت 150 از حساب (موجودی کافی نیست)
account.withdraw(150)
در این مثال:
1. کلاس
BankAccount
تعریف شده است که دارای متد سازنinitit__)،
متد deposit
برای واریز پول و متد withdraw
برای برداشت پول است.2. یک حساب بانکی ایجاد میشود و عملیات واریز و برداشت روی آن انجام میشود. 💰
2. روش پیچیده: ایجاد یک کلاس با ویژگیها و متدهای پیشرفته
در این روش، کلاس پیچیدهتری را برای مدیریت حساب بانکی ایجاد میکنیم که شامل ویژگیهای بیشتر و متدهای پیشرفتهتری است.
# روش پیچیدهتر برای استفاده از کلاسها در پایتون
class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance
self.transactions = []
def deposit(self, amount):
self.balance += amount
self.transactions.append(f"Deposited {amount}")
print(f"Deposited {amount}, new balance is {self.balance}")
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
self.transactions.append(f"Withdrew {amount}")
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
self.transactions.append(f"Failed withdrawal of {amount}")
print("Insufficient funds")
def get_balance(self):
return self.balance
def get_transactions(self):
return self.transactions
# ایجاد یک حساب بانکی با موجودی اولیه 200
account = BankAccount(200)
# واریز 100 به حساب
account.deposit(100)
# برداشت 50 از حساب
account.withdraw(50)
# تلاش برای برداشت 300 از حساب (موجودی کافی نیست)
account.withdraw(300)
# نمایش موجودی حساب
print(f"Current balance is {account.get_balance()}")
# نمایش تراکنشها
print("Transactions:")
for transaction in account.get_transactions():
print(transaction)
در این مثال:
1. کلاس
BankAccount
دارای ویژگیهای اضافی مانند لیست تراکنشها (transactions
) است.2. متدهای اضافی برای گرفتن موجودی (
get_balance
) و نمایش تراکنشها (get_transactions
) اضافه شده است.3. عملیات واریز و برداشت به تراکنشها اضافه میشود و در صورت ناکافی بودن موجودی، تراکنش ناموفق ثبت میشود. 📜
با این دو مثال، شما میتوانید تفاوت بین استفاده ساده و پیچیده از کلاسها در پایتون را ببینید. بسته به نیاز پروژهتان، میتوانید روش مناسب را انتخاب کنید.
🔻اینجا کلیک کن تا بیشتر یاد بگیری
#Python #Classes #OOP #Programming #LearnPython #PythonClasses #BankAccount #AdvancedPython
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍5
سلام دوستان عزیز! 🌸
امیدوارم حال همگی خوب باشه و روزهای خوبی رو سپری کرده باشید. 🌞
اول از همه میخوام بابت غیبتم و عدم فعالیت طولانیمدت توی کانال از همتون عذرخواهی کنم. 🙏 متاسفانه به دلایل شخصی و مشغلههای کاری نتونستم مثل گذشته با شما در ارتباط باشم و مطالب جدیدی رو به اشتراک بذارم. 💼
میدونم که خیلی از شما منتظر پستها و مطالب جدید بودید و از اینکه نتونستم این انتظارات رو برآورده کنم، خیلی متاسفم. از صمیم قلب از همه شما که صبور بودید و با من همراه بودید، تشکر میکنم. ❤️
اما با کلی انرژی و ایدههای جدید برگشتم تا دوباره با هم به یادگیری و اشتراکگذاری مطالب جذاب بپردازیم. 🎉 در روزهای آینده منتظر پستها و مطالب جدید باشید. 😉
باز هم بابت تمام لطف و حمایتهای شما ممنونم و امیدوارم بتونم جبران کنم. 🌟
با آرزوی موفقیت برای همه شما دوستان عزیز!
امیدوارم حال همگی خوب باشه و روزهای خوبی رو سپری کرده باشید. 🌞
اول از همه میخوام بابت غیبتم و عدم فعالیت طولانیمدت توی کانال از همتون عذرخواهی کنم. 🙏 متاسفانه به دلایل شخصی و مشغلههای کاری نتونستم مثل گذشته با شما در ارتباط باشم و مطالب جدیدی رو به اشتراک بذارم. 💼
میدونم که خیلی از شما منتظر پستها و مطالب جدید بودید و از اینکه نتونستم این انتظارات رو برآورده کنم، خیلی متاسفم. از صمیم قلب از همه شما که صبور بودید و با من همراه بودید، تشکر میکنم. ❤️
اما با کلی انرژی و ایدههای جدید برگشتم تا دوباره با هم به یادگیری و اشتراکگذاری مطالب جذاب بپردازیم. 🎉 در روزهای آینده منتظر پستها و مطالب جدید باشید. 😉
باز هم بابت تمام لطف و حمایتهای شما ممنونم و امیدوارم بتونم جبران کنم. 🌟
با آرزوی موفقیت برای همه شما دوستان عزیز!
❤3👍1
📚 دوره آموزش پایتون از 0 تا 100
پارت ۱۹: شروع با Flask برای توسعه وب 🌐
در این پارت با فریمورک Flask آشنا میشویم و یاد میگیریم چگونه با استفاده از این فریمورک ساده اما قدرتمند، وبسایتها و برنامههای وبی را ایجاد کنیم.
۱. Flask چیست؟ 🤔
Flask یک فریمورک کوچک و منعطف برای توسعه وب در پایتون است که برای ساخت برنامههای وب ساده و سریع بسیار مناسب است.
۲. نصب Flask 🛠️
برای نصب Flask از pip استفاده میکنیم:
۳. ایجاد اولین برنامه Flask 📝
یک فایل جدید با نام
این کد:
- Flask را ایمپورت میکند.
- یک اپلیکیشن Flask ایجاد میکند.
- یک روت برای صفحه اصلی تعریف میکند که متن "Hello, Flask!" را برمیگرداند.
- اپلیکیشن را در حالت دیباگ اجرا میکند.
برای اجرای برنامه، در ترمینال دستور زیر را وارد کنید:
و مرورگر خود را باز کنید و به آدرس
۴. مسیریابی (Routing) 🚦
Flask از مفهوم مسیریابی برای هدایت درخواستها به توابع خاص استفاده میکند. بیایید یک مثال دیگر از مسیریابی ببینیم:
۵. استفاده از قالبها (Templates) 📄
برای ایجاد صفحات HTML دینامیک از قالبها استفاده میکنیم. ابتدا یک پوشه به نام
حالا کد زیر را به
۶. دریافت ورودی از کاربر 📥
برای دریافت داده از کاربر از فرمها استفاده میکنیم. یک فرم ساده در فایل
و در
۷. مدیریت خطاها و ریدایرکتها ⚠️➡️
برای مدیریت خطاها و ریدایرکتها از توابع مخصوص استفاده میکنیم:
نکات مهم
- Flask: یک فریمورک کوچک و منعطف برای توسعه وب با پایتون است.
- نصب و راهاندازی: با استفاده از pip نصب شده و به راحتی قابل راهاندازی است.
- مسیریابی: هدایت درخواستها به توابع مختلف با استفاده از decorators.
- قالبها: ایجاد صفحات HTML دینامیک با استفاده از Jinja2.
- دریافت ورودی: استفاده از فرمها برای دریافت داده از کاربر.
- مدیریت خطاها و ریدایرکتها: مدیریت درخواستهای نادرست و هدایت کاربران به صفحات موردنظر.
با این آموزش، شما میتوانید یک برنامه وب ساده با Flask ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Flask #توسعه_وب #PythonWebDevelopment #PythonProgramming
پارت ۱۹: شروع با Flask برای توسعه وب 🌐
در این پارت با فریمورک Flask آشنا میشویم و یاد میگیریم چگونه با استفاده از این فریمورک ساده اما قدرتمند، وبسایتها و برنامههای وبی را ایجاد کنیم.
۱. Flask چیست؟ 🤔
Flask یک فریمورک کوچک و منعطف برای توسعه وب در پایتون است که برای ساخت برنامههای وب ساده و سریع بسیار مناسب است.
۲. نصب Flask 🛠️
برای نصب Flask از pip استفاده میکنیم:
pip install Flask
۳. ایجاد اولین برنامه Flask 📝
یک فایل جدید با نام
app.py
ایجاد کنید و کد زیر را در آن بنویسید:from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
این کد:
- Flask را ایمپورت میکند.
- یک اپلیکیشن Flask ایجاد میکند.
- یک روت برای صفحه اصلی تعریف میکند که متن "Hello, Flask!" را برمیگرداند.
- اپلیکیشن را در حالت دیباگ اجرا میکند.
برای اجرای برنامه، در ترمینال دستور زیر را وارد کنید:
python app.py
و مرورگر خود را باز کنید و به آدرس
https://127.0.0.1:5000/
بروید. باید پیام "Hello, Flask!" را ببینید.۴. مسیریابی (Routing) 🚦
Flask از مفهوم مسیریابی برای هدایت درخواستها به توابع خاص استفاده میکند. بیایید یک مثال دیگر از مسیریابی ببینیم:
@app.route('/about')
def about():
return "This is the about page."
۵. استفاده از قالبها (Templates) 📄
برای ایجاد صفحات HTML دینامیک از قالبها استفاده میکنیم. ابتدا یک پوشه به نام
templates
ایجاد کرده و یک فایل HTML به نام index.html
در آن ایجاد کنید:<!doctype html>
<html>
<head>
<title>Flask App</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>
حالا کد زیر را به
app.py
اضافه کنید:from flask import render_template
@app.route('/')
def home():
return render_template('index.html', message="Hello, Flask with Templates!")
۶. دریافت ورودی از کاربر 📥
برای دریافت داده از کاربر از فرمها استفاده میکنیم. یک فرم ساده در فایل
index.html
ایجاد کنید:<form method="POST" action="/submit">
<input type="text" name="username">
<input type="submit" value="Submit">
</form>
و در
app.py
کد زیر را اضافه کنید:from flask import request
@app.route('/submit', methods=['POST'])
def submit():
username = request.form['username']
return f"Hello, {username}!"
۷. مدیریت خطاها و ریدایرکتها ⚠️➡️
برای مدیریت خطاها و ریدایرکتها از توابع مخصوص استفاده میکنیم:
from flask import redirect, url_for
@app.route('/redirect')
def redirect_example():
return redirect(url_for('home'))
@app.errorhandler(404)
def page_not_found(e):
return "Page not found!", 404
نکات مهم
- Flask: یک فریمورک کوچک و منعطف برای توسعه وب با پایتون است.
- نصب و راهاندازی: با استفاده از pip نصب شده و به راحتی قابل راهاندازی است.
- مسیریابی: هدایت درخواستها به توابع مختلف با استفاده از decorators.
- قالبها: ایجاد صفحات HTML دینامیک با استفاده از Jinja2.
- دریافت ورودی: استفاده از فرمها برای دریافت داده از کاربر.
- مدیریت خطاها و ریدایرکتها: مدیریت درخواستهای نادرست و هدایت کاربران به صفحات موردنظر.
با این آموزش، شما میتوانید یک برنامه وب ساده با Flask ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Flask #توسعه_وب #PythonWebDevelopment #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100
پارت ۲۰: شروع با Django برای توسعه وب 🌐
در این پارت با فریمورک Django آشنا میشویم و یاد میگیریم چگونه با استفاده از این فریمورک قدرتمند و پیشرفته، وبسایتها و برنامههای وبی را ایجاد کنیم.
۱. Django چیست؟ 🤔
Django یک فریمورک سطح بالا برای توسعه وب با پایتون است که طراحی شده تا توسعه وب سریع، ساده و مقیاسپذیر باشد. Django دارای بسیاری از امکانات پیشفرض است که نیازهای رایج توسعهدهندگان وب را پوشش میدهد.
۲. نصب Django 🛠️
برای نصب Django از pip استفاده میکنیم:
۳. ایجاد اولین پروژه Django 📝
برای ایجاد اولین پروژه Django، از دستور
این دستور یک پوشه به نام
۴. ساخت یک اپلیکیشن در Django 🏗️
در Django، یک پروژه میتواند شامل چندین اپلیکیشن باشد. برای ایجاد یک اپلیکیشن جدید، وارد پوشه پروژه شده و دستور زیر را اجرا کنید:
این دستور یک پوشه به نام
۵. تنظیمات پروژه 🔧
فایل تنظیمات پروژه در مسیر
- INSTALLED_APPS: اپلیکیشنهایی که در پروژه فعال هستند.
- DATABASES: تنظیمات پایگاه داده.
برای اضافه کردن اپلیکیشن جدید به پروژه،
۶. تعریف مدلها (Models) 🗂️
مدلها در Django برای تعریف ساختار دادهها و تعامل با پایگاه داده استفاده میشوند. در فایل
۷. مهاجرت پایگاه داده (Database Migrations) 🔄
بعد از تعریف مدلها، باید آنها را به پایگاه داده مهاجرت کنید. برای این کار از دستورات زیر استفاده کنید:
۸. ایجاد و مدیریت ادمین (Admin) 🛡️
Django دارای یک رابط کاربری ادمین پیشفرض است که برای مدیریت مدلها استفاده میشود. برای دسترسی به پنل ادمین، ابتدا یک سوپریوزر ایجاد کنید:
سپس به فایل
۹. تعریف ویوها (Views) و URLها 🌐
ویوها در Django برای پردازش درخواستها و برگرداندن پاسخها استفاده میشوند. در فایل
سپس URLهای مربوطه را در فایل
فایل `urls.py
۱۰. استفاده از قالبها (Templates) 📄
برای ایجاد صفحات HTML از قالبها استفاده میکنیم. یک پوشه به نام
پارت ۲۰: شروع با Django برای توسعه وب 🌐
در این پارت با فریمورک Django آشنا میشویم و یاد میگیریم چگونه با استفاده از این فریمورک قدرتمند و پیشرفته، وبسایتها و برنامههای وبی را ایجاد کنیم.
۱. Django چیست؟ 🤔
Django یک فریمورک سطح بالا برای توسعه وب با پایتون است که طراحی شده تا توسعه وب سریع، ساده و مقیاسپذیر باشد. Django دارای بسیاری از امکانات پیشفرض است که نیازهای رایج توسعهدهندگان وب را پوشش میدهد.
۲. نصب Django 🛠️
برای نصب Django از pip استفاده میکنیم:
pip install django
۳. ایجاد اولین پروژه Django 📝
برای ایجاد اولین پروژه Django، از دستور
django-admin
استفاده میکنیم:django-admin startproject myproject
این دستور یک پوشه به نام
myproject
ایجاد میکند که شامل ساختار اولیه یک پروژه Django است.۴. ساخت یک اپلیکیشن در Django 🏗️
در Django، یک پروژه میتواند شامل چندین اپلیکیشن باشد. برای ایجاد یک اپلیکیشن جدید، وارد پوشه پروژه شده و دستور زیر را اجرا کنید:
python manage.py
startapp myapp
این دستور یک پوشه به نام
myapp
ایجاد میکند که شامل ساختار اولیه یک اپلیکیشن Django است.۵. تنظیمات پروژه 🔧
فایل تنظیمات پروژه در مسیر
myproject/settings.py
قرار دارد. برخی از تنظیمات مهم عبارتند از:- INSTALLED_APPS: اپلیکیشنهایی که در پروژه فعال هستند.
- DATABASES: تنظیمات پایگاه داده.
برای اضافه کردن اپلیکیشن جدید به پروژه،
myapp
را به لیست INSTALLED_APPS
اضافه کنید:INSTALLED_APPS = [
...
'myapp',
]
۶. تعریف مدلها (Models) 🗂️
مدلها در Django برای تعریف ساختار دادهها و تعامل با پایگاه داده استفاده میشوند. در فایل
myapp/models.py
، مدلهای خود را تعریف کنید:from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
۷. مهاجرت پایگاه داده (Database Migrations) 🔄
بعد از تعریف مدلها، باید آنها را به پایگاه داده مهاجرت کنید. برای این کار از دستورات زیر استفاده کنید:
python manage.py makemigrations
python manage.py migrate
۸. ایجاد و مدیریت ادمین (Admin) 🛡️
Django دارای یک رابط کاربری ادمین پیشفرض است که برای مدیریت مدلها استفاده میشود. برای دسترسی به پنل ادمین، ابتدا یک سوپریوزر ایجاد کنید:
python manage.py
createsuperuser
سپس به فایل
myapp/admin.py
بروید و مدلهای خود را ثبت کنید:from django.contrib import admin
from .models import Post
admin.site.register(Post)
۹. تعریف ویوها (Views) و URLها 🌐
ویوها در Django برای پردازش درخواستها و برگرداندن پاسخها استفاده میشوند. در فایل
myapp/views.py
، ویوهای خود را تعریف کنید:from django.shortcuts import render
from .models import Post
def home(request):
posts = Post.objects.all()
return render(request, 'home.html', {'posts': posts})
سپس URLهای مربوطه را در فایل
myapp/urls.py
تعریف کنید:from django.urls import path
from .views import home
urlpatterns = [
path('', home, name='home'),
]
فایل `urls.py
را به فایل اصلی
urls.py پروژه اضافه کنید:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
۱۰. استفاده از قالبها (Templates) 📄
برای ایجاد صفحات HTML از قالبها استفاده میکنیم. یک پوشه به نام
templates
در پوشه myapp
ایجاد کرده و فایل home.html
را در آن ایجاد کنید:<!doctype html>
<html>
<head>
<title>Django App</title>
</head>
<body>
<h1>Posts</h1>
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<p><em>{{ post.created_at }}</em></p>
{% endfor %}
</body>
</html>
`
نکات مهمهم*Djangogo**: یک فریمورک قدرتمند برای توسعه وب با پایتون است.- نصب و راهاندازی: با استفاده از pip نصب شده و به راحتی قابل راهاندازی است.
- مدلها: برای تعریف ساختار دادهها و تعامل با پایگاه داده استفاده میشوند.
- ویوها و URLها: برای پردازش درخواستها و هدایت آنها به توابع مناسب استفاده میشوند.
- قالبها: برای ایجاد صفحات HTML دینامیک با استفاده از Django Template Language.
با این آموزش، شما میتوانید یک برنامه وب ساده با Django ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Django #توسعه_وب #PythonWebDevelopment #PythonProgramming
- مدلها: برای تعریف ساختار دادهها و تعامل با پایگاه داده استفاده میشوند.
- ویوها و URLها: برای پردازش درخواستها و هدایت آنها به توابع مناسب استفاده میشوند.
- قالبها: برای ایجاد صفحات HTML دینامیک با استفاده از Django Template Language.
با این آموزش، شما میتوانید یک برنامه وب ساده با Django ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Django #توسعه_وب #PythonWebDevelopment #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100
پارت ۲۱: معرفی Pandas برای تحلیل دادهها 📊
در این پارت با کتابخانه قدرتمند Pandas آشنا میشویم و یاد میگیریم چگونه از این ابزار برای تحلیل و پردازش دادهها استفاده کنیم.
۱. Pandas چیست؟ 🤔
Pandas یک کتابخانه متنباز برای زبان برنامهنویسی پایتون است که برای کار با دادههای ساختاریافته و جدولبندیشده به کار میرود. این کتابخانه ابزارهای متنوعی برای خواندن، نوشتن، پردازش و تحلیل دادهها فراهم میکند.
۲. نصب Pandas 🛠️
برای نصب Pandas از pip استفاده میکنیم:
۳. ایجاد و کار با سریها (Series) 📝
سریها، ساختارهای دادهای یکبعدی در Pandas هستند. یک سری را میتوان به صورت یک ستون از یک جدول در نظر گرفت.
این کد:
- Pandas را ایمپورت میکند.
- یک لیست از دادهها ایجاد میکند.
- یک سری از دادهها ایجاد میکند و آن را چاپ میکند.
۴. ایجاد و کار با دیتافریمها (DataFrame) 📋
دیتافریمها، ساختارهای دادهای دوبعدی در Pandas هستند که میتوانند به صورت جداولی با ردیفها و ستونها در نظر گرفته شوند.
این کد:
- یک دیکشنری از دادهها ایجاد میکند.
- یک دیتافریم از دادهها ایجاد میکند و آن را چاپ میکند.
۵. خواندن و نوشتن فایلهای CSV 📄
Pandas ابزارهایی برای خواندن و نوشتن فایلهای CSV فراهم میکند.
برای خواندن یک فایل CSV:
برای نوشتن یک دیتافریم به فایل CSV:
۶. فیلتر و مرتبسازی دادهها 🔍
Pandas ابزارهایی برای فیلتر و مرتبسازی دادهها فراهم میکند.
برای فیلتر کردن دادهها:
برای مرتبسازی دادهها:
۷. عملیات بر روی دیتافریمها ➕➖
Pandas امکان انجام عملیاتهای مختلف بر روی دیتافریمها را فراهم میکند.
برای اضافه کردن یک ستون جدید:
برای حذف یک ستون:
۸. گروهبندی و تجمع دادهها 📊
Pandas ابزارهایی برای گروهبندی و تجمع دادهها فراهم میکند.
برای گروهبندی دادهها:
نکات مهم
- Pandas: یک کتابخانه قدرتمند برای تحلیل دادهها در پایتون است.
- سریها و دیتافریمها: ساختارهای دادهای پایهای برای کار با دادهها.
- خواندن و نوشتن فایلهای CSV: ابزارهای Pandas برای کار با فایلهای دادهای.
- فیلتر و مرتبسازی دادهها: امکانات Pandas برای جستجو و سازماندهی دادهها.
- عملیات بر روی دیتافریمها: افزودن، حذف و تغییر دادهها در دیتافریمها.
- گروهبندی و تجمع دادهها: ابزارهای Pandas برای تحلیلهای پیچیدهتر دادهها.
با این آموزش، شما میتوانید به راحتی دادهها را با استفاده از Pandas تحلیل و پردازش کنید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Pandas #تحلیل_داده #PythonDataAnalysis #PythonProgramming
پارت ۲۱: معرفی Pandas برای تحلیل دادهها 📊
در این پارت با کتابخانه قدرتمند Pandas آشنا میشویم و یاد میگیریم چگونه از این ابزار برای تحلیل و پردازش دادهها استفاده کنیم.
۱. Pandas چیست؟ 🤔
Pandas یک کتابخانه متنباز برای زبان برنامهنویسی پایتون است که برای کار با دادههای ساختاریافته و جدولبندیشده به کار میرود. این کتابخانه ابزارهای متنوعی برای خواندن، نوشتن، پردازش و تحلیل دادهها فراهم میکند.
۲. نصب Pandas 🛠️
برای نصب Pandas از pip استفاده میکنیم:
pip install pandas
۳. ایجاد و کار با سریها (Series) 📝
سریها، ساختارهای دادهای یکبعدی در Pandas هستند. یک سری را میتوان به صورت یک ستون از یک جدول در نظر گرفت.
import pandas as pd
data = [1, 2, 3, 4, 5]
series = pd.Series(data)
print(series)
این کد:
- Pandas را ایمپورت میکند.
- یک لیست از دادهها ایجاد میکند.
- یک سری از دادهها ایجاد میکند و آن را چاپ میکند.
۴. ایجاد و کار با دیتافریمها (DataFrame) 📋
دیتافریمها، ساختارهای دادهای دوبعدی در Pandas هستند که میتوانند به صورت جداولی با ردیفها و ستونها در نظر گرفته شوند.
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
این کد:
- یک دیکشنری از دادهها ایجاد میکند.
- یک دیتافریم از دادهها ایجاد میکند و آن را چاپ میکند.
۵. خواندن و نوشتن فایلهای CSV 📄
Pandas ابزارهایی برای خواندن و نوشتن فایلهای CSV فراهم میکند.
برای خواندن یک فایل CSV:
df = pd.read_csv('data.csv')
print(df.head())
برای نوشتن یک دیتافریم به فایل CSV:
df.to_csv('output.csv', index=False)
۶. فیلتر و مرتبسازی دادهها 🔍
Pandas ابزارهایی برای فیلتر و مرتبسازی دادهها فراهم میکند.
برای فیلتر کردن دادهها:
filtered_df = df[df['Age'] > 30]
print(filtered_df)
برای مرتبسازی دادهها:
sorted_df = df.sort_values(by='Age')
print(sorted_df)
۷. عملیات بر روی دیتافریمها ➕➖
Pandas امکان انجام عملیاتهای مختلف بر روی دیتافریمها را فراهم میکند.
برای اضافه کردن یک ستون جدید:
df['Salary'] = [50000, 60000, 70000]
print(df)
برای حذف یک ستون:
df = df.drop(columns=['Salary'])
print(df)
۸. گروهبندی و تجمع دادهها 📊
Pandas ابزارهایی برای گروهبندی و تجمع دادهها فراهم میکند.
برای گروهبندی دادهها:
grouped_df = df.groupby('City').mean()
print(grouped_df)
نکات مهم
- Pandas: یک کتابخانه قدرتمند برای تحلیل دادهها در پایتون است.
- سریها و دیتافریمها: ساختارهای دادهای پایهای برای کار با دادهها.
- خواندن و نوشتن فایلهای CSV: ابزارهای Pandas برای کار با فایلهای دادهای.
- فیلتر و مرتبسازی دادهها: امکانات Pandas برای جستجو و سازماندهی دادهها.
- عملیات بر روی دیتافریمها: افزودن، حذف و تغییر دادهها در دیتافریمها.
- گروهبندی و تجمع دادهها: ابزارهای Pandas برای تحلیلهای پیچیدهتر دادهها.
با این آموزش، شما میتوانید به راحتی دادهها را با استفاده از Pandas تحلیل و پردازش کنید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #Pandas #تحلیل_داده #PythonDataAnalysis #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100
پارت ۲۲: معرفی NumPy برای محاسبات علمی و عددی 🔢
در این پارت با کتابخانه قدرتمند NumPy آشنا میشویم و یاد میگیریم چگونه از این ابزار برای انجام محاسبات علمی و عددی استفاده کنیم.
۱. NumPy چیست؟ 🤔
NumPy (Numerical Python) یک کتابخانه متنباز برای زبان برنامهنویسی پایتون است که بهطور خاص برای انجام محاسبات عددی و علمی توسعه یافته است. NumPy امکاناتی برای ایجاد و مدیریت آرایهها، انجام عملیات ریاضی پیچیده و مدیریت دادههای چندبعدی فراهم میکند.
۲. نصب NumPy 🛠️
برای نصب NumPy از pip استفاده میکنیم:
۳. ایجاد و کار با آرایهها (Arrays) 📝
آرایهها ساختارهای دادهای پایه در NumPy هستند. یک آرایه را میتوان بهصورت یک لیست چندبعدی در نظر گرفت.
۴. عملیات پایهای بر روی آرایهها ➕➖
NumPy امکانات متنوعی برای انجام عملیاتهای ریاضی بر روی آرایهها فراهم میکند.
۵. ایندکسگذاری و بُرش (Indexing and Slicing) 🔍
برای دسترسی به عناصر خاص در آرایهها از ایندکسگذاری و بُرش استفاده میکنیم.
۶. ایجاد آرایههای خاص 🛠️
NumPy امکاناتی برای ایجاد آرایههای خاص مانند آرایههای صفر، آرایههای یک و آرایههای با توزیعهای مختلف فراهم میکند.
۷. توابع و عملیات ریاضی پیشرفته 📊
NumPy دارای مجموعهای از توابع ریاضی پیشرفته برای انجام محاسبات پیچیده است.
۸. تغییر شکل آرایهها (Reshaping) 🔄
برای تغییر شکل آرایهها و تبدیل آنها به شکلهای مختلف از توابع reshaping استفاده میکنیم.
نکات مهم
- NumPy: یک کتابخانه قدرتمند برای انجام محاسبات علمی و عددی در پایتون است.
- آرایهها: ساختارهای دادهای پایه برای کار با دادههای چندبعدی.
- عملیات ریاضی: امکان انجام عملیاتهای ریاضی پایهای و پیشرفته بر روی آرایهها.
- ایندکسگذاری و بُرش: دسترسی به عناصر و بخشهای خاص آرایهها.
- آرایههای خاص: ایجاد آرایههای صفر، یک و با توزیعهای مختلف.
- توابع ریاضی پیشرفته: محاسبات پیچیده و عملیات ماتریسی.
- تغییر شکل آرایهها: تغییر شکل و تبدیل آرایهها به فرمهای مختلف.
با این آموزش، شما میتوانید به راحتی دادهها را با استفاده از NumPy تحلیل و پردازش کنید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #NumPy #محاسبات_علمی #PythonScientificComputing #PythonProgramming
پارت ۲۲: معرفی NumPy برای محاسبات علمی و عددی 🔢
در این پارت با کتابخانه قدرتمند NumPy آشنا میشویم و یاد میگیریم چگونه از این ابزار برای انجام محاسبات علمی و عددی استفاده کنیم.
۱. NumPy چیست؟ 🤔
NumPy (Numerical Python) یک کتابخانه متنباز برای زبان برنامهنویسی پایتون است که بهطور خاص برای انجام محاسبات عددی و علمی توسعه یافته است. NumPy امکاناتی برای ایجاد و مدیریت آرایهها، انجام عملیات ریاضی پیچیده و مدیریت دادههای چندبعدی فراهم میکند.
۲. نصب NumPy 🛠️
برای نصب NumPy از pip استفاده میکنیم:
pip install numpy
۳. ایجاد و کار با آرایهها (Arrays) 📝
آرایهها ساختارهای دادهای پایه در NumPy هستند. یک آرایه را میتوان بهصورت یک لیست چندبعدی در نظر گرفت.
import numpy as np
# ایجاد یک آرایه یکبعدی
array_1d = np.array([1, 2, 3, 4, 5])
# ایجاد یک آرایه دوبعدی
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("آرایه یکبعدی:", array_1d)
print("آرایه دوبعدی:\n", array_2d)
۴. عملیات پایهای بر روی آرایهها ➕➖
NumPy امکانات متنوعی برای انجام عملیاتهای ریاضی بر روی آرایهها فراهم میکند.
# عملیات جمع
array_sum = array_1d + 10
print("جمع آرایه:", array_sum)
# عملیات ضرب
array_product = array_1d * 2
print("ضرب آرایه:", array_product)
۵. ایندکسگذاری و بُرش (Indexing and Slicing) 🔍
برای دسترسی به عناصر خاص در آرایهها از ایندکسگذاری و بُرش استفاده میکنیم.
# دسترسی به عناصر خاص
print("عنصر اول آرایه یکبعدی:", array_1d[0])
print("عنصر اول آرایه دوبعدی:", array_2d[0, 0])
# برش آرایهها
print("بُرش آرایه یکبعدی:", array_1d[1:4])
print("بُرش آرایه دوبعدی:\n", array_2d[:, 1:3])
۶. ایجاد آرایههای خاص 🛠️
NumPy امکاناتی برای ایجاد آرایههای خاص مانند آرایههای صفر، آرایههای یک و آرایههای با توزیعهای مختلف فراهم میکند.
# ایجاد آرایههای صفر و یک
zeros_array = np.zeros((2, 3))
ones_array = np.ones((3, 3))
# ایجاد آرایههای با توزیع مختلف
random_array = np.random.rand(3, 3)
print("آرایه صفر:\n", zeros_array)
print("آرایه یک:\n", ones_array)
print("آرایه تصادفی:\n", random_array)
۷. توابع و عملیات ریاضی پیشرفته 📊
NumPy دارای مجموعهای از توابع ریاضی پیشرفته برای انجام محاسبات پیچیده است.
# محاسبه میانگین و انحراف معیار
mean_value = np.mean(array_1d)
std_dev = np.std(array_1d)
# انجام عملیات ماتریسی
matrix_product = np.dot(array_2d, array_2d.T)
print("میانگین:", mean_value)
print("انحراف معیار:", std_dev)
print("ضرب ماتریسی:\n", matrix_product)
۸. تغییر شکل آرایهها (Reshaping) 🔄
برای تغییر شکل آرایهها و تبدیل آنها به شکلهای مختلف از توابع reshaping استفاده میکنیم.
reshaped_array = array_1d.reshape((5, 1))
print("آرایه تغییر شکل یافته:\n", reshaped_array)
نکات مهم
- NumPy: یک کتابخانه قدرتمند برای انجام محاسبات علمی و عددی در پایتون است.
- آرایهها: ساختارهای دادهای پایه برای کار با دادههای چندبعدی.
- عملیات ریاضی: امکان انجام عملیاتهای ریاضی پایهای و پیشرفته بر روی آرایهها.
- ایندکسگذاری و بُرش: دسترسی به عناصر و بخشهای خاص آرایهها.
- آرایههای خاص: ایجاد آرایههای صفر، یک و با توزیعهای مختلف.
- توابع ریاضی پیشرفته: محاسبات پیچیده و عملیات ماتریسی.
- تغییر شکل آرایهها: تغییر شکل و تبدیل آرایهها به فرمهای مختلف.
با این آموزش، شما میتوانید به راحتی دادهها را با استفاده از NumPy تحلیل و پردازش کنید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #NumPy #محاسبات_علمی #PythonScientificComputing #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100
پارت ۲۳: پروژه نهایی - تحلیل دادهها 📊
در این پارت، از تمامی مفاهیمی که تا به حال آموختهایم، برای انجام یک پروژه نهایی تحلیل دادهها استفاده میکنیم. هدف این پروژه، تحلیل یک مجموعه داده و استخراج اطلاعات مفید از آن است.
۱. انتخاب مجموعه داده 📂
ابتدا باید یک مجموعه داده مناسب انتخاب کنیم. برای این پروژه، از مجموعه داده معروف "Titanic" استفاده خواهیم کرد. این مجموعه داده شامل اطلاعاتی درباره مسافران کشتی تایتانیک است و میتوانیم تحلیلهای جالبی بر روی آن انجام دهیم.
۲. نصب کتابخانههای مورد نیاز 🛠️
برای انجام تحلیل دادهها، نیاز به نصب کتابخانههای Pandas و NumPy داریم. اگر قبلاً این کتابخانهها را نصب نکردهاید، میتوانید از طریق pip آنها را نصب کنید:
۳. خواندن دادهها 📥
ابتدا مجموعه داده را با استفاده از Pandas وارد میکنیم:
۴. بررسی اولیه دادهها 🔍
برای آشنایی بیشتر با دادهها، یک بررسی اولیه انجام میدهیم:
۵. تمیز کردن دادهها 🧹
برای انجام تحلیلهای دقیقتر، نیاز به تمیز کردن دادهها داریم. این شامل پر کردن مقادیر گمشده و حذف دادههای نامعتبر است.
۶. تحلیل دادهها 📊
حال که دادهها تمیز شدهاند، میتوانیم تحلیلهای مختلفی بر روی آنها انجام دهیم. به عنوان مثال، بررسی میکنیم چند درصد از مسافران زنده ماندهاند.
۷. تحلیل گروهی دادهها 📋
یکی از ویژگیهای مفید Pandas، امکان گروهبندی دادهها و انجام تحلیلهای گروهی است. به عنوان مثال، بررسی میکنیم نرخ زندهماندن برای گروههای سنی مختلف چگونه است.
۸. رسم نمودارها 📈
برای نمایش نتایج تحلیلها، میتوانیم از کتابخانه Matplotlib استفاده کنیم. اگر این کتابخانه را نصب ندارید، با استفاده از pip آن را نصب کنید:
سپس میتوانیم یک نمودار میلهای از نرخ زندهماندن برای گروههای سنی مختلف رسم کنیم:
نکات مهم
- انتخاب مجموعه داده: استفاده از مجموعه داده Titanic.
- خواندن و بررسی دادهها: استفاده از Pandas برای خواندن و بررسی اولیه دادهها.
- تمیز کردن دادهها: پر کردن مقادیر گمشده و حذف دادههای نامعتبر.
- تحلیل دادهها: انجام تحلیلهای مختلف برای استخراج اطلاعات مفید.
- تحلیل گروهی دادهها: استفاده از گروهبندی برای تحلیل دقیقتر دادهها.
- رسم نمودارها: استفاده از Matplotlib برای نمایش بصری نتایج.
با این پروژه نهایی، شما قادر خواهید بود تحلیل دادهها را به طور کامل انجام دهید و نتایج خود را به صورت بصری نمایش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #تحلیل_داده #پروژه_نهایی #PythonDataAnalysis #PythonProgramming
پارت ۲۳: پروژه نهایی - تحلیل دادهها 📊
در این پارت، از تمامی مفاهیمی که تا به حال آموختهایم، برای انجام یک پروژه نهایی تحلیل دادهها استفاده میکنیم. هدف این پروژه، تحلیل یک مجموعه داده و استخراج اطلاعات مفید از آن است.
۱. انتخاب مجموعه داده 📂
ابتدا باید یک مجموعه داده مناسب انتخاب کنیم. برای این پروژه، از مجموعه داده معروف "Titanic" استفاده خواهیم کرد. این مجموعه داده شامل اطلاعاتی درباره مسافران کشتی تایتانیک است و میتوانیم تحلیلهای جالبی بر روی آن انجام دهیم.
۲. نصب کتابخانههای مورد نیاز 🛠️
برای انجام تحلیل دادهها، نیاز به نصب کتابخانههای Pandas و NumPy داریم. اگر قبلاً این کتابخانهها را نصب نکردهاید، میتوانید از طریق pip آنها را نصب کنید:
pip install pandas numpy
۳. خواندن دادهها 📥
ابتدا مجموعه داده را با استفاده از Pandas وارد میکنیم:
import pandas as pd
# خواندن دادهها از فایل CSV
df = pd.read_csv('titanic.csv')
# نمایش چند ردیف اول از دادهها
print(df.head())
۴. بررسی اولیه دادهها 🔍
برای آشنایی بیشتر با دادهها، یک بررسی اولیه انجام میدهیم:
# نمایش اطلاعات کلی درباره دادهها
print(df.info())
# نمایش آمار توصیفی از دادهها
print(df.describe())
۵. تمیز کردن دادهها 🧹
برای انجام تحلیلهای دقیقتر، نیاز به تمیز کردن دادهها داریم. این شامل پر کردن مقادیر گمشده و حذف دادههای نامعتبر است.
# پر کردن مقادیر گمشده با میانگین ستون
df['Age'].fillna(df['Age'].mean(), inplace=True)
# حذف ردیفهای با مقادیر گمشده در ستون Embarked
df.dropna(subset=['Embarked'], inplace=True)
۶. تحلیل دادهها 📊
حال که دادهها تمیز شدهاند، میتوانیم تحلیلهای مختلفی بر روی آنها انجام دهیم. به عنوان مثال، بررسی میکنیم چند درصد از مسافران زنده ماندهاند.
# محاسبه درصد زندهماندهها
survival_rate = df['Survived'].mean() * 100
print(f"درصد زندهماندهها: {survival_rate:.2f}%")
۷. تحلیل گروهی دادهها 📋
یکی از ویژگیهای مفید Pandas، امکان گروهبندی دادهها و انجام تحلیلهای گروهی است. به عنوان مثال، بررسی میکنیم نرخ زندهماندن برای گروههای سنی مختلف چگونه است.
# تعریف دستههای سنی
bins = [0, 12, 20, 40, 60, 80]
labels = ['کودک', 'نوجوان', 'جوان', 'میانسال', 'سالمند']
df['AgeGroup'] = pd.cut(df['Age'], bins=bins, labels=labels)
# محاسبه نرخ زندهماندن برای هر گروه سنی
age_group_survival = df.groupby('AgeGroup')['Survived'].mean() * 100
print(age_group_survival)
۸. رسم نمودارها 📈
برای نمایش نتایج تحلیلها، میتوانیم از کتابخانه Matplotlib استفاده کنیم. اگر این کتابخانه را نصب ندارید، با استفاده از pip آن را نصب کنید:
pip install matplotlib
سپس میتوانیم یک نمودار میلهای از نرخ زندهماندن برای گروههای سنی مختلف رسم کنیم:
import matplotlib.pyplot as plt
# رسم نمودار میلهای
age_group_survival.plot(kind='bar')
plt.title('نرخ زندهماندن برای گروههای سنی مختلف')
plt.xlabel('گروه سنی')
plt.ylabel('نرخ زندهماندن (%)')
plt.show()
نکات مهم
- انتخاب مجموعه داده: استفاده از مجموعه داده Titanic.
- خواندن و بررسی دادهها: استفاده از Pandas برای خواندن و بررسی اولیه دادهها.
- تمیز کردن دادهها: پر کردن مقادیر گمشده و حذف دادههای نامعتبر.
- تحلیل دادهها: انجام تحلیلهای مختلف برای استخراج اطلاعات مفید.
- تحلیل گروهی دادهها: استفاده از گروهبندی برای تحلیل دقیقتر دادهها.
- رسم نمودارها: استفاده از Matplotlib برای نمایش بصری نتایج.
با این پروژه نهایی، شما قادر خواهید بود تحلیل دادهها را به طور کامل انجام دهید و نتایج خود را به صورت بصری نمایش دهید. موفق باشید! 🌟
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #تحلیل_داده #پروژه_نهایی #PythonDataAnalysis #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100
پارت ۲۴: جمعبندی و منابع بیشتر 📖
در این پارت پایانی، به مرور مطالبی که در طول دوره آموختهایم میپردازیم و منابعی برای ادامهی یادگیری و عمیقتر شدن در مفاهیم پایتون معرفی میکنیم.
مرور مطالب دوره 🎓
در طول این دوره، مباحث متنوع و جامعی را در زمینه پایتون پوشش دادیم. در زیر به خلاصهای از مهمترین مباحث اشاره میکنیم:
1. مبانی پایتون: نصب، متغیرها، انواع دادهها، عملیات ریاضی و منطقی.
2. ساختارهای داده: لیستها، تاپلها، دیکشنریها و مجموعهها.
3. حلقهها و توابع: استفاده از حلقهها و تعریف توابع.
4. مدیریت فایلها و استثناءها: خواندن و نوشتن فایلها، مدیریت خطاها.
5. برنامهنویسی شیءگرا: مفاهیم پایه، وراثت و پلیمورفیسم.
6. ماژولها و پکیجها: معرفی و استفاده از ماژولها و پکیجهای استاندارد.
7. پروژههای عملی: پروژههای کاربردی برای تثبیت مطالب.
8. مفاهیم پیشرفته: Decorators، Generators و مدیریت حافظه.
9. توسعه وب: آشنایی با Flask و Django.
10. کار با دادهها: معرفی و استفاده از Pandas و NumPy.
11. تحلیل دادهها: انجام پروژه نهایی تحلیل دادهها.
*منابع بیشتر برای یادگیری 📚
برای ادامهی یادگیری و عمیقتر شدن در مفاهیم پایتون، منابع زیادی وجود دارد که میتوانند به شما کمک کنند. در اینجا چند منبع معتبر و مفید معرفی میشود:
۱. کتابها 📖
- "Automate the Boring Stuff with Python" نوشته Al Sweigart: این کتاب به شما کمک میکند تا با استفاده از پایتون، کارهای روزمره را خودکار کنید.
- "Python Crash Course" نوشته Eric Matthes: یک راهنمای کامل برای مبتدیان که شامل پروژههای عملی نیز هست.
- "Fluent Python" نوشته Luciano Ramalho: برای یادگیری عمیقتر مفاهیم پیشرفته پایتون.
۲. دورههای آنلاین 🎥
- Coursera: دورههای متعددی از دانشگاههای معتبر دنیا برای یادگیری پایتون.
- edX: دورههای مختلفی از دانشگاههای برتر جهان.
- Udemy: دورههای جامع و متنوعی برای هر سطح از دانش پایتون.
۳. مستندات رسمی 📄
- [مستندات رسمی پایتون]: بهترین منبع برای یادگیری دقیق و کامل تمامی توابع و کتابخانههای پایتون.
- [مستندات Pandas]: مرجعی کامل برای یادگیری Pandas.
- [مستندات NumPy]: بهترین منبع برای یادگیری NumPy.
۴. انجمنها و سایتهای پرسش و پاسخ 🌐
- Stack Overflow: بزرگترین انجمن برنامهنویسان جهان برای پرسش و پاسخ در مورد مسائل برنامهنویسی.
- Reddit: جوامع متعددی برای یادگیری و بحث درباره پایتون.
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #برنامه_نویسی #منابع_یادگیری #Python #PythonLearning #PythonResources
پارت ۲۴: جمعبندی و منابع بیشتر 📖
در این پارت پایانی، به مرور مطالبی که در طول دوره آموختهایم میپردازیم و منابعی برای ادامهی یادگیری و عمیقتر شدن در مفاهیم پایتون معرفی میکنیم.
مرور مطالب دوره 🎓
در طول این دوره، مباحث متنوع و جامعی را در زمینه پایتون پوشش دادیم. در زیر به خلاصهای از مهمترین مباحث اشاره میکنیم:
1. مبانی پایتون: نصب، متغیرها، انواع دادهها، عملیات ریاضی و منطقی.
2. ساختارهای داده: لیستها، تاپلها، دیکشنریها و مجموعهها.
3. حلقهها و توابع: استفاده از حلقهها و تعریف توابع.
4. مدیریت فایلها و استثناءها: خواندن و نوشتن فایلها، مدیریت خطاها.
5. برنامهنویسی شیءگرا: مفاهیم پایه، وراثت و پلیمورفیسم.
6. ماژولها و پکیجها: معرفی و استفاده از ماژولها و پکیجهای استاندارد.
7. پروژههای عملی: پروژههای کاربردی برای تثبیت مطالب.
8. مفاهیم پیشرفته: Decorators، Generators و مدیریت حافظه.
9. توسعه وب: آشنایی با Flask و Django.
10. کار با دادهها: معرفی و استفاده از Pandas و NumPy.
11. تحلیل دادهها: انجام پروژه نهایی تحلیل دادهها.
*منابع بیشتر برای یادگیری 📚
برای ادامهی یادگیری و عمیقتر شدن در مفاهیم پایتون، منابع زیادی وجود دارد که میتوانند به شما کمک کنند. در اینجا چند منبع معتبر و مفید معرفی میشود:
۱. کتابها 📖
- "Automate the Boring Stuff with Python" نوشته Al Sweigart: این کتاب به شما کمک میکند تا با استفاده از پایتون، کارهای روزمره را خودکار کنید.
- "Python Crash Course" نوشته Eric Matthes: یک راهنمای کامل برای مبتدیان که شامل پروژههای عملی نیز هست.
- "Fluent Python" نوشته Luciano Ramalho: برای یادگیری عمیقتر مفاهیم پیشرفته پایتون.
۲. دورههای آنلاین 🎥
- Coursera: دورههای متعددی از دانشگاههای معتبر دنیا برای یادگیری پایتون.
- edX: دورههای مختلفی از دانشگاههای برتر جهان.
- Udemy: دورههای جامع و متنوعی برای هر سطح از دانش پایتون.
۳. مستندات رسمی 📄
- [مستندات رسمی پایتون]: بهترین منبع برای یادگیری دقیق و کامل تمامی توابع و کتابخانههای پایتون.
- [مستندات Pandas]: مرجعی کامل برای یادگیری Pandas.
- [مستندات NumPy]: بهترین منبع برای یادگیری NumPy.
۴. انجمنها و سایتهای پرسش و پاسخ 🌐
- Stack Overflow: بزرگترین انجمن برنامهنویسان جهان برای پرسش و پاسخ در مورد مسائل برنامهنویسی.
- Reddit: جوامع متعددی برای یادگیری و بحث درباره پایتون.
🔻برای بیشتر یاد گرفتن بیا اینجا
#پایتون #آموزش_پایتون #برنامه_نویسی #منابع_یادگیری #Python #PythonLearning #PythonResources
📚 برنامه کامل دوره آموزش پایتون از 0 تا 100
خوشحالیم که به دوره جامع آموزش پایتون از 0 تا 100 پیوستید. 🎉 این دوره برای تمامی سطوح طراحی شده و شما را از پایه تا پیشرفته به دنیای برنامهنویسی با پایتون میبرد. در این پست، برنامه کامل دوره و موضوعات هر پارت را معرفی میکنیم. میتوانید با کلیک روی هر موضوع، به لینک مربوطه دسترسی پیدا کنید.
1. [نصب و راهاندازی پایتون]
2. [متغیرها و انواع دادهها]
3. [عملیات ریاضی و منطقی]
4. [دستورات شرطی]
5. [لیستها و تاپلها]
6. [دیکشنریها و مجموعهها]
7. [حلقهها]
8. [توابع]
9. [مدیریت فایل]
10. [مدیریت استثناءها]
11. [مفاهیم پایه OOP]
12. [وراثت و پلیمورفیسم]
13. [ماژولها و پکیجها]
14. [کتابخانههای استاندارد پایتون]
15. [پروژه 1 - مدیریت مخاطبین]
16. [پروژه 2 - ماشین حساب پیشرفته]
17. [Decorators و Generators]
18. [مدیریت حافظه و Garbage Collection]
19. [معرفی Flask]
20. [معرفی Django]
21. [معرفی Pandas]
22. [معرفی NumPy]
23. [پروژه نهایی - تحلیل دادهها]
24. [جمعبندی و منابع بیشتر]
با دنبال کردن این دوره، شما به تسلط کامل بر پایتون خواهید رسید و قادر خواهید بود پروژههای کاربردی و پیشرفته را اجرا کنید. هر پارت شامل توضیحات کامل، مثالها و تمرینهای عملی است که به شما کمک میکند تا مفاهیم را به خوبی درک کرده و در عمل به کار ببرید.
به زودی لینکهای هر پارت در دسترس قرار خواهند گرفت تا به راحتی بتوانید به تمامی مطالب دسترسی داشته باشید. از همراهی شما سپاسگزاریم و امیدواریم این دوره برای شما مفید و لذتبخش باشد. 🚀
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
خوشحالیم که به دوره جامع آموزش پایتون از 0 تا 100 پیوستید. 🎉 این دوره برای تمامی سطوح طراحی شده و شما را از پایه تا پیشرفته به دنیای برنامهنویسی با پایتون میبرد. در این پست، برنامه کامل دوره و موضوعات هر پارت را معرفی میکنیم. میتوانید با کلیک روی هر موضوع، به لینک مربوطه دسترسی پیدا کنید.
1. [نصب و راهاندازی پایتون]
2. [متغیرها و انواع دادهها]
3. [عملیات ریاضی و منطقی]
4. [دستورات شرطی]
5. [لیستها و تاپلها]
6. [دیکشنریها و مجموعهها]
7. [حلقهها]
8. [توابع]
9. [مدیریت فایل]
10. [مدیریت استثناءها]
11. [مفاهیم پایه OOP]
12. [وراثت و پلیمورفیسم]
13. [ماژولها و پکیجها]
14. [کتابخانههای استاندارد پایتون]
15. [پروژه 1 - مدیریت مخاطبین]
16. [پروژه 2 - ماشین حساب پیشرفته]
17. [Decorators و Generators]
18. [مدیریت حافظه و Garbage Collection]
19. [معرفی Flask]
20. [معرفی Django]
21. [معرفی Pandas]
22. [معرفی NumPy]
23. [پروژه نهایی - تحلیل دادهها]
24. [جمعبندی و منابع بیشتر]
با دنبال کردن این دوره، شما به تسلط کامل بر پایتون خواهید رسید و قادر خواهید بود پروژههای کاربردی و پیشرفته را اجرا کنید. هر پارت شامل توضیحات کامل، مثالها و تمرینهای عملی است که به شما کمک میکند تا مفاهیم را به خوبی درک کرده و در عمل به کار ببرید.
به زودی لینکهای هر پارت در دسترس قرار خواهند گرفت تا به راحتی بتوانید به تمامی مطالب دسترسی داشته باشید. از همراهی شما سپاسگزاریم و امیدواریم این دوره برای شما مفید و لذتبخش باشد. 🚀
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
👍2
آموزش اتصال به مرورگر با استفاده از Selenium در پایتون 🖥️🌐
در این آموزش، نحوه اتصال به مرورگر با استفاده از کتابخانه محبوب Selenium را یاد خواهیم گرفت. Selenium یک ابزار قدرتمند برای اتوماسیون مرورگر وب است که به شما امکان میدهد تا مرورگرهای وب را از طریق اسکریپتهای پایتون کنترل کنید.
مراحل نصب و راهاندازی Selenium
1. نصب Selenium:
برای نصب Selenium، از دستور pip استفاده کنید:
2. دانلود WebDriver:
Selenium برای کنترل مرورگر نیاز به WebDriver دارد. WebDriver مرورگر خاصی را که میخواهید اتوماسیون کنید، کنترل میکند. برای Chrome، میتوانید ChromeDriver را دانلود کنید:
- به صفحه [دانلود ChromeDriver] بروید.
- نسخه مناسب برای مرورگر Chrome خود را دانلود کنید.
- فایل دانلود شده را از حالت فشرده خارج کنید و آن را در یک مسیر قابل دسترسی قرار دهید.
مثال: باز کردن یک صفحه وب با استفاده از ChromeDriver
توضیحات کد:
1. وارد کردن کتابخانههای لازم:
-
-
-
2. مسیر ChromeDriver:
- مسیر ChromeDriver را که دانلود و استخراج کردید، مشخص کنید.
3. ایجاد یک نمونه از مرورگر Chrome:
-
4. باز کردن یک صفحه وب:
-
5. انتظار برای 5 ثانیه:
-
6. یافتن المان و ارسال کلید:
-
-
7. بستن مرورگر:
-
این کد یک مرورگر Chrome باز میکند، به صفحه
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Selenium #WebAutomation #BrowserAutomation #LearnPython #Programming #WebDriver
در این آموزش، نحوه اتصال به مرورگر با استفاده از کتابخانه محبوب Selenium را یاد خواهیم گرفت. Selenium یک ابزار قدرتمند برای اتوماسیون مرورگر وب است که به شما امکان میدهد تا مرورگرهای وب را از طریق اسکریپتهای پایتون کنترل کنید.
مراحل نصب و راهاندازی Selenium
1. نصب Selenium:
برای نصب Selenium، از دستور pip استفاده کنید:
pip install selenium
2. دانلود WebDriver:
Selenium برای کنترل مرورگر نیاز به WebDriver دارد. WebDriver مرورگر خاصی را که میخواهید اتوماسیون کنید، کنترل میکند. برای Chrome، میتوانید ChromeDriver را دانلود کنید:
- به صفحه [دانلود ChromeDriver] بروید.
- نسخه مناسب برای مرورگر Chrome خود را دانلود کنید.
- فایل دانلود شده را از حالت فشرده خارج کنید و آن را در یک مسیر قابل دسترسی قرار دهید.
مثال: باز کردن یک صفحه وب با استفاده از ChromeDriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# مسیر ChromeDriver خود را مشخص کنید
chrome_driver_path = "/path/to/chromedriver"
# ایجاد یک نمونه از مرورگر Chrome
driver = webdriver.Chrome(executable_path=chrome_driver_path)
# باز کردن یک صفحه وب
driver.get("https://www.example.com")
# انتظار برای 5 ثانیه
time.sleep(5)
# یافتن المان توسط نام تگ و ارسال کلیدهای Enter
search_box = driver.find_element(By.TAG_NAME, "h1")
search_box.send_keys(Keys.ENTER)
# بستن مرورگر
driver.quit()
توضیحات کد:
1. وارد کردن کتابخانههای لازم:
-
webdriver
: برای کنترل مرورگر-
By
و Keys
: برای یافتن المانها و ارسال کلیدها-
time
: برای تاخیر زمانی2. مسیر ChromeDriver:
- مسیر ChromeDriver را که دانلود و استخراج کردید، مشخص کنید.
3. ایجاد یک نمونه از مرورگر Chrome:
-
webdriver.Chrome(executable_path=chrome_driver_path)
: یک نمونه از مرورگر Chrome ایجاد میکند.4. باز کردن یک صفحه وب:
-
driver.get("https://www.example.com")
: صفحه وب مورد نظر را باز میکند.5. انتظار برای 5 ثانیه:
-
time.sleep(5)
: برای 5 ثانیه منتظر میماند تا شما بتوانید صفحه را ببینید.6. یافتن المان و ارسال کلید:
-
driver.find_element(By.TAG_NAME, "h1")
: المان با نام تگ h1
را پیدا میکند.-
search_box.send_keys(Keys.ENTER)
: کلید Enter
را به المان ارسال میکند.7. بستن مرورگر:
-
driver.quit()
: مرورگر را میبندد.این کد یک مرورگر Chrome باز میکند، به صفحه
https://www.example.com
میرود، برای 5 ثانیه منتظر میماند و سپس کلید Enter را به اولین المان با نام تگ h1
ارسال میکند و در نهایت مرورگر را میبندد.🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Selenium #WebAutomation #BrowserAutomation #LearnPython #Programming #WebDriver
👍6
آموزش کد چند فرآیندی (Multiprocessing) در پایتون 🐍
مقدمه
چند فرآیندی یا Multiprocessing یکی از تکنیکهای مهم در برنامهنویسی موازی است که به شما امکان میدهد تا چندین فرآیند را به طور همزمان اجرا کنید. این تکنیک به خصوص برای بهرهبرداری از پردازندههای چند هستهای بسیار مفید است و میتواند عملکرد برنامههای شما را بهبود بخشد.
مفهوم اولیه
در پایتون، کتابخانهی multiprocessing ابزارهای لازم برای اجرای چند فرآیندی را فراهم میکند. این کتابخانه به شما امکان میدهد تا از فرآیندهای جداگانه برای اجرای وظایف مختلف استفاده کنید.
مثال کد
توضیحات:
1. ایمپورت کتابخانهی multiprocessing:
2. تعریف تابع worker:
این تابع ساده، یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند و سپس به مدت ۲ ثانیه توقف میکند.
3. ایجاد و شروع فرآیندها:
در بلوک
4. منتظر ماندن برای اتمام فرآیندها:
با استفاده از
نکات مهم
1. به اشتراکگذاری دادهها:
کتابخانهی
2. امنیت و مدیریت منابع:
اطمینان حاصل کنید که فرآیندها منابع سیستم را به درستی مدیریت میکنند و از مشکلاتی مانند مصرف بیش از حد حافظه جلوگیری کنید.
3. استفاده از CPU های چند هستهای:
چند فرآیندی به شما امکان میدهد از قدرت پردازشی چند هستهای بهره ببرید و برنامههای خود را سریعتر اجرا کنید.
نتیجهگیری
چند فرآیندی در پایتون ابزاری قدرتمند برای بهبود کارایی برنامهها است. با استفاده از کتابخانهی
این تکنیک میتواند به شما کمک کند تا برنامههای پیچیده و زمانبر خود را بهینه کنید و عملکرد بهتری را تجربه کنید. 🎉
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #Programming #ParallelComputing
مقدمه
چند فرآیندی یا Multiprocessing یکی از تکنیکهای مهم در برنامهنویسی موازی است که به شما امکان میدهد تا چندین فرآیند را به طور همزمان اجرا کنید. این تکنیک به خصوص برای بهرهبرداری از پردازندههای چند هستهای بسیار مفید است و میتواند عملکرد برنامههای شما را بهبود بخشد.
مفهوم اولیه
در پایتون، کتابخانهی multiprocessing ابزارهای لازم برای اجرای چند فرآیندی را فراهم میکند. این کتابخانه به شما امکان میدهد تا از فرآیندهای جداگانه برای اجرای وظایف مختلف استفاده کنید.
مثال کد
import multiprocessing
import time
def worker(num):
"""فرآیند نمونه ای که فقط یک عدد را چاپ میکند."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
توضیحات:
1. ایمپورت کتابخانهی multiprocessing:
import multiprocessing
import time
2. تعریف تابع worker:
این تابع ساده، یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند و سپس به مدت ۲ ثانیه توقف میکند.
def worker(num):
print(f'Worker: {num}')
time.sleep(2)
3. ایجاد و شروع فرآیندها:
در بلوک
if __name__ == '__main__':
، ما پنج فرآیند ایجاد کرده و آنها را با استفاده از start()
آغاز میname if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
4. منتظر ماندن برای اتمام فرآیندها:
با استفاده از
join()
، ما مطمئن میشویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیدهاند.for p in processes:
p.join()
نکات مهم
1. به اشتراکگذاری دادهها:
کتابخانهی
multiprocessing
ابزارهایی مانند Queue
, Pipe
, Manager
برای به اشتراکگذاری دادهها بین فرآیندها فراهم میکند.2. امنیت و مدیریت منابع:
اطمینان حاصل کنید که فرآیندها منابع سیستم را به درستی مدیریت میکنند و از مشکلاتی مانند مصرف بیش از حد حافظه جلوگیری کنید.
3. استفاده از CPU های چند هستهای:
چند فرآیندی به شما امکان میدهد از قدرت پردازشی چند هستهای بهره ببرید و برنامههای خود را سریعتر اجرا کنید.
نتیجهگیری
چند فرآیندی در پایتون ابزاری قدرتمند برای بهبود کارایی برنامهها است. با استفاده از کتابخانهی
multiprocessing
، میتوانید به راحتی وظایف مختلف را به فرآیندهای جداگانه محول کنید و از توان پردازشی سیستم خود به بهترین نحو استفاده کنید.این تکنیک میتواند به شما کمک کند تا برنامههای پیچیده و زمانبر خود را بهینه کنید و عملکرد بهتری را تجربه کنید. 🎉
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #Programming #ParallelComputing
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2
استفاده از پردازش چند هستهای CPU در پایتون
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
با استفاده از
مثال پیشرفته: استفاده از
برای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
با استفاده از
مثال پیشرفتهتر: استفاده از
کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
با استفاده از
استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #ConcurrentProgramming #ParallelComputing #ProgrammingTips
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
multiprocessing
ایجاد میکنیم که چندین وظیفه را همزمان اجرا کند.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
multiprocessing.Process
، پنج فرآیند ایجاد میکنیم و آنها را با استفاده از start()
آغاز میکنمنتظر ماندن برای اتمام فرآیندهاآیندها**:با استفاده از
join()
، مطمئن میشویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیدهاند.مثال پیشرفته: استفاده از
Pool
برای مدیریت وظایفبرای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
Pool
استفاده کرد. این روش به شما امکان میدهد که تعداد ثابتی از فرآیندها را ایجاد کرده و وظایف را بیکد:ید.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with multiprocessing.Pool(processes=4) as pool:
pool.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
worker
**:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
Pool
**:با استفاده از
multiprocessing.Pool
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.مثال پیشرفتهتر: استفاده از
concurrent.futures
برای مدیریت وظایفکتابخانهی
concurrent.futures
یکی دیگر از ابزارهای پایتون برای مدیریت پردازشهای همزمان است. این کتابخانه برای سادهتر کردن استفاده کد: طراحی شده است.کد:
from concurrent.futures import ProcessPoolExecutor
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with ProcessPoolExecutor(max_workers=4) as executor:
executor.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
concurrent.futures
و time
:این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
ProcessPoolExecutor
**:با استفاده از
ProcessPoolExecutor
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
multiprocessing
و concurrent.futures
، میتوان وظایف مختلف را به طور همزمان اجرا کرد و از توان پردازشی سیستم به بهترین نحو استفاده کرد.🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Multiprocessing #ConcurrentProgramming #ParallelComputing #ProgrammingTips
👍2
نکتهای جالب در مورد متغیرها در پایتون که کمتر کسی میداند
پایتون از روش مقادیر تعویض پذیر در سطح داخلی برای بهینهسازی حافظه استفاده میکند. این بدان معناست که برخی از اشیاء در پایتون، مانند رشتهها و اعداد صحیح کوچک، به صورت خودکار به اشتراک گذاشته میشوند. این ویژگی باعث میشود که دو متغیر مختلف که به یک مقدار کوچک و یا یکسان اشاره میکنند، در واقع به یک شیء در حافظه اشاره کنند. 😲
مثال:
در اینجا، مقدار
توضیحات:
- تعویضپذیری اعداد کوچک:
پایتون اعداد صحیح کوچک را به صورت داخلی به اشتراک میگذارد (معمولاً اعداد بین -5 تا 256).
- اشتراک رشتهها:
رشتههای کوتاه و ثابت نیز به صورت خودکار به اشتراک گذاشته میشوند.
این رفتار میتواند در بهینهسازی حافظه و همچنین درک بهتر از نحوه مدیریت حافظه در پایتون کمک کند.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Variables #MemoryManagement #ProgrammingTips #LearningPython
پایتون از روش مقادیر تعویض پذیر در سطح داخلی برای بهینهسازی حافظه استفاده میکند. این بدان معناست که برخی از اشیاء در پایتون، مانند رشتهها و اعداد صحیح کوچک، به صورت خودکار به اشتراک گذاشته میشوند. این ویژگی باعث میشود که دو متغیر مختلف که به یک مقدار کوچک و یا یکسان اشاره میکنند، در واقع به یک شیء در حافظه اشاره کنند. 😲
مثال:
a = 256
b = 256
print(a is b) # خروجی: True
c = 257
d = 257
print(c is d) # خروجی: False
در اینجا، مقدار
256
در هر دو متغیر a
و b
به یک شیء در حافظه اشاره میکنند، اما مقدار 257
اینگونه نیست.توضیحات:
- تعویضپذیری اعداد کوچک:
پایتون اعداد صحیح کوچک را به صورت داخلی به اشتراک میگذارد (معمولاً اعداد بین -5 تا 256).
- اشتراک رشتهها:
رشتههای کوتاه و ثابت نیز به صورت خودکار به اشتراک گذاشته میشوند.
این رفتار میتواند در بهینهسازی حافظه و همچنین درک بهتر از نحوه مدیریت حافظه در پایتون کمک کند.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Variables #MemoryManagement #ProgrammingTips #LearningPython
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
آموزش سانسور کردن و بازگرداندن سانسور یک قسمت از عکس با پایتون 📸✨
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب OpenCV یاد میگیریم که چگونه این کار را انجام دهیم. 🌟
نصب کتابخانههای مورد نیاز 📦
ابتدا باید کتابخانهی OpenCV را نصب کنید. اگر هنوز نصب نکردهاید، با اجرای دستور زیر در محیط ترمینال یا CMD میتوانید این کار را انجام دهید:
کد نمونه برای سانسور کردن یک قسمت از عکس 🖼️🔒
در این مثال، یک قسمت از عکس را محو (blur) میکنیم:
🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با
- تعیین ناحیه: ناحیهای که میخواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص میکنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده میکنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش میدهیم.
کد نمونه برای بازگرداندن ناحیه اصلی 🌈🔓
در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین میکنیم:
🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری میکنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین میکنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش میدهیم.
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #OpenCV #ImageProcessing #Coding #Tutorial
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب 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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2❤1
🖤🌹 تسلیت عاشورای حسینی 🌹🖤
یا حسین مظلوم... 🥀
باز این چه شورش است که در خلق عالم است
باز این چه نوحه و چه عزا و چه ماتم است
محرم که میآید، دلمان با یاد حسین (ع) و یاران وفادارش آرام میگیرد و اشکهایمان همچون رودخانهای بیانتها جاری میشوند. 💔
یا حسین، نام تو مرهم دلهای دردمند است و یاد تو، آرامشبخش جانهای خسته. 🙏
🔸دریغا که روز عاشورا، روزی که آسمان و زمین بر مظلومیت تو گریستند، روزی که خیل عشاق در کنار تو به ابدیت پیوستند، فرا رسید.🔸
🌹ای حسین (ع)، تو ای سید الشهدا، خون پاک تو و یاران باوفایت، درس آزادگی و شرف را به ما آموخت.🌹
✨در این روزهای سوگواری، با تمام دلهایمان تسلیت میگوییم و آرزو میکنیم که راه تو را ادامه دهیم و پیام تو را زنده نگه داریم.✨
نوای حزین ما، سلامی است به شهدای کربلا:
"ای اهل حرم میر و علمدار نیامد،
سقای حسین سید و سالار نیامد." 🕊
اللهم عجل لولیک الفرج ✨
یا حسین مظلوم... 🥀
باز این چه شورش است که در خلق عالم است
باز این چه نوحه و چه عزا و چه ماتم است
محرم که میآید، دلمان با یاد حسین (ع) و یاران وفادارش آرام میگیرد و اشکهایمان همچون رودخانهای بیانتها جاری میشوند. 💔
یا حسین، نام تو مرهم دلهای دردمند است و یاد تو، آرامشبخش جانهای خسته. 🙏
🔸دریغا که روز عاشورا، روزی که آسمان و زمین بر مظلومیت تو گریستند، روزی که خیل عشاق در کنار تو به ابدیت پیوستند، فرا رسید.🔸
🌹ای حسین (ع)، تو ای سید الشهدا، خون پاک تو و یاران باوفایت، درس آزادگی و شرف را به ما آموخت.🌹
✨در این روزهای سوگواری، با تمام دلهایمان تسلیت میگوییم و آرزو میکنیم که راه تو را ادامه دهیم و پیام تو را زنده نگه داریم.✨
نوای حزین ما، سلامی است به شهدای کربلا:
"ای اهل حرم میر و علمدار نیامد،
سقای حسین سید و سالار نیامد." 🕊
اللهم عجل لولیک الفرج ✨
❤7👍2👎1
آموزش ساخت برنامه تبدیل متن به گفتار (Text-to-Speech) با پایتون 🗣️💻
در این آموزش، نحوهی ساخت یک برنامه تبدیل متن به گفتار (Text-to-Speech) با استفاده از زبان برنامهنویسی پایتون و کتابخانهی gTTS را به شما آموزش میدهیم. این برنامه میتواند به صورت صوتی متنهای شما را بخواند و یک فایل صوتی ایجاد کند. 🎤🔊
نصب کتابخانه gTTS 📦
ابتدا باید کتابخانهی gTTS (Google Text-to-Speech) را نصب کنید. برای این کار، میتوانید از دستور زیر در محیط ترمینال یا CMD استفاده کنید:
کد نمونه برای تبدیل متن به گفتار 📝🔊
در این مثال، متن دلخواه شما به زبان انگلیسی به فایل صوتی تبدیل میشود:
🔍 توضیحات:
- وارد کردن کتابخانهها: ابتدا کتابخانههای gTTS و os را وارد میکنیم.
- تعریف متن: متنی که میخواهید به گفتار تبدیل شود را در متغیری ذخیره کنید.
- ایجاد شیء gTTS: یک شیء از کلاس gTTS ایجاد میکنیم و متن و زبان مورد نظر را به آن میدهیم.
- ذخیره فایل صوتی: فایل صوتی را با فرمت mp3 ذخیره میکنیم.
- پخش فایل صوتی: با استفاده از دستور os.system فایل صوتی را پخش میکنیم.
تنظیمات پیشرفته 🛠️✨
میتوانید زبان، سرعت گفتار و سایر تنظیمات را نیز تغییر دهید:
🔍 توضیحات:
- تغییر زبان: زبان گفتار را میتوانید با تغییر مقدار
- سرعت گفتار: با تنظیم مقدار
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #TextToSpeech #gTTS #Coding #Tutorial
در این آموزش، نحوهی ساخت یک برنامه تبدیل متن به گفتار (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
آموزش ساخت یک ماشین حساب با رابط کاربری ساده با استفاده از Tkinter ✨
در این آموزش، نحوهی ساخت یک ماشین حساب ساده با استفاده از کتابخانهی Tkinter در پایتون را به شما آموزش میدهیم. این پروژه مناسب برای مبتدیانی است که میخواهند با مفاهیم پایهای رابط کاربری (GUI) و برنامهنویسی شیءگرا در پایتون آشنا شوند. 🌟
نصب Tkinter
Tkinter به طور پیشفرض با نصب پایتون ارائه میشود، بنابراین نیازی به نصب جداگانهی آن ندارید.
کد ماشین حساب
در این مثال، یک ماشین حساب ساده با قابلیت جمع، تفریق، ضرب و تقسیم ساخته میشود.
توضیحات کد 📜
- تعریف کلاس Calculator: کلاس Calculator شامل متدهای مختلفی است که رابط کاربری و عملکرد ماشین حساب را مدیریت میکنند.
- ایجاد ویجتها: ویجتهای مختلفی از جمله Entry برای نمایش نتیجه و دکمهها برای ورودی اعداد و عملیاتها ایجاد میشوند.
- متد on_button_click: این متد برای مدیریت کلیک دکمهها استفاده میشود. اگر دکمهی '=' فشرده شود، عملیات محاسباتی انجام میشود و نتیجه نمایش داده میشود. اگر دکمهی 'C' فشرده شود، ورودی پاک میشود.
🔻برای بیشتر یاد گرفتن بیا اینجا
### #پایتون #برنامهنویسی #آموزش #ماشین_حساب #رابط_کاربری #Tkinter
در این آموزش، نحوهی ساخت یک ماشین حساب ساده با استفاده از کتابخانهی Tkinter در پایتون را به شما آموزش میدهیم. این پروژه مناسب برای مبتدیانی است که میخواهند با مفاهیم پایهای رابط کاربری (GUI) و برنامهنویسی شیءگرا در پایتون آشنا شوند. 🌟
نصب Tkinter
Tkinter به طور پیشفرض با نصب پایتون ارائه میشود، بنابراین نیازی به نصب جداگانهی آن ندارید.
کد ماشین حساب
در این مثال، یک ماشین حساب ساده با قابلیت جمع، تفریق، ضرب و تقسیم ساخته میشود.
import tkinter as tk
class Calculator:
def __init__(self, root):
self.root = root
self.root.title("Simple Calculator")
self.root.geometry("400x500")
self.result_var = tk.StringVar()
self.create_widgets()
def create_widgets(self):
result_entry = tk.Entry(self.root, textvariable=self.result_var, font=('Arial', 24), bd=10, insertwidth=2, width=14, borderwidth=4)
result_entry.grid(row=0, column=0, columnspan=4)
buttons = [
'7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+'
]
row_val = 1
col_val = 0
for button in buttons:
tk.Button(self.root, text=button, padx=20, pady=20, font=('Arial', 18), command=lambda btn=button: self.on_button_click(btn)).grid(row=row_val, column=col_val)
col_val += 1
if col_val > 3:
col_val = 0
row_val += 1
def on_button_click(self, char):
if char == '=':
try:
result = str(eval(self.result_var.get()))
self.result_var.set(result)
except:
self.result_var.set("Error")
elif char == 'C':
self.result_var.set("")
else:
current_text = self.result_var.get()
new_text = current_text + str(char)
self.result_var.set(new_text)
if __name__ == "__main__":
root = tk.Tk()
calc = Calculator(root)
root.mainloop()
توضیحات کد 📜
- تعریف کلاس Calculator: کلاس Calculator شامل متدهای مختلفی است که رابط کاربری و عملکرد ماشین حساب را مدیریت میکنند.
- ایجاد ویجتها: ویجتهای مختلفی از جمله Entry برای نمایش نتیجه و دکمهها برای ورودی اعداد و عملیاتها ایجاد میشوند.
- متد on_button_click: این متد برای مدیریت کلیک دکمهها استفاده میشود. اگر دکمهی '=' فشرده شود، عملیات محاسباتی انجام میشود و نتیجه نمایش داده میشود. اگر دکمهی 'C' فشرده شود، ورودی پاک میشود.
🔻برای بیشتر یاد گرفتن بیا اینجا
### #پایتون #برنامهنویسی #آموزش #ماشین_حساب #رابط_کاربری #Tkinter
👍4