Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
دوستان برنامه‌نویس و کدنویس! 👩‍💻👨‍💻

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

یادتون نره:
- قبل از خواب، کدهاتون رو کامیت و پوش کنید! 📂
- لاگ‌ها و ارورها رو بذارید برای فردا، شب برای استراحت و ریکاوریه! 😴
- هر چقدر هم که باگ داشته باشه، پروژه‌تون پیشرفت کرده. همیشه به جلو حرکت کنید! 🚀

کدی که امروز نوشتیم، فردا دیباگ می‌کنیم. شب بخیر و به امید روزی پر از کدهای پاک و بی‌باگ!

#برنامه_نویسی #کدنویسی #شب_بخیر #استراحت #ریکاوری
👍5
رکورد ری‌اکشن رو بزنید 🤭
{رکورد قبلی -8-}
{رکورد جدید -11-}
👍74
صبح همتون بخیر دوستان ☕️
📚 دوره آموزش پایتون از 0 تا 100

پارت ۱۸: مدیریت حافظه و Garbage Collection در پایتون 🗑️🧠

در این پارت با مدیریت حافظه و مکانیزم Garbage Collection (GC) در پایتون آشنا می‌شویم. مدیریت حافظه یکی از مفاهیم مهم در برنامه‌نویسی است که به بهینه‌سازی عملکرد برنامه کمک می‌کند.

۱. مدیریت حافظه در پایتون 🧠

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

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

۲. Garbage Collection در پایتون 🗑️

Garbage Collection فرآیندی است که حافظه اشغال‌شده توسط اشیاء غیرقابل‌دسترسی (غیرقابل‌استفاده) را آزاد می‌کند. پایتون دارای یک garbage collector داخلی است که به طور خودکار این فرآیند را مدیریت می‌کند.

۲.۱. اصول اولیه GC

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

۲.۲. روش‌های GC در پایتون

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

۲.۳. استفاده از ماژول gc

ماژول gc در پایتون امکان کنترل و مشاهده وضعیت GC را فراهم می‌کند.

import gc

# فعال‌سازی جمع‌آوری زباله
gc.enable()

# غیر فعال‌سازی جمع‌آوری زباله
gc.disable()

# انجام یک چرخه جمع‌آوری زباله به صورت دستی
gc.collect()

# مشاهده وضعیت جمع‌آوری زباله
print(gc.get_stats())

۳. بهینه‌سازی استفاده از حافظه

برای بهینه‌سازی حافظه در برنامه‌های پایتون، می‌توانید به نکات زیر توجه کنید:

- استفاده از متغیرها و اشیاء بهینه: متغیرها و اشیائی که دیگر نیاز ندارید را آزاد کنید.
- اجتناب از ایجاد چرخه‌های مرجع: چرخه‌های مرجع باعث می‌شوند که garbage collector نتواند حافظه را آزاد کند.
- پایش و پروفایل حافظه: از ابزارهای مختلفی مانند memory_profiler برای پایش و تحلیل مصرف حافظه استفاده کنید.

from memory_profiler import profile

@profile
def my_function():
a = [i for i in range(10000)]
b = {i: i for i in range(10000)}
return a, b

if name == 'main':
my_function()

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

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

🔻آموزش های مفید بیشتر اینجاست

#پایتون #آموزش_پایتون #مدیریت_حافظه #GarbageCollection #PythonMemoryManagement #PythonProgramming
👍3
نکات پنهان پایتون 🔍🐍

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

🔍 هر روز یک نکته پنهان پایتون
- هدف: آشنایی با ویژگی‌ها و ترفندهای ناشناخته‌ی پایتون.
- فواید: افزایش مهارت‌های برنامه‌نویسی و شناخت بهتر زبان پایتون.

📋 مثال‌هایی از نکات پنهان:
1. استفاده از تابع getattr() برای دسترسی پویا به خصوصیات و متدها:

   class MyClass:
def __init__(self, value):
self.value = value

def print_value(self):
print(self.value)

obj = MyClass(10)
method_name = "print_value"
getattr(obj, method_name)() # دسترسی به متد و اجرا

2. استفاده از تابع dir() برای مشاهده تمامی خصوصیات و متدهای یک شیء:

   obj = MyClass(10)
print(dir(obj))

3. استفاده از توابع لامبدا برای ساخت توابع ناشناس:

   add = lambda x, y: x + y
print(add(3, 5)) # خروجی: 8

🎯 هدف اصلی این پست‌ها:
- آموزش نکات پنهان پایتون به صورت ساده و کاربردی.
- افزایش دانش برنامه‌نویسی و بهره‌وری در کدنویسی.

با ما همراه باشید و هر روز یک نکته‌ی جدید یاد بگیرید!

#پایتون #برنامه_نویسی #نکات_پنهان #ترفندها #کدنویسی #آموزش
👍3
یدونه
print("متن بزارید😁")

کامنت بزارید😂❤️
👍21
آموزش ساخت تصاویر متحرک با پایتون بدون استفاده از فایل‌های تصویری 📽️

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

