en
Feedback
PyCoders (پایتون)

PyCoders (پایتون)

Open in Telegram

◇ #پایتون جادوگر دنیای برنامه نویسی! ◇ معرفی حوزه های کاری پایتون ◇ معرفی کتابخونه های کاربردی ◇ معرفی دوره های مفید ◇ معرفی تکنیک ها و نکات ◇ نقشه راه حوزه های مختلف ◇ اخبار و آپدیت های پایتون ◇ و هر چیزی در مورد پایتون! ■ گروه پایتون: @programmers_py

Show more
4 115
Subscribers
No data24 hours
-97 days
-1730 days
Posts Archive
🚨 آخرین فرصت ثبت‌نام با تخفیف ویژه | دوره فرانت‌اند (مقدماتی) با عرض سلام و تسلیت خدمت همه‌ی دوستان بابت اتفاقات چند هفته اخ
🚨 آخرین فرصت ثبت‌نام با تخفیف ویژه | دوره فرانت‌اند (مقدماتی) با عرض سلام و تسلیت خدمت همه‌ی دوستان بابت اتفاقات چند هفته اخیر 🖤 و آرزوی سلامتی برای همه شما و بهتر شدن حال هممون 💚 به‌دلیل شرایط اخیر و اختلال‌های اینترنت، 📅 شروع دوره به پنج‌شنبه ۲۳ بهمن منتقل شد. همچنین با توجه به شرایط اقتصادی سخت این روزها تسهیلات ویژه ای هم در نظر گرفتیم برای شما 🤍 که امیدواریم بتونیم کمی کمک حال شما باشیم. ⏳ ثبت‌نام در حال تکمیل شدنه و 👉 فقط چند ظرفیت باقی مونده 🔥 تخفیف محدود و زمان‌دار: 💸 تخفیف ویژه فقط تا امشب، ساعت ۲۴ چهارشنبه ۲۲ بهمن ماه 💳 امکان پرداخت اقساطی 📌 امکانات دوره: - آموزش اصولی مبانی فرانت‌اند (HTML، CSS، JavaScript) - پروژه واقعی + تمرین عملی - منتورینگ فردی (۱ ساعت برای هر نفر در هفته) - شبیه‌سازی مصاحبه - استفاده حرفه‌ای از هوش مصنوعی (AI & LLMs) - امکان همکاری در پروژه‌ها و دوره‌های آینده برای افراد برتر 📩 برای پرسش سوالات، ثبت‌نام و استفاده از تخفیف: 👉 تلگرام: @hamedkhanaki_dev 🌐 اطلاعات کامل دوره: learnwithhamed.vercel.app

🔸 زندگی کوتاهه، از پایتون استفاده کن! 🐍 @python_rd
🔸 زندگی کوتاهه، از پایتون استفاده کن! 🐍 @python_rd

🔸 ترفندهای پایتون 🔅نکته DataClass برای کلاس‌های تمیز دیگه نیازی نیست init و repr بنویسی؛ خودش می‌سازه.
from dataclasses import dataclass

@dataclass
class User:
    name: str
    age: int
✔️ 70٪ کد کمتر ✔️ خوانایی بیشتر 🐍 @python_rd

🔅 اندازه فایل یا فولدر رو با پایتون بگیر
import os

print(os.path.getsize("file.txt"), "bytes")
🐍 @python_rd

🔸 ترفندهای پایتون 🔅بعد از try از else و finally غافل نشو کد تمیزتر و منطقی‌تر:
try:
    x = 10 / num
except ZeroDivisionError:
    print("Cannot divide by zero!")
else:
    print("No error, result:", x)
finally:
    print("Finished")
✔️ در واقع else فقط وقتی اجرا می‌شود که ارور نباشد ✔️ اما finally همیشه اجرا می‌شود 🐍 @python_rd

🔸 ترفندهای پایتون 🔅مدیریت state در async با ContextVar در FastAPI و برنامه‌های async خیلی کاربردیه.
from contextvars import ContextVar

request_id = ContextVar("request_id", default=None)
✔️ نگه‌داشتن state بدون مشکلات همزمانی 🐍 @python_rd

🔸 مسیر Machine Learning با پایتون 🤖 رودمپ یادگیری ماشین با پایتون 1) پایتون علمی NumPy، Pandas، Matplotlib، Scikit-learn. 2) ریاضیات لازم مشتق، ماتریس، وکتور، جبرخطی، آمار. 3) الگوریتم‌های ML Regression، SVM، Decision Tree، RandomForest، KMeans. 4) مدل‌سازی و ارزیابی Train/Test، Cross Validation، Metrics مثل F1، ROC. 5) یادگیری عمیق PyTorch یا TensorFlow → CNN، RNN، Transformers. 6) و MLOps ساده Model Serving، FastAPI، Docker. 7) مهندسی داده مقدماتی ETL، Pipelines، Feature Store. 8) پروژه‌ها طبقه‌بندی تصاویر، تحلیل متن، پیش‌بینی سری زمانی. 🐍 @python_rd

