🔸 ترفندهای پایتون
🔅استفاده از loguru برای لاگنویسی حرفهای
به جای logging استاندارد که دردسر داره، این خیلی تمیزه:
✔️ فرمت تمیز
✔️ فایلگردانی خودکار
✔️ قابل توسعه برای پروژههای بزرگ
🐍 @python_rd
🔅استفاده از loguru برای لاگنویسی حرفهای
به جای logging استاندارد که دردسر داره، این خیلی تمیزه:
from loguru import logger
logger.info("User logged in!")
✔️ فرمت تمیز
✔️ فایلگردانی خودکار
✔️ قابل توسعه برای پروژههای بزرگ
🐍 @python_rd
❤6
🔸 ترفندهای پایتون
🔅فرق copy و deepcopy
در ساختارهای تودرتو خیلی مهمه.
✔️ در واقع copy فقط سطح اول را کپی میکند
✔️ اما deepcopy کل ساختار را
🐍 @python_rd
🔅فرق copy و deepcopy
در ساختارهای تودرتو خیلی مهمه.
import copy
a = [[1, 2], [3, 4]]
b = copy.copy(a)
c = copy.deepcopy(a)
a[0][0] = 999
print(b) # تاثیر میگیرد
print(c) # تاثیر نمیگیرد
✔️ در واقع copy فقط سطح اول را کپی میکند
✔️ اما deepcopy کل ساختار را
🐍 @python_rd
❤3
🔸 مسیر 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
🧬 رودمپ دانشمند داده با پایتون
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
🔥1
✨ بازی سنگ، کاغذ، قیچی یا Rock-Paper-Scissors
با دوستاتون بازی کنید و لذتشو ببرین🫶🏻❤️
🐍 @python_rd
"""
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
🔥1
✨ کد کامل بازی Pac-Man ساده
اول پکیج زیر رو نصب کنید:
حالا میریم سراغ کد:
برای اجرا با ترمینال باید:
🔸 با کلیدهای جهتدار حرکت میکنی
🔸 امتیاز جمع میکنی
🔸 اگر روح بهت بخوره Game Over میشی
🐍 @python_rd
اول پکیج زیر رو نصب کنید:
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