مرحله 1: نصب کتابخانه‌های لازم 📦
قبل از هر چیز، باید کتابخانه‌های مورد نیاز رو نصب کنیم. خوشبختانه برای ساخت GIF متحرک، کتابخانه‌ی Pillow که یک کتابخانه‌ی داخلی برای کار با تصاویر هست، به کارمون میاد. برای نصب این کتابخانه، از دستور زیر استفاده کنید:

pip install pillow

مرحله 2: ایجاد تصاویر متحرک 🎨
حالا که کتابخانه‌ها نصب شدن، بریم سراغ نوشتن کد برای ایجاد تصاویر متحرک. در این مثال، ما یک دایره‌ی ساده که حرکت می‌کنه رو به صورت GIF ایجاد می‌کنیم. 🟠➡️

from PIL import Image, ImageDraw

# تنظیمات اولیه
width, height = 200, 200
frames = []

# ایجاد فریم‌ها
for i in range(20):
# ایجاد یک تصویر جدید
img = Image.new('RGB', (width, height), color='white')
draw = ImageDraw.Draw(img)

# محاسبه موقعیت دایره
x = 10 * i
y = 100

# رسم دایره
draw.ellipse((x, y, x + 20, y + 20), fill='blue')

# اضافه کردن فریم به لیست فریم‌ها
frames.append(img)

# ذخیره تصاویر به صورت GIF
frames[0].save('moving_circle.gif', save_all=True, append_images=frames[1:], duration=100, loop=0)

print("تصویر متحرک با موفقیت ایجاد شد! 🎉")

توضیحات:
1. تنظیمات اولیه: ما عرض و ارتفاع تصویر رو 200 پیکسل در نظر گرفتیم.
2. ایجاد فریم‌ها: در یک حلقه، 20 فریم برای انیمیشن ایجاد می‌کنیم. در هر فریم، یک دایره آبی در موقعیت متفاوتی رسم می‌کنیم.
3. ذخیره تصاویر به صورت GIF: در نهایت، فریم‌ها رو به صورت یک GIF ذخیره می‌کنیم. duration=100 مدت زمان نمایش هر فریم (100 میلی‌ثانیه) و loop=0 برای پخش بی‌نهایت GIF هست.

نتیجه نهایی 🎉
با اجرای کد بالا، یک فایل GIF به نام moving_circle.gif ایجاد می‌شه که می‌تونید اون رو در مرورگرتون یا هر نرم‌افزار نمایش GIF باز کنید و از انیمیشن لذت ببرید. این آموزش ساده به شما کمک می‌کنه تا پایه‌های ایجاد انیمیشن رو یاد بگیرید و پروژه‌های جالب‌تری درست کنید! 🌟

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

امیدوارم این آموزش براتون مفید باشه. برای دریافت آموزش‌های بیشتر، کانال رو دنبال کنید و نظراتتون رو با ما در میون بذارید.

📚 #پایتون #آموزش #انیمیشن #کدنویسی
👍1
شرمنده دوستات نتونستم امروز پست بزارم اینارو دیگه قبول کنید از من
👍1
آموزش ساخت یک ویرایشگر متنی (Text Editor) با پایتون 📄🖥️

یکی از پروژه‌های جذاب و کاربردی در پایتون، ساخت یک ویرایشگر متنی ساده است. در این آموزش، از کتابخانه داخلی tkinter استفاده می‌کنیم تا یک رابط کاربری گرافیکی برای ویرایش متن ایجاد کنیم. این ویرایشگر می‌تواند متن را باز، ویرایش و ذخیره کند.

مرحله 1: نصب و وارد کردن کتابخانه‌ها 📚

ابتدا باید tkinter را نصب کنید. tkinter به طور پیش‌فرض با پایتون نصب می‌شود، بنابراین نیازی به نصب جداگانه نیست.

import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox

مرحله 2: ایجاد پنجره اصلی 🖼️

یک پنجره اصلی برای ویرایشگر متنی خود ایجاد کنید.

def create_window():
window = tk.Tk()
window.title("Simple Text Editor")
window.geometry("800x600")

return window

مرحله 3: ایجاد منو 📜

یک منو برای باز کردن، ذخیره کردن و خروج از ویرایشگر ایجاد کنید.

def create_menu(window, text_widget):
def open_file():
file_path = filedialog.askopenfilename(filetypes=[("Text Files", "*.txt")])
if file_path:
with open(file_path, 'r') as file:
content = file.read()
text_widget.delete(1.0, tk.END)
text_widget.insert(tk.END, content)

def save_file():
file_path = filedialog.asksaveasfilename(defaultextension=".txt", filetypes=[("Text Files", "*.txt")])
if file_path:
with open(file_path, 'w') as file:
content = text_widget.get(1.0, tk.END)
file.write(content)

def exit_editor():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
window.destroy()

menu = tk.Menu(window)
window.config(menu=menu)

file_menu = tk.Menu(menu, tearoff=0)
menu.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="Open", command=open_file)
file_menu.add_command(label="Save", command=save_file)
file_menu.add_separator()
file_menu.add_command(label="Exit", command=exit_editor)