🔅 کد دانلود صفحه وب
import requests

url = "https://example.com"
response = requests.get(url)

print(response.text[:500])  # نمایش 500 کاراکتر اول
📌 کاربرد: Scraping / گرفتن HTML یک سایت 🐍 @python_rd

🔸 ترفندهای پایتون 🔅استفاده از enumerate و zip به شکلی حرفه‌ای برای مدیریت چند لیست و اندیس همزمان:
for i, (a, b) in enumerate(zip([1,2,3], [4,5,6])):
    print(i, a, b)
✔️ کاهش کدهای بی‌خود ✔️ حلقه‌های تمیز 🐍 @python_rd

🔸 ترفندهای پایتون 🔅بهینه‌سازی حافظه با slots اگر میلیون‌ها آبجکت می‌سازی، این گزینه نجاتت می‌دهد.
class User:
    __slots__ = ("name", "age")
    def __init__(self, name, age):
        self.name = name
        self.age = age
✔️ مصرف RAM کمتر ✔️ سرعت بیشتر آبجکت‌ها 🐍 @python_rd

♥️ رسم قلب با پایتون 🐍 @python_rd

✨ از زیبایی و قدرت پایتون هر چقد بگم کمه 🐍 @python_rd

🔸 ترفندهای پایتون 🔅نکته Type Hints حرفه‌ای برای خوانایی و کاهش باگ در واقع Type Hintها باعث خوانایی بهتر و جلوگیری از باگ‌ها می‌شود—مخصوصاً در پروژه‌های بزرگ.
def process(items: list[str]) -> dict[str, int]:
    return {item: len(item) for item in items}
✔️ برای تیم‌ها و پروژه‌های بزرگ ضروریه 🐍 @python_rd

✨ پایتون برای همه چیز! 🐍 @python_rd
✨ پایتون برای همه چیز! 🐍 @python_rd

مسیر DevOps با Python ⚙️ رودمپ DevOps Engineer با محوریت پایتون 1) پایه پایتون Script نویسی، فایل‌ها، subprocess، CLI ساختن. 2) لینوکس + Bash دستورات، Permission، Cron، SSH. 3) داکر + کانتینرها Image، Container، Dockerfile، Compose. 4) و CI/CD GitHub Actions، GitLab CI، Jenkins. 5) و Cloud Providers AWS / GCP / Azure → EC2، S3، IAM. 6) شبکه و امنیت DNS، Load Balancing، Firewall، Secrets. 7) اتوماسیون با Python Ansible، Fabric، Invoke، Automation Scripts. 8) پروژه‌ها Pipeline ساخت، Deployment اتوماتیک، مانیتورینگ ساده. 🐍 @python_rd

✨ فقط نگاه کن🔥 🐍 @python_rd

🔸 ترفندهای پایتون 🔅استفاده از pathlib به جای os.path pathlib مسیرها را مثل آبجکت مدیریت می‌کند و کد خواناتر و تمیزتر می‌شود.
from pathlib import Path

p = Path("data") / "users" / "info.json"
print(p.exists())
✔️ مدیریت مسیر راحت‌تر ✔️ وابسته به سیستم‌عامل نیست 🐍 @python_rd

✨ کد کامل بازی Pac-Man ساده اول پکیج زیر رو نصب کنید:
pip install pygame
حالا میریم سراغ کد:
import pygame
import random

pygame.init()

WIDTH, HEIGHT = 600, 400
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Pac-Man (Simple Version)")

FPS = 60
clock = pygame.time.Clock()

# Colors
YELLOW = (255, 255, 0)
BLACK = (0, 0, 0)
RED   = (255, 0, 0)
WHITE = (255, 255, 255)

# Pac-man setup
pac_size = 20
pac_x, pac_y = WIDTH // 2, HEIGHT // 2
pac_speed = 4

# Ghost setup
ghost_size = 20
ghost_x, ghost_y = random.randint(0, WIDTH), random.randint(0, HEIGHT)
ghost_speed = 2

# Food
food_size = 8
foods = [(random.randint(10, WIDTH-10), random.randint(10, HEIGHT-10)) for _ in range(20)]
score = 0

# Movement variables
dx, dy = 0, 0

