چنل پایتون | جنگو | برنامه نویسی وب سایت
421 subscribers
292 photos
141 videos
40 files
208 links
ارتباط با مدیر:

@Amir_123_ka
Download Telegram
🎓 آموزش بهینه‌سازی استفاده از حلقه‌ها در پایتون

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

۱. استفاده از حلقه‌های for به جای while

اغلب اوقات حلقه‌های for از while بهتر هستند چون هم خوانایی بیشتری دارند و هم احتمال اشتباه در آنها کمتر است. به مثال زیر توجه کنید:

# استفاده از حلقه while
i = 0
while i < 10:
    print(i)
    i += 1

# استفاده از حلقه for
for i in range(10):
    print(i)
در اینجا حلقه‌ی for خواناتر و کوتاه‌تر است. 🧠

۲. استفاده از توابع enumerate و zip

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

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")
و وقتی که بخواهیم دو یا چند لیست را همزمان پیمایش کنیم، zip کاربردی است:

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")
۳. استفاده از list comprehensions

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

# ساختن لیستی از اعداد مربع شده
squares = [x**2 for x in range(10)]
print(squares)

# فیلتر کردن عناصر لیست
even_numbers = [x for x in range(20) if x % 2 == 0]
print(even_numbers)
۴. استفاده از توابع داخلی

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

numbers = [1, 2, 3, 4, 5]

# استفاده از حلقه for
total = 0
for number in numbers:
    total += number

# استفاده از تابع sum
total = sum(numbers)
استفاده از تابع sum ساده‌تر و کارآمدتر است. 💡

۵. جلوگیری از تغییر لیست‌ها در حین پیمایش

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

numbers = [1, 2, 3, 4, 5]

# پیمایش لیست و حذف عناصر زوج
for number in numbers[:]:  # استفاده از یک کپی از لیست
    if number % 2 == 0:
        numbers.remove(number)

print(numbers)
نتیجه‌گیری

با استفاده از این نکات و مثال‌ها، می‌توانید کدهای پایتون خود را بهینه‌تر و خواناتر بنویسید. امیدوارم این آموزش براتون مفید بوده باشه! 🌟 نظرات و سوالاتتون رو با ما به اشتراک بگذارید.



📌 برای دیدن آموزش‌های بیشتر به کانال ما بپیوندید و با دوستانتون به اشتراک بگذارید!
https://t.iss.one/programming_python_90
👏3👍1
Media is too big
VIEW IN TELEGRAM
🔸 ۱- آموزش ساخت بازی سنگ ، کاغذ و قیچی با پایتون Tkinter - قسمت اول

🐍 @Pythoni_Developers
👍3
Media is too big
VIEW IN TELEGRAM
🔸 ۲- آموزش ساخت بازی سنگ ، کاغذ و قیچی با پایتون Tkinter - قسمت دوم

🐍 @Pythoni_Developers
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🔸 ۳- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - قسمت اول

🐍 @Pythoni_Developers
👍3
Media is too big
VIEW IN TELEGRAM
🔸 ۴- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - برچسب گذاری - قسمت دوم

🐍 @Pythoni_Developers
👍2
Media is too big
VIEW IN TELEGRAM
🔸 ۵- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - ایجاد دکمه و دریافت ورودی از کاربر - قسمت سوم

🐍 @Pythoni_Developers
👍2
Media is too big
VIEW IN TELEGRAM
🔸 ۶- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - تکست و فریم - قسمت چهارم

🐍 @Pythoni_Developers
👍2
Media is too big
VIEW IN TELEGRAM
🔸 ۷- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - متد pack - قسمت پنجم

🐍 @Pythoni_Developers
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🔸 ۸- آموزش رابط کاربری گرافیکی در پایتون با Tkinter - متد place - قسمت ششم - پایانی

🐍 @Pythoni_Developers
👍2
۱۰ تا کد دیگه کار بردی

11. استفاده از اسلایدر (Scale)

import tkinter as tk

def show_value(val):
    print(scale.get())

root = tk.Tk()
scale = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL, command=show_value)
scale.pack()
root.mainloop()

12. استفاده از پنجره پاپ‌آپ (Messagebox)
import tkinter as tk
from tkinter import messagebox

def show_popup():
    messagebox.showinfo("Popup", "This is a popup message")

root = tk.Tk()
button = tk.Button(root, text="Show Popup", command=show_popup)
button.pack()
root.mainloop()

13. استفاده از بوم نقاشی (Canvas)
import tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=300)
canvas.pack()

# رسم یک خط
canvas.create_line(0, 0, 200, 100)

# رسم یک مستطیل
canvas.create_rectangle(50, 50, 150, 100, fill="blue")

root.mainloop()

14. استفاده از Spinbox
import tkinter as tk

root = tk.Tk()
spinbox = tk.Spinbox(root, from_=0, to=10)
spinbox.pack()
root.mainloop()

15. استفاده از پنجره فایل (File Dialog)
import tkinter as tk
from tkinter import filedialog

def open_file():
    file_path = filedialog.askopenfilename()
    print(file_path)

root = tk.Tk()
button = tk.Button(root, text="Open File", command=open_file)
button.pack()
root.mainloop()

16. استفاده از پیام (Message)
import tkinter as tk

root = tk.Tk()
message = tk.Message(root, text="This is a message")
message.pack()
root.mainloop()

17. استفاده از اسکرول‌بار (Scrollbar)
import tkinter as tk

root = tk.Tk()
text = tk.Text(root, height=10, width=40)
text.pack(side=tk.LEFT)

scrollbar = tk.Scrollbar(root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=text.yview)

root.mainloop()

18. استفاده از نوت‌بوک (Notebook)
import tkinter as tk
from tkinter import ttk

root = tk.Tk()
notebook = ttk.Notebook(root)
notebook.pack()

frame1 = ttk.Frame(notebook)
frame2 = ttk.Frame(notebook)

notebook.add(frame1, text="Tab 1")
notebook.add(frame2, text="Tab 2")

ttk.Label(frame1, text="Content of Tab 1").pack()
ttk.Label(frame2, text="Content of Tab 2").pack()

root.mainloop()

19. استفاده از PanedWindow
import tkinter as tk

root = tk.Tk()
panedwindow = tk.PanedWindow(root)
panedwindow.pack(fill=tk.BOTH, expand=1)

left = tk.Label(panedwindow, text="Left Pane")
panedwindow.add(left)

right = tk.Label(panedwindow, text="Right Pane")
panedwindow.add(right)

root.mainloop()

20. استفاده از Progressbar
import tkinter as tk
from tkinter import ttk

root = tk.Tk()
progress = ttk.Progressbar(root, orient="horizontal", length=200, mode="determinate")
progress.pack()

def start_progress():
    progress["value"] = 0
    progress["maximum"] = 100
    for i in range(101):
        progress["value"] = i
        root.update_idletasks()
        root.after(50)

button = tk.Button(root, text="Start", command=start_progress)
button.pack()

root.mainloop()
👍1🔥1
خوب بود؟؟
2