مرحله 4: ایجاد ویجت متنی 🖋️

یک ویجت متنی برای نوشتن و ویرایش متن ایجاد کنید.

def create_text_widget(window):
text_widget = tk.Text(window, wrap='word')
text_widget.pack(expand=1, fill='both')

return text_widget

مرحله 5: اجرای برنامه 🚀

در نهایت، تمام قطعات را به هم متصل کنید و برنامه را اجرا کنید.

if __name__ == "__main__":
window = create_window()
text_widget = create_text_widget(window)
create_menu(window, text_widget)
window.mainloop()

نتیجه‌گیری 🌟

این ویرایشگر متنی ساده می‌تواند به شما در نوشتن و ویرایش متن کمک کند. با استفاده از کتابخانه tkinter، توانستیم یک رابط کاربری ساده و کارآمد ایجاد کنیم. امیدوارم این آموزش برای شما مفید باشد!


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

#پایتون #کدنویسی #آموزش #ویرایشگر_متنی #برنامه‌نویسی
👍2
آموزش ورودی گرفتن بعد از اجرای کد بدون استفاده از input در پایتون 🖥️💡

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

روش اول: استفاده از فایل‌ها 📄

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

# ذخیره ورودی‌ها در یک فایل متنی
with open('input.txt', 'w') as file:
file.write('Hello, world!\n')
file.write('42\n')

# خواندن ورودی‌ها از فایل متنی
with open('input.txt', 'r') as file:
lines = file.readlines()

# پردازش ورودی‌ها
first_line = lines[0].strip()
second_line = int(lines[1].strip())

print(f"First Line: {first_line}")
print(f"Second Line: {second_line}")

در این کد:
1. ابتدا ورودی‌ها را در یک فایل متنی به نام input.txt ذخیره می‌کنیم.
2. سپس این فایل را باز کرده و خطوط آن را می‌خوانیم.
3. ورودی‌ها را پردازش کرده و چاپ می‌کنیم.

روش دوم: استفاده از آرگومان‌های خط فرمان 🖱️

در این روش، ورودی‌ها را از طریق آرگومان‌های خط فرمان به برنامه ارسال می‌کنیم. برای این کار، از ماژول sys استفاده می‌کنیم.

import sys

if len(sys.argv) != 3:
print("Usage: python script.py <first_input> <second_input>")
sys.exit(1)

first_input = sys.argv[1]
second_input = int(sys.argv[2])

print(f"First Input: {first_input}")
print(f"Second Input: {second_input}")

برای اجرای این کد:
1. برنامه را با آرگومان‌های مورد نظر اجرا کنید:

   python script.py "Hello, world!" 42

در این کد:
1. از ماژول sys برای دسترسی به آرگومان‌های خط فرمان استفاده می‌کنیم.
2. آرگومان‌های ورودی را بررسی کرده و پردازش می‌کنیم.
3. ورودی‌ها را چاپ می‌کنیم.

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

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

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

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

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
👇👇👇🔴همستر لیست شد🔴👇👇👇👇



یعنی باید اینجوری بکشمت اینجا ری اکشن بزنی🤦‍♂️
👍52
به غیر از پایتون چه زبان دیگه ای بلدید؟؟؟😂❤️

👇👇👇 بگید 👇👇👇
👍3
گیمر هست اینجا؟😂💔
Anonymous Poll
70%
حاضرم
22%
نه فقط برنامه نویسی
7%
نتایج
4
نکته مهم در پایتون: استفاده از Decorators

در پایتون، 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. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی

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

# روش ساده برای استفاده از کلاس‌ها در پایتون

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
👍5
سلام دوستان عزیز! 🌸

امیدوارم حال همگی خوب باشه و روزهای خوبی رو سپری کرده باشید. 🌞

اول از همه می‌خوام بابت غیبتم و عدم فعالیت طولانی‌مدت توی کانال از همتون عذرخواهی کنم. 🙏 متاسفانه به دلایل شخصی و مشغله‌های کاری نتونستم مثل گذشته با شما در ارتباط باشم و مطالب جدیدی رو به اشتراک بذارم. 💼

میدونم که خیلی از شما منتظر پست‌ها و مطالب جدید بودید و از اینکه نتونستم این انتظارات رو برآورده کنم، خیلی متاسفم. از صمیم قلب از همه شما که صبور بودید و با من همراه بودید، تشکر می‌کنم. ❤️

اما با کلی انرژی و ایده‌های جدید برگشتم تا دوباره با هم به یادگیری و اشتراک‌گذاری مطالب جذاب بپردازیم. 🎉 در روزهای آینده منتظر پست‌ها و مطالب جدید باشید. 😉

باز هم بابت تمام لطف و حمایت‌های شما ممنونم و امیدوارم بتونم جبران کنم. 🌟

با آرزوی موفقیت برای همه شما دوستان عزیز!
3👍1
📚 دوره آموزش پایتون از 0 تا 100

پارت ۱۹: شروع با 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 استفاده می‌کنیم:

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