running = True
while running:
    clock.tick(FPS)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        # movement
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                dx, dy = -pac_speed, 0
            elif event.key == pygame.K_RIGHT:
                dx, dy = pac_speed, 0
            elif event.key == pygame.K_UP:
                dx, dy = 0, -pac_speed
            elif event.key == pygame.K_DOWN:
                dx, dy = 0, pac_speed

    # Update pacman
    pac_x += dx
    pac_y += dy

    # Boundary check
    pac_x = max(0, min(WIDTH - pac_size, pac_x))
    pac_y = max(0, min(HEIGHT - pac_size, pac_y))

    # Move ghost
    if pac_x > ghost_x: ghost_x += ghost_speed
    if pac_x < ghost_x: ghost_x -= ghost_speed
    if pac_y > ghost_y: ghost_y += ghost_speed
    if pac_y < ghost_y: ghost_y -= ghost_speed

    # Eating food
    new_foods = []
    for fx, fy in foods:
        if abs(pac_x - fx) < pac_size and abs(pac_y - fy) < pac_size:
            score += 1
        else:
            new_foods.append((fx, fy))
    foods = new_foods

    WIN.fill(BLACK)

    # Draw pacman
    pygame.draw.circle(WIN, YELLOW, (pac_x, pac_y), pac_size)

    # Draw ghost
    pygame.draw.rect(WIN, RED, (ghost_x, ghost_y, ghost_size, ghost_size))

    # Draw food
    for fx, fy in foods:
        pygame.draw.circle(WIN, WHITE, (fx, fy), food_size)

    # Display score
    font = pygame.font.SysFont(None, 30)
    img = font.render(f"Score: {score}", True, WHITE)
    WIN.blit(img, (10, 10))

    # Check collision with ghost
    if abs(pac_x - ghost_x) < pac_size and abs(pac_y - ghost_y) < pac_size:
        font = pygame.font.SysFont(None, 50)
        over = font.render("GAME OVER!", True, WHITE)
        WIN.blit(over, (WIDTH//2-120, HEIGHT//2-20))
        pygame.display.update()
        pygame.time.delay(2000)
        running = False

    pygame.display.update()

pygame.quit()
برای اجرا با ترمینال باید:
python pacman.py
🔸 با کلیدهای جهت‌دار حرکت می‌کنی 🔸 امتیاز جمع می‌کنی 🔸 اگر روح بهت بخوره Game Over میشی 🐍 @python_rd

✨ بازی سنگ، کاغذ، قیچی یا Rock-Paper-Scissors
"""
Rock - Paper - Scissors
Python 3.x
"""

import random

def main():
    print("✂️ سنگ - کاغذ - قیچی ✂️")
    choices = ["سنگ", "کاغذ", "قیچی"]

    while True:
        print("\nانتخاب کن:")
        print("1 = سنگ")
        print("2 = کاغذ")
        print("3 = قیچی")

        move_str = input("عدد انتخابت؟ ")

        if not move_str.isdigit():
            print("❌ فقط عدد وارد کن.")
            continue

        move = int(move_str)
        if move not in [1, 2, 3]:
            print("❌ عدد باید 1، 2 یا 3 باشد.")
            continue

        player = choices[move - 1]
        computer = random.choice(choices)

        print(f"تو: {player}   |   کامپیوتر: {computer}")

        # تعیین برنده
        if player == computer:
            print("🤝 مساوی!")
        elif (player == "سنگ" and computer == "قیچی") or \
             (player == "کاغذ" and computer == "سنگ") or \
             (player == "قیچی" and computer == "کاغذ"):
            print("🏆 تو بردی!")
        else:
            print("🤖 کامپیوتر برد!")

        again = input("دوباره بازی کنیم؟ (y/n): ").strip().lower()
        if again != "y":
            print("🌟 بازی تمام شد! مرسی که بازی کردی.")
            break

if __name__ == "__main__":
    main()
با دوستاتون بازی کنید و لذتشو ببرین🫶🏻❤️ 🐍 @python_rd

🔸 مسیر Data Scientist 🧬 رودمپ دانشمند داده با پایتون 1) پایتون برای داده NumPy، Pandas، Matplotlib، Seaborn, Polars. 2) آمار و احتمال Mean، Variance، Distributionها، Hypothesis Testing. 3) پاکسازی و پردازش داده‌ها Null values، Outliers، Feature Engineering. 4) یادگیری ماشین Scikit-learn → Classification، Regression، Clustering. 5) مصورسازی داده‌ها Plotly، Seaborn، Dash. 6) یادگیری SQL Queryها، Joinها، Window Functions. 7) ابزارهای واقعی Jupyter، Git، Docker. 8) پروژه‌ها تحلیل دیتاست، پیش‌بینی قیمت، مدل طبقه‌بندی، داشبورد تعاملی. 🐍 @python_rd