codepedia
5.67K subscribers
1.54K photos
943 videos
625 files
881 links
💞 هدف این کانال آموزش رایگان برنامه نویسی💥
↩️دوره های موجود رو از دست ندید😍
❌️اینجا‌منبع کتاب های برنامه‌نویسی نامبروانههه🥳
Download Telegram
10کتاب ارزشمند اما رایگان پایتون
1. Think Python

❯ v2 (PDF)

❯ v3 (HTML)

2. Exploring Python Basics

Publisher: Manning

https://www.manning.com/books/exploring-python-basics

3. Clean Code in Python
Publisher: Packt
https://packtpub.com/free-ebook/clean-code-in-python/9781788835831

4. Automate the Boring Stuff with Python
Publisher: No Starch Press

https://automatetheboringstuff.com

5. The Hitchhiker's Guide to Python
Publisher: O'Reilly

https://docs.python-guide.org/

6. Explore Data with Python
Publisher: Manning

https://www.manning.com/books/exploring-data-with-python

7. Learn More Python 3 The Hard Way
https://learncodethehardway.org/more-python-book/

8. The Big Book of Small Python Projects
https://inventwithpython.com/bigbookpython/

9. The Recursive Book of Recursion
https://inventwithpython.com/recursion/

10. Python beyond the Basics
https://inventwithpython.com/beyond/


#Python #DataScience
#MachineLearning #AI


🆔 @code_pedia
🔥5👍4
🐍 نکات و ترفندهای پایتون

امروز با ۴ تکنیک کاربردی #پایتون آشنا می‌شوید که کدهایتان را حرفه‌ای‌تر می‌کند:

🔄 تعویض مقادیر بدون متغیر موقت

a, b = 10, 20
a, b = b, a # حالا a=20 و b=10

📋 چک کردن چند شرط به زیبایی

color = "red"
if color in ["red", "blue", "green"]:
print("رنگ معتبر است")

🔤 اتصال رشته‌ها با کارایی بالا

words = ["Python", "Tips", "Tricks"]
result = " ".join(words) # "Python Tips Tricks"

🎯 بازیابی آخرین عنصر لیست با چسبندگی

numbers = [1, 2, 3, 4, 5]
last = numbers[-1] # 5
two_last = numbers[-2:] # [4, 5]

نکته طلایی: از enumerate برای دریافت ایندکس و مقدار همزمان استفاده کنید:

for idx, value in enumerate(["a", "b", "c"]):
print(f"ایندکس: {idx}, مقدار: {value}")

#Python #Programming #CodingTips #PythonTricks

🆔@code_pedia
4🔥2
🐍 نکات و ترفندهای پایتون

با ۴ تکنیک کاربردی دیگر پایتون آشنا شوید:

🌀 چک کردن یک شرط در تمامی عناصر لیست
numbers = [2, 4, 6, 8]
all_even = all(x % 2 == 0 for x in numbers) # True


🔄 چرخش و برعکس کردن رشته‌ها
text = "Python"
reversed_text = text[::-1] # "nohtyP"


💡 استفاده از get() برای دیکشنری‌ها
data = {"name": "Ahmed", "age": 25}
city = data.get("city", "قاهره") # "قاهره"


🔢 تولید اعداد تصادفی با seed ثابت
import random
random.seed(42)
print(random.randint(1, 100)) # همیشه یک عدد ثابت


نکته طلایی:** از zip برای پیمایش همزمان چند لیست استفاده کنید:
names = ["Ali", "Sara"]
ages = [25, 30]
for name, age in zip(names, ages):
print(f"{name}: {age} سال")


#Python #Programming #CodingTips #PythonTricks

🆔@code_pedia
1👌1
🐍 آنچه در پایتون ۳.۱۴ جدید است

پایتون ۳.۱۴ با بهبودهای عملکردی و قابلیت‌های جدید ارائه شده است:

بهبودهای عملکرد:
•سرعت اجرای کلی ۵-۱۰٪ افزایش یافته
•بهینه‌سازی مدیریت حافظه
•بهبود عملکرد ماژول‌های استاندارد

🆕 ویژگی‌های جدید زبان:
•سینتکس پیشرفته برای pattern matching
•قابلیت‌های جدید نوع‌دهی (Type Hints)
•بهبود مدیریت خطاها

📚 کتابخانه استاندارد:
•اضافه شدن ماژول graphlib برای کار با گراف
•بهبودهای asyncio برای برنامه‌نویسی ناهمگام
•اضافه شدن توابع کمکی جدید در itertools

🔧 تغییرات مهم:

· حذف برخی ماژول‌های منسوخ شده
· تغییرات در APIهای قدیمی
· به روزرسانی ماژول‌های امنیتی

💡 نکات مهاجرت:
•تست کامل کدهای موجود قبل از ارتقا
•بررسی تغییرات ماژول‌های استفاده شده
•به روزرسانی نوع‌دهی‌ها

این نسخه بر بهبود عملکرد و توسعه‌پذیری متمرکز است.

#Python #Python314 #Programming #WhatsNew #Coding

🆔@code_pedia
👍51🔥1
💌 چالش هفتگی: من به دوستم یک نامه فرستادم!

