Python3
200 subscribers
99 photos
6 videos
26 files
517 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
🚀 آموزش کتابخانه TurboGears 🚀

سلام دوستان! امروز می‌خوایم با هم نگاهی به کتابخانه‌ی TurboGears بندازیم. 🤓

🎯 TurboGears چیست؟
TurboGears یک فریم‌ورک قدرتمند برای توسعه وب با زبان پایتون هست که به شما اجازه می‌ده به راحتی اپلیکیشن‌های وب بسازید. 🌐🐍

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

pip install tg.devtools

🚀 ساخت پروژه جدید
برای ایجاد یک پروژه جدید، از دستور زیر استفاده کنید:

gearbox quickstart myproject

این دستور یک پروژه جدید به نام myproject ایجاد می‌کنه. 📁

🔥 اجرای سرور توسعه
برای اجرای سرور توسعه، به دایرکتوری پروژه بروید و دستور زیر رو اجرا کنید:

gearbox serve

حالا می‌تونید به آدرس | https://127.0.0.1:8080 | برید و پروژه‌ی خودتون رو ببینید. 🌐🚀

🛠️ ساخت یک کنترلر ساده
در TurboGears، کنترلرها بخش اصلی پردازش درخواست‌ها هستند. یک کنترلر ساده به این شکل ساخته می‌شه:

from tg import expose, TGController

class RootController(TGController):
@expose()
def index(self):
return "سلام دنیا!"

