✔️ مثال ساده از ماژول datetime - نمایش تاریخ و ساعت فعلی
from datetime import datetime
# دریافت تاریخ و ساعت فعلی
now = datetime.now()
print("تاریخ و ساعت فعلی:")
print(now.strftime("%Y-%m-%d %H:%M:%S"))
ویژگیهای کلیدی
- نمایش فرمتهای مختلف تاریخ/ساعت
- محاسبه اختلاف بین دو تاریخ
- پشتیبانی از تقویم شمسی
کاربردهای سریع
- لاگگیری زمان رویدادها
- مدیریت مهلتهای پروژه
- برنامههای
#datetime | @learnpythonicy
> *برای تاریخ شمسی میتوانید از کتابخانه jdatetime استفاده کنید.*
✔️ مثال ساده از ماژول os - مدیریت فایلها و پوشهها
import os
# لیست تمام فایلهای دایرکتوری فعلی
files = os.listdir()
print("فایلهای موجود:")
for file in files:
print(file)
# ساخت پوشه جدید
os.mkdir("پوشه_جدید")
print("\nپوشه جدید ساخته شد!")
کاربردهای اصلی:
- مدیریت فایلهای سیستم
- تغییر مسیر دایرکتوری کار
- اجرای دستورات
نکته
- برای حذف فایل: os.remove("فایل.txt")
- برای بررسی وجود فایل: os.path.exists("فایل.txt")
> این ماژول برای اتوماسیون کارهای سیستمی عالی است!
✔️ تولید اعداد تصادفی در پایتون با ۷ روش حرفهای!
برای تولید اعداد تصادفی در پایتون، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ماژول random پایه
import random
print(random.random()) # عدد اعشاری بین 0 تا 1
2️⃣ محدوده عددی
print(random.randint(1, 100)) # عدد صحیح بین 1 تا 100
3️⃣ انتخاب تصادفی از لیست
items = ['a', 'b', 'c']
print(random.choice(items)) # انتخاب یک آیتم
4️⃣ نمونهگیری بدون جایگزینی
print(random.sample(range(100), 5)) # 5 عدد منحصر بفرد
5️⃣ توزیع نرمال
print(random.gauss(0, 1)) # توزیع گاوسی
6️⃣ برای نتایج تکرارپذیر
random.seed(42) # ثابت کردن نتایج تصادفی
7️⃣ ماژول secrets برای امنیت
import secrets
print(secrets.randbelow(100)) # ایمن برای رمزنگاری
🗝 روش ویژه: NumPy برای آرایههای تصادفی
import numpy as np
print(np.random.rand(3,3)) # ماتریس 3x3 تصادفی
نکات طلایی
- برای امنیت از secrets استفاده کنید
- برای علم داده از numpy.random استفاده شود
- دستور seed برای دیباگ مفید است
#PythonMagic | #random | #seed | #secrets | #numpy | @learnpythonicy
> *برای بازیها، شبیهسازیها و رمزنگاری کاربرد دارد*
🪂 سرگرمی با ماژول مخفی پایتون!
import antigravity
چه اتفاقی میافته؟
- یه صفحه وب با کمیک xkcd باز میشه
- درباره قابلیتهای جالب پایتون توضیح میده
#antigravity | @learnpythonicy
✔️ 10 Python One-Liners That Will Blow Your Mind!
1️⃣ Swap Variables
a, b = 10, 5; a, b = b, a
2️⃣ List Comprehension
squares = [x**2 for x in range(10)]
3️⃣ Lambda Function
add = lambda x, y: x + y
4️⃣ Read File
lines = [line.strip() for line in open('file.txt')]
5️⃣ Factorial
import math; fact = math.factorial(5)
6️⃣ Fibonacci Sequence
fib = lambda n: n if n <= 1 else fib(n-1) + fib(n-2)
7️⃣ Reverse String
reverse = "hello"[::-1]
8️⃣ Flatten List
flat_list = [item for sublist in [[1,2],[3,4]] for item in sublist]
9️⃣ Check Prime
is_prime = lambda n: all(n % i != 0 for i in range(2, int(n**0.5)+1))
🔟 Web Server
python -m http.server 8000
> *Warning: Don't overuse them in production code!*
@LearnPythonIcy
دوستان،
در این شرایط خاص، مراقب خودتان باشید.❤️
- اگر انرژی کم دارید، طبیعی است:)
- اگر تمرکز ندارید، تقصیر شما نیست=)
- اگر کارایی سابق را ندارید، خودتان را سرزنش نکنید;)
به یاد داشته باشید:
"این روزها هم گذراست...
و شما تنها نیستید."
#مراقب_همدیگر_باشیم
✔️ ساختار داده درخت به زبان ساده
درخت چیست؟
یک ساختار داده سلسله مراتبی شبیه درخت واقعی است که از:
- گرهها (Nodes): خانههای حاوی داده
- یالها (Edges): خطوط اتصال بین گرهها
چرا درخت مهمه؟
- نمایش دادههای سلسله مراتبی مثل:
- ساختار فایلها در کامپیوتر 📂
- نمودار سازمانی شرکت 👨💼
- رابطه والد-فرزند در دیتابیس 🗄
- پایهی الگوریتمهای پیشرفته
- سرعت بالا در جستجو و مرتبسازی
انواع اصلی درخت
1️⃣ درخت دودویی (Binary Tree)
- هر گره حداکثر ۲ فرزند: چپ و راست
class Node:
def init(self, data):
self.left = None
self.right = None
self.data = data
2️⃣ درخت جستجوی دودویی (BST)
- مقدار فرزند چپ < والد < فرزند راست
- جستجو مثل بازی "حدس عدد":
def search(root, target):
if not root: return False
if root.data == target: return True
if target < root.data:
return search(root.left, target)
return search(root.right, target)
3️⃣ درخت AVL
- نسخهی متعادلشدهی BST
- خودش رو با چرخشها متعادل میکنه ⚖️
مثال کاربردی: سیستم فایل
📁 Documents/
├── 📁 Projects/
│ ├── 📄 report.pdf
│ └── 📁 Code/
├── 📁 Images/
│ └── 🖼 photo1.jpg
└── 📄 notes.txt
چه زمانی از درخت استفاده کنیم؟
- وقتی دادهها رابطهی سلسله مراتبی دارن
- نیاز به جستجوی سریع دارید (مثل دیکشنری)
- میخواین دادهها رو به صورت مرتبشده نگه دارید
> "درختها پل بین ساختارهای خطی ساده و پایگاهدادههای پیشرفته هستند!"
✔️ ماژول typer (برای ساخت CLI حرفهای)
📌 هدف ماژول typer:
- ساخت ابزارهای Command Line (CLI) به سادگی و با Type Hints.
- جایگزین مدرن و آسان برای argparse و click.
- مناسب برای اتوماسیون، اسکریپتنویسی و برنامههای کاربردی.
هدف مثال:
- نشان میدهد چطور با ۴ خط کد یک CLI تعاملی بسازید!
- آموزش استفاده از آرگومانهای اجباری/اختیاری و Type Hints.
#typer | @LearnPythonIcy
✔️ مثال کاربردی با ماژول
toml🔹 کاربرد اصلی ماژول
tomlماژول
tomlدر پایتون برای کار با فایلهای پیکربندی با فرمت TOML طراحی شده است. فرمت TOML (مخفف *Tom's Obvious Minimal Language*) یک فرمت خوانا برای انسان و ماشین است که مخصوصاً برای فایلهای تنظیمات محبوب است. 🔸 مقایسه با JSON/YAML: - خوانایی بالاتر نسبت به JSON (مخصوصاً برای دادههای پیچیده). - سادهتر از YAML (بدان پیچیدگیهای فاصله و تو رفتگی). - استاندارد جدید پایتون برای تنظیمات پروژهها. 🔹 چرا TOML بهتر از JSON برای تنظیمات؟ - پشتیبانی از کامنت (برخلاف JSON). - نیاز به کوتیشن کمتر (مثلاً برای کلیدها). - خوانایی نزدیک به زبان طبیعی.