یک چالش برنامه‌نویسی جالب برای تقویت مهارت‌های کدنویسی:

🎯 هدف چالش:
برنامه‌ای بنویسید که یک نامه عاشقانه قدیمی را به صورت دیجیتال تولید کند

🛠 تکنیک‌های مورد استفاده:
- تولید متن تصادفی
- قالب‌بندی خروجی
- کار با تاریخ و زمان
- مدیریت رشته‌ها

💡 مثال خروجی:
عزیزم،
امروز 20 مهر 1403 است
و من همچنان تو را
به یاد می‌آورم...


🚀 سطح: مبتدی - متوسط

#CodingChallenge #Programming #BeginnerFriendly #Python

🆔@code_pedia
3👍2
🎲 کاربردهای ماژول Random در پایتون

ماژول random پایتون برای تولید اعداد و انتخاب‌های تصادفی:

🔧 کاربردهای عملی:

• تولید عدد تصادفی

import random
print(random.randint(1, 100)) # عدد بین ۱ تا ۱۰۰

• انتخاب تصادفی از لیست

colors = ["قرمز", "آبی", "سبز"]
print(random.choice(colors)) # انتخاب یک رنگ

• ترتیب تصادفی لیست

cards = ["A", "K", "Q", "J"]
random.shuffle(cards) # برزدن کارت‌ها

• نمونه‌گیری تصادفی

sample = random.sample(range(100), 5)  # ۵ عدد غیرتکراری

🎯 کاربردهای واقعی:

· شبیه‌سازی و بازی‌ها
· تست نرم‌افزار با داده تصادفی
· تقسیم داده برای یادگیری ماشین
· امنیت (توکن‌ها و کلیدها)

#Python #Random #Programming #Coding

🆔@code_pedia
👍2
🐍 نکات و ترفندهای پایتون - روز سوم

۴ تکنیک کاربردی دیگر برای حرفه‌ای شدن در پایتون:

🌀 ادغام دیکشنری‌ها (Python 3.9+)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged = dict1 | dict2 # {'a': 1, 'b': 2, 'c': 3, 'd': 4}


🔄 چرخش لیست با سرعت
my_list = [1, 2, 3, 4, 5]
rotated = my_list[-2:] + my_list[:-2] # [4, 5, 1, 2, 3]


💡 فشرده کردن دو لیست به دیکشنری
keys = ["name", "age", "city"]
values = ["Ali", 25, "Tehran"]
data = dict(zip(keys, values)) # {'name': 'Ali', 'age': 25, 'city': 'Tehran'}


🎯 فیلتر کردن None از لیست
data = [1, None, "hello", None, 42]
cleaned = list(filter(None, data)) # [1, 'hello', 42]


نکته طلایی: استفاده از any() و all() برای چک کردن شرایط:
numbers = [0, 1, 2, 3]
print(any(numbers)) # True (حداقل یک مقدار True)
print(all(numbers)) # False (همه مقادیر True نیستند)


#Python #Programming #CodingTips #PythonTricks

🆔@code_pedia
👍1
❄️ فریز کردن اپلیکیشن‌های پایتون: راهنمای کامل

فریز کردن (Freezing) تبدیل اسکریپت‌های پایتون به فایل‌های اجرایی مستقل است.

🎯 ابزارهای محبوب فریز کردن:

• PyInstaller - ساده و چندپلتفرمه

pyinstaller --onefile script.py

• cx_Freeze - قابل تنظیم و سبک

cxfreeze script.py --target-dir dist

• PyOxidizer - مدرن و پرسرعت

pyoxidizer build

🛠️ مزایای فریز کردن:

· اجرا بدون نیاز به نصب پایتون
· توزیع آسان بین کاربران
· محافظت از سورس کد (نسبی)

نکات مهم:

· تست روی سیستم‌عامل هدف
· مدیریت فایل‌های استاتیک
· بهینه‌سازی حجم فایل نهایی

#Python #Packaging #Freezing #PyInstaller #Development

🆔@code_pedia
4
🐍 پایتون ۳.۱۴ و پایان GIL: انقلابی در برنامه‌نویسی موازی

پایتون ۳.۱۴ با حذف Global Interpreter Lock (GIL) تحول بزرگی ایجاد می‌کند:

🎯 GIL چیست؟

· قفلی که اجرای همزمان تردها در پایتون را محدود می‌کرد
· مانع اصلی استفاده از چندین هسته CPU
· دلیل کندی برنامه‌های multi-threaded

تاثیرات حذف GIL:

· اجرای واقعی موازی تردها
· استفاده کامل از چندین هسته پردازنده
· بهبود عملکرد برنامه‌های CPU-intensive

🛠️ مثال عملی:

import threading
import time

def task():
# حالا واقعاً موازی اجرا می‌شود!
pass

# اجرای همزمان روی چندین هسته
threads = []
for i in range(4):
t = threading.Thread(target=task)
threads.append(t)
t.start()

💡 مزایای کلیدی:

· سرعت بالاتر برای محاسبات سنگین
· رقابت بهتر با Rust, Go, C++
· امکان پردازش موازی واقعی در Data Science

#Python #GIL #Multithreading #Performance #DataScience

🆔@code_pedia
👍4