این کنترلر به درخواست‌های (https://127.0.0.1:8080 ) پاسخ می‌ده و "سلام دنیا!" رو نمایش می‌ده. 🌟

📚 منابع بیشتر
برای یادگیری بیشتر می‌تونید به مستندات رسمی TurboGears مراجعه کنید: [مستندات TurboGears] 📖

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

(اموزش کتابخانه های پایتون تو کانال ما)

#TurboGears #Python #WebDevelopment #پایتون #توسعه_وب
👍1
🚀 ساخت برنامه‌ی اعلام ساعت با پایتون و Flask 🚀

سلام دوستان! امروز می‌خوایم با هم یک برنامه ساده‌ی اعلام ساعت با استفاده از پایتون و Flask بسازیم. 🐍

🎯 Flask چیست؟
Flask یک میکرو فریم‌ورک سبک برای توسعه وب با پایتون است که بسیار ساده و قابل انعطاف است. 🌐

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

pip install Flask

🚀 ساخت برنامه‌ی اعلام ساعت
یک فایل جدید به نام app.py بسازید و کد زیر رو در اون قرار بدید:

from flask import Flask
from datetime import datetime

app = Flask(__name__)

@app.route('/')
def time():
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
return f"زمان فعلی: {current_time}"

if __name__ == '__main__':
app.run(debug=True)

این کد یک وب‌سرور ساده راه‌اندازی می‌کنه که زمان فعلی رو در صفحه اصلی نمایش می‌ده. 🌐

🔥 اجرای برنامه
برای اجرای برنامه، به دایرکتوری که فایل app.py رو ساختید برید و دستور زیر رو اجرا کنید:

python app.py

حالا می‌تونید به آدرس https://127.0.0.1:5000 برید و زمان فعلی رو ببینید. 🌟

📚 منابع بیشتر
برای یادگیری بیشتر می‌تونید به مستندات رسمی Flask مراجعه کنید: [مستندات Flask]📖

(کانال ما)

#Flask #Python #WebDevelopment #پایتون #توسعه_وب #اعلام_ساعت
👍2
(معرفی Django) 🌐

مقدمه:
Django یک فریم‌ورک وب سطح بالا برای زبان برنامه‌نویسی پایتون است که به توسعه‌دهندگان کمک می‌کند تا سریع‌تر و آسان‌تر برنامه‌های وب قدرتمند بسازند. این فریم‌ورک بر اساس الگوی طراحی Model-View-Template (MVT) بنا شده است و بسیاری از ویژگی‌های ضروری برای ساخت وب‌سایت‌ها و برنامه‌های وب پیچیده را به صورت از پیش ساخته شده فراهم می‌کند.

توضیح کلی از Django:
Django توسط یک تیم توسعه‌دهنده در روزنامه Lawrence Journal-World در سال 2003 ساخته شد و در سال 2005 به صورت عمومی منتشر گردید. از آن زمان تا کنون، این فریم‌ورک به یکی از محبوب‌ترین و پرکاربردترین فریم‌ورک‌های وب در دنیای پایتون تبدیل شده است. Django با تمرکز بر قابلیت استفاده مجدد، مقیاس‌پذیری و امنیت، ابزاری قدرتمند برای ساخت وب‌سایت‌ها و برنامه‌های وب با عملکرد بالا ارائه می‌دهد.

یکی از ویژگی‌های برجسته Django، ارائه یک پنل مدیریتی آماده و قابل تنظیم است که توسعه‌دهندگان می‌توانند به راحتی از آن برای مدیریت داده‌ها و کاربران خود استفاده کنند. علاوه بر این، Django با داشتن یک ORM (Object-Relational Mapping) قدرتمند، امکان تعامل با پایگاه داده‌ها را به شیوه‌ای ساده و موثر فراهم می‌سازد.

فواید:
1. سرعت توسعه بالا: Django با ارائه ابزارهای آماده و کتابخانه‌های متعدد، فرآیند توسعه وب‌سایت‌ها و برنامه‌های وب را تسریع می‌کند.
2. امنیت بالا: Django بسیاری از مشکلات امنیتی رایج مانند SQL Injection، Cross-Site Scripting و Cross-Site Request Forgery را به صورت پیش‌فرض پوشش می‌دهد.
3. مقیاس‌پذیری: برنامه‌های ساخته شده با Django به راحتی قابلیت مقیاس‌پذیری و پاسخگویی به ترافیک‌های بالا را دارند.
4. جامعه فعال: Django دارای جامعه بزرگی از توسعه‌دهندگان است که به صورت فعال به بهبود و توسعه آن کمک می‌کنند.

معایب:
1. یادگیری دشوار برای مبتدیان: به دلیل تعداد زیاد قابلیت‌ها و ابزارهای موجود، ممکن است یادگیری Django برای مبتدیان کمی پیچیده باشد.
2. انعطاف‌پذیری کمتر نسبت به فریم‌ورک‌های کوچکتر: برخی از توسعه‌دهندگان ممکن است احساس کنند که Django در برخی موارد انعطاف‌پذیری لازم را ندارد و استفاده از فریم‌ورک‌های کوچکتر و ساده‌تر را ترجیح دهند.

برای دریافت آموزش‌ها و نکات بیشتر در زمینه برنامه‌نویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱

#Django #WebDevelopment #Python #Programming #TechCommunity #LearnToCode
👍2
🌟 آموزش کامل ماژول Dash در پایتون 🌟

📊 Dash چیست؟
Dash یک فریمورک متن‌باز است که توسط Plotly توسعه داده شده و برای ساختن داشبوردهای وب تعاملی با استفاده از پایتون طراحی شده است. این فریمورک به شما اجازه می‌دهد تا داده‌های خود را به صورت بصری و تعاملی به نمایش بگذارید. 🚀

🔧 نصب Dash
برای نصب Dash کافیست از pip استفاده کنید:
pip install dash

🛠️ ساختار کلی یک اپلیکیشن Dash
یک اپلیکیشن Dash از دو بخش اصلی تشکیل شده است:
1. Layout: برای تعیین چیدمان و محتوای اپلیکیشن
2. Callbacks: برای اضافه کردن تعاملات و به‌روزرسانی‌های پویا

📄 کد نمونه ساده
در این مثال، یک اپلیکیشن Dash ساده که شامل یک ورودی و یک متن خروجی است را مشاهده می‌کنید:

import dash
from dash import html, dcc
from dash.dependencies import Input, Output

# ایجاد اپلیکیشن Dash
app = dash.Dash(__name__)

# تعیین چیدمان اپلیکیشن
app.layout = html.Div([
html.H1("عنوان داشبورد"),
dcc.Input(id='my-input', value='متن اولیه', type='text'),
html.Div(id='my-output')
])

# تعریف callback برای به‌روزرسانی خروجی
@app.callback(
Output('my-output', 'children'),
[Input('my-input', 'value')]
)
def update_output(input_value):
return f'شما وارد کردید: {input_value}'

# اجرای سرور
if __name__ == '__main__':
app.run_server(debug=True)

🖼️ نمایش داده‌ها و گراف‌ها
Dash به راحتی امکان نمایش داده‌ها و گراف‌ها را با استفاده از کتابخانه‌هایی مثل Plotly فراهم می‌کند. برای نمایش یک نمودار خطی ساده، می‌توانید از کد زیر استفاده کنید:

import dash
from dash import dcc, html
import plotly.express as px
import pandas as pd

# داده‌های نمونه
df = pd.DataFrame({
"X": [1, 2, 3, 4, 5],
"Y": [10, 11, 12, 13, 14]
})

# ایجاد اپلیکیشن Dash
app = dash.Dash(__name__)

# تعیین چیدمان اپلیکیشن
app.layout = html.Div([
html.H1("نمودار خطی با Plotly"),
dcc.Graph(
figure=px.line(df, x="X", y="Y", title="نمودار خطی")
)
])

# اجرای سرور
if __name__ == '__main__':
app.run_server(debug=True)

💡 کاربردهای پیشرفته
- ایجاد داشبوردهای تعاملی: با استفاده از Input و Output می‌توانید تعاملات پیچیده را بین کاربران و داشبورد خود پیاده‌سازی کنید.
- استفاده از انواع چارت‌ها: Dash از انواع مختلفی از نمودارها و چارت‌ها پشتیبانی می‌کند که می‌توانید از آن‌ها برای نمایش داده‌های خود استفاده کنید.
- سفارشی‌سازی ظاهر: با استفاده از CSS می‌توانید ظاهر داشبورد خود را به دلخواه تغییر دهید.

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

🔻بیا اینجا آموزش ببینی نه اینکه گی بشی🔻

#Python #Dash #DataVisualization #WebDevelopment #Plotly
👍3
🌟 آموزش ساخت داشبورد پیشرفته با ماژول Dash 🌟

🚀 پروژه پیشرفته: داشبورد تحلیل داده‌های فروش 🚀

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

🔧 نصب بسته‌های مورد نیاز
برای شروع، مطمئن شوید که بسته‌های زیر را نصب کرده‌اید:
pip install dash pandas plotly

📊 ساختار پروژه
در این پروژه، داشبورد شامل موارد زیر است:
1. نمودار فروش ماهانه
2. نمودار مقایسه‌ای فروش بر اساس منطقه
3. فیلتر برای انتخاب منطقه و نمایش داده‌های مربوطه

📝 کد پروژه پیشرفته
import dash
from dash import dcc, html
from dash.dependencies import Input, Output
import pandas as pd
import plotly.express as px

# داده‌های نمونه
df = pd.DataFrame({
'ماه': ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه'],
'فروش': [200, 250, 300, 275, 350],
'منطقه': ['شمال', 'جنوب', 'شرق', 'غرب', 'شمال']
})

# ایجاد اپلیکیشن Dash
app = dash.Dash(__name__)

# تعیین چیدمان اپلیکیشن
app.layout = html.Div([
html.H1("داشبورد تحلیل داده‌های فروش"),

html.Div([
dcc.Dropdown(
id='region-dropdown',
options=[{'label': region, 'value': region} for region in df['منطقه'].unique()],
value='شمال'
)
], style={'width': '50%', 'padding': '10px'}),

dcc.Graph(id='monthly-sales-graph'),
dcc.Graph(id='region-sales-comparison')
])

# Callback برای به‌روزرسانی نمودار فروش ماهانه
@app.callback(
Output('monthly-sales-graph', 'figure'),
Input('region-dropdown', 'value')
)
def update_monthly_sales(selected_region):
filtered_df = df[df['منطقه'] == selected_region]
fig = px.bar(filtered_df, x='ماه', y='فروش', title=f'فروش ماهانه در منطقه {selected_region}')
return fig

# Callback برای به‌روزرسانی نمودار مقایسه‌ای فروش بر اساس منطقه
@app.callback(
Output('region-sales-comparison', 'figure'),
Input('region-dropdown', 'value')
)
def update_region_comparison(selected_region):
fig = px.bar(df, x='منطقه', y='فروش', title='مقایسه فروش بر اساس منطقه')
return fig

# اجرای سرور
if __name__ == '__main__':
app.run_server(debug=True)

🔍 توضیحات کد
- Dropdown: برای انتخاب منطقه از میان گزینه‌های موجود.
- Graphs: دو نمودار:
- نمودار فروش ماهانه: نمایش فروش ماهانه برای منطقه انتخابی.
- نمودار مقایسه‌ای: مقایسه فروش بر اساس مناطق مختلف.
- Callbacks: به‌روزرسانی نمودارها بر اساس انتخاب کاربر از Dropdown.

💡 نکات پیشرفته
- استفاده از داده‌های واقعی: شما می‌توانید به جای داده‌های نمونه از دیتابیس‌ها یا فایل‌های CSV استفاده کنید.
- سفارشی‌سازی بیشتر: با استفاده از CSS و ویژگی‌های Dash، ظاهر داشبورد را به دلخواه تغییر دهید.
- تعاملات پیچیده: با استفاده از callbacks‌های بیشتر و کامپوننت‌های مختلف، تعاملات پیچیده‌تری بسازید.

🔗 پیشنهادات برای ادامه
- پشتیبانی از چندین نمودار: می‌توانید نمودارهای بیشتری را اضافه کنید و آن‌ها را به تعاملات مختلف مرتبط کنید.
- استفاده از توابع و ابزارهای تحلیلی: می‌توانید توابع محاسباتی پیچیده‌تری را اضافه کنید و نتایج را در داشبورد نمایش دهید.

موفق باشید و از پروژه‌های خود لذت ببرید! 🌟

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

#Python #Dash #DataVisualization #WebDevelopment #Plotly #AdvancedDashboard
👍3👎1
🟢 4 خبر مهم Python امروز 🟢

1. انتشار Python 3.13 RC2
نسخه آزمایشی دوم Python 3.13 منتشر شد. این نسخه تمرکز ویژه‌ای بر بهبود عملکرد و امکانات جدید زبان دارد. همچنین، سیستم مدیریت خطا در این نسخه تقویت شده است و قبل از انتشار نسخه نهایی قابل تست است.
⚙️ #Python3 #RC2 #PerformanceBoost

2. معرفی ابزار مدیریت وابستگی‌های جدید به نام uv
ابزار جدید uv که توسط تیم سازنده Ruff ساخته شده است، به عنوان یک جایگزین سریع‌تر و قوی‌تر برای ابزارهای مدیریت پکیج پایتون مثل pip معرفی شد. این ابزار که با زبان Rust نوشته شده، سرعت بسیار بیشتری دارد و در حال تبدیل شدن به یک استاندارد جدید برای توسعه‌دهندگان پایتون است.
⚡️ #uv #PythonTools #RustPowered

3. نتایج نظرسنجی 2023 توسعه‌دهندگان پایتون
نظرسنجی امسال نشان می‌دهد که توسعه وب و علم داده همچنان محبوب‌ترین حوزه‌های استفاده از پایتون هستند. همچنین افزایش علاقه به خودکارسازی و هوش مصنوعی در میان توسعه‌دهندگان پایتون به چشم می‌خورد.
📊 #PythonSurvey #WebDevelopment #DataScience

4. اعلام برنامه‌های PyCon US 2024
برنامه کامل کنفرانس PyCon 2024 که در پیتسبورگ برگزار خواهد شد، اعلام شد. این کنفرانس با ثبت تعداد بی‌سابقه‌ای از پیشنهادات سخنرانی و حضور سخنرانان کلیدی، در ماه می برگزار خواهد شد.
🎤 #PyConUS2024 #PythonCommunity #KeynoteSpeakers

(اینجا کلیک کن تا بیشتر بدونی)

#پایتون #اخبار_پایتون #مدیریت_پکیج #هوش_مصنوعی #PyCon
👍2