هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار
2.66K subscribers
21 photos
14 videos
5 files
65 links
Download Telegram
#آموزش #پایتون
‌
🧾 خروجی تمیز با f-string، بدون کد اضافه
🟢 سطح: ساده
‌
خیلی وقت‌ها عدد رو درست حساب می‌کنیم ولی بد چاپش می‌کنیم: 1250000 به‌جای 1,250,000 یا 0.8734 به‌جای 87.3%. توی f-string کافیه بعد از اسم متغیر یک : بذاری و قالب رو بنویسی:
‌
price = 1250000
ratio = 0.8734
print(f"{price:,}")
print(f"{ratio:.2f}")
print(f"{ratio:.1%}")

‌
خروجی:
‌
1,250,000
0.87
87.3%

‌
▫️ قالب :, عدد رو سه‌رقم‌سه‌رقم جدا می‌کنه.
▫️ قالب :.2f عدد رو با دو رقم اعشار و گردشده نشون می‌ده.
▫️ قالب :.1% عدد رو در ۱۰۰ ضرب می‌کنه، علامت درصد می‌ذاره و یک رقم اعشار نگه می‌داره.
‌
برای ستون‌بندی خروجی توی ترمینال، عرض و جهت رو بنویس؛ < یعنی چپ‌چین و > یعنی راست‌چین:
‌
items = [("apple", 3), ("kiwi", 12)]
for name, qty in items:
print(f"{name:<6}|{qty:>4}")

‌
خروجی:
‌
apple |   3
kiwi | 12

‌
اگه شماره‌ها باید طول ثابت داشته باشن (مثلاً توی اسم فایل‌ها)، با صفر پرشون کن: f"{n:03}" برای n = 7 می‌شه 007.
‌
🎁 برای دیباگ سریع، بعد از اسم متغیر = بذار تا اسم و مقدار با هم چاپ بشن (از پایتون 3.8 به بعد):
‌
user = "ali"
total = 42
print(f"{user=}, {total=}")

‌
خروجی:
‌
user='ali', total=42

‌
‌
‌———————————-
آموزش هوش مصنوعی و برنامه‌نویسی👇
@codingyar
❤16
#پاسخ_کوییز #پایتون
‌
🔔 پاسخ کوییز دیروز (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
‌
✅ جواب درست: `3`
‌
کد کوییز:
‌
count = 0
for i in range(3):
for j in range(i):
count += 1
print(count)

‌
حلقهٔ بیرونی i رو به‌ترتیب ۰ و ۱ و ۲ می‌کنه و حلقهٔ داخلی هر بار range(i) رو طی می‌کنه؛ یعنی برای ۰ هیچ دوری نمی‌زنه، برای ۱ یک دور و برای ۲ دو دور. پس count در کل ۰ + ۱ + ۲، یعنی ۳ بار، زیاد می‌شه.
‌
اشتباه رایج، جواب ۹ بود: اینکه فکر کنیم حلقهٔ داخلی هم هر بار سه دور می‌زنه. جواب ۶ هم از این‌جا میاد که خیال کنیم
   for j in 
خود i رو هم شامل می‌شه.
‌
اگه حلقهٔ داخلی به i وابسته نباشه، جواب واقعاً ۹ می‌شه:
‌
count = 0
for i in range(3):
for j in range(3):
count += 1
print(count)

‌
خروجی:
‌
9

‌
▫️ تابع
in range(3):
از ۰ شروع می‌شه و خود n رو شامل نمی‌شه؛ پس دقیقاً n دور می‌زنه.
▫️ برای ردیابی این‌جور کدها، یک جدول کوچک از مقدار i و تعداد دورهای داخلی بکش.
‌
توی تست من: پایتون 3.13.5
‌
‌
آموزش هوش مصنوعی و برنامه‌نویسی
@codingyar
❤8👍1
#خبر #هوش_مصنوعی
‌
⏱️ کش ۱۲ ساعتهٔ پرامپت در API اوپن‌ای‌آی
✨ قابلیت جدید
‌
اوپن‌ای‌آی ۲۸ مهر (۲۰ اکتبر ۲۰۲۶) گزینهٔ تازه‌ای به Responses API اضافه کرد: حالا می‌تونی بخش ثابت پرامپت (دستورها، تعریف ابزارها و متن مرجع) رو دست‌کم ۱۲ ساعت توی کش نگه داری. پیش‌فرض ۳۰ دقیقه‌ست.
‌
چرا به کار میاد:
وقتی ابتدای درخواست‌هات همیشه یکسانه، خوندن اون بخش از کش خیلی ارزون‌تر از ورودی معمولیه. ولی اگه بین دو درخواست بیشتر از نیم ساعت فاصله بیفته، کش پیش‌فرض دیگه تضمینی نیست و ممکنه دوباره با قیمت نوشتن حساب بشه. با گزینهٔ ۱۲ ساعته، ایجنت یا سرویسی که در طول روز گاه‌به‌گاه صدا زده می‌شه هم از قیمت کش استفاده می‌کنه.
‌
چطور فعالش کنیم:
این دو فیلد رو به بدنهٔ درخواست Responses API اضافه کن:
‌
{
"prompt_cache_key": "shared-workflow-v1",
"prompt_cache_options": {
"ttl": "12h"
}
}

‌
هزینه‌ها طبق مستندات رسمی:
▫️ نوشتن در کش ۳۰ دقیقه‌ای: ۱.۲۵ برابر قیمت ورودی معمولی
▫️ نوشتن در کش ۱۲ ساعته: ۲.۵ برابر قیمت ورودی معمولی
▫️ خوندن از کش در هر دو حالت یکسانه: روی بیشتر مدل‌ها ۰.۱ برابر (روی مدل GPT-6.1 Sol، ۰.۰۵ برابر)
‌
چند نکتهٔ مهم:
▫️ این گزینه فقط برای GPT-5.6 و مدل‌های جدیدتر و فقط در Responses API هست؛ مدل‌های قدیمی‌تر همچنان با prompt_cache_retention کار می‌کنن.
▫️ اگه همون بخش ثابت رو مرتب و با فاصلهٔ کمتر از نیم ساعت استفاده می‌کنی، همون پیش‌فرض 30m به‌صرفه‌تره؛ 12h برای فاصله‌های طولانیه.
▫️ می‌شه توی یک درخواست هر دو رو داشت: بخش ثابتِ کل روز با 12h و بقیهٔ متن با 30m.
‌
🔗 مستندات رسمی: https://developers.openai.com/api/docs/guides/prompt-caching
‌
‌
آموزش هوش مصنوعی و برنامه‌نویسی
@codingyar
❤5
#خبر #GitHub
‌
🔐 توکن‌های تاریخ‌دار و خودتمدیدشونده به GitHub CLI اضافه شد
‌
گیت‌هاب از نسخه 2.103.0 ابزار gh یه قابلیت جدید رو به‌صورت پیش‌نمایش عمومی منتشر کرده: توکن ورود کوتاه‌عمر می‌شه و gh خودش در پس‌زمینه تمدیدش می‌کنه. یعنی همچنان لاگین می‌مونید، ولی اگه توکن لو بره، بعد از چند ساعت بی‌اثر می‌شه.
‌
برای فعال‌کردنش با این دستور وارد بشید:
gh auth login --expiring

یا با این دستور همیشه روشنش کنید:
gh config set expiring_credentials enabled

اگه اسکریپتی دارید که خروجی دستور زیر رو ذخیره می‌کنه، از این به بعد هر بار توکن رو تازه بخونید:
gh auth token

‌
🔗 منبع رسمی:
https://github.blog/changelog/2026-10-21-github-cli-opt-in-to-expiring-auto-refreshing-oauth-tokens
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤6
#خبر #هوش_مصنوعی
‌
⚡️ اپ تازه Claude Duet از Anthropic معرفی شد
‌
آنتروپیک پیش‌نمایش تحقیقاتی Claude Duet رو باز کرده؛ یه اپ جدید که توش Claude مثل یه دستیار پیش‌قدم کار می‌کنه. هر صبح یه خلاصه کوتاه از مهم‌ترین موارد اپ‌های متصل‌تون (مثل ایمیل و تقویم) می‌فرسته، در طول روز فقط وقتی چیزی به شما نیاز داره پیام می‌ده، کارهایی که بهش می‌سپارید رو حتی وقتی نیستید ادامه می‌ده و قبل از هر اقدامی از طرف شما، اول اجازه می‌گیره.
‌
این اپ برای iOS و اندروید و روی claude.ai در دسترسه. فعلاً با ثبت‌نام در لیست انتظار، اول برای مشترک‌های Pro و Max در آمریکا فعال می‌شه و از همون سقف مصرف Claude استفاده می‌کنه.
‌
🔗 منبع رسمی:
https://claude.com/resources/articles/claude-duet
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5👍1
#خبر #هوش_مصنوعی
‌
⚡️ نسخه جدید API کلود با تغییرات مهم منتشر شد
‌
آنتروپیک نسخه 2026-10-21 از API کلود رو منتشر کرده؛ اولین نسخه رسمی از سال ۲۰۲۳. نسخه‌های اصلی جدید SDKها و ابزار خط فرمان ant هم به‌طور پیش‌فرض از همین نسخه استفاده می‌کنن. نسخه قبلی یعنی 2023-06-01 منسوخ نشده.
‌
مهم‌ترین تغییرات: پارامترهای temperature، top_p و top_k از Messages API حذف شدن و ارسالشون خطای 400 برمی‌گردونه. بلاک document داخل پیام assistant و citations داخل پیام user هم دیگه پذیرفته نمی‌شن. همچنین SDKهای جدید کلید API رو با هدر Authorization می‌فرستن، نه X-Api-Key.
‌
برای پایتون باید بسته anthropic رو به نسخه 2.0.0 ارتقا بدید:
pip install --upgrade "anthropic>=2.0.0"

‌
قبل از ارتقا کدتون رو با راهنمای مهاجرت چک کنید. داخل Claude Code هم می‌تونید از مهارت /claude-api برای به‌روزرسانی کمک بگیرید.
‌
راهنمای مهاجرت رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
🐍 پایتون ۳.۱۵ منتشر شد!
دوستان، نسخه‌ی پایدار پایتون ۳.۱۵ دقیقاً ۱۳ روز پیش، در تاریخ ۱۷ مهر ۱۴۰۵ (۹ اکتبر ۲۰۲۶) منتشر شد و هم‌زمان پشتیبانی رسمی از پایتون ۳.۱۰ تموم شد.
اما چرا می‌تونید الان با خیال راحت از پایتون ۳.۱۱ استفاده کنید؟ 🤔
چون با کنار رفتن ۳.۱۰، نسخه‌ی ۳.۱۱ قدیمی‌ترین نسخه‌ایه که هنوز پشتیبانی می‌شه. یعنی پایدار و جاافتاده‌ست و تقریباً همه‌ی کتابخونه‌ها باهاش سازگارن. پروژه‌های متن‌باز هم حالا راحت از امکانات ۳.۱۱ استفاده می‌کنن.
💡 یادتون باشه آخرین نسخه لزوماً نسخه‌ی مناسب الان نیست.
📖 چرا همیشه نباید آخرین نسخه پایتون را نصب کنیم؟ اینجا بخونید
تو پست‌های بعدی مهم‌ترین تغییرات ۳.۱۵ رو کوتاه می‌گیم 👇
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤6
⚡️ ایمپورت تنبل (Lazy Import) در پایتون ۳.۱۵

حالا می‌تونید ماژول رو «تنبل» ایمپورت کنید؛ یعنی واقعاً لود نمی‌شه تا وقتی که اولین بار ازش استفاده کنید:

lazy import json
lazy from pathlib import Path


فایده‌ش؟ برنامه‌ها و ابزارهای خط فرمان خیلی سریع‌تر اجرا می‌شن، مخصوصاً وقتی کتابخونه‌های سنگین دارن.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5
✨ باز کردن لیست‌ها داخل Comprehension

تو پایتون ۳.۱۵ می‌تونید با * چند لیست رو مستقیم داخل comprehension صاف (flat) کنید:

lists = [[1, 2], [3, 4], [5]]
print([*L for L in lists])
# [1, 2, 3, 4, 5]


برای دیکشنری‌ها هم با ** کار می‌کنه:

dicts = [{'a': 1}, {'b': 2}]
print({**d for d in dicts})
# {'a': 1, 'b': 2}


دیگه لازم نیست دو تا for تو در تو بنویسید.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar
❤5👍1
🔍 پروفایلر جدید داخل خود پایتون

پایتون ۳.۱۵ یه پروفایلر نمونه‌برداری (sampling) به اسم Tachyon داره که بدون تغییر کد، نشون می‌ده برنامه‌تون بیشتر وقتش رو کجا می‌گذرونه.

می‌تونید حتی به یه برنامه‌ی در حال اجرا وصلش کنید (عدد آخر، PID برنامه‌ست):

python -m profiling.sampling attach 1234


خروجیش هم می‌تونه گزارش متنی باشه، هم نمودار Flame Graph.

💡 پروفایلر قدیمی cProfile هم حالا اسمش profiling.tracing شده.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤4👍1
🏎 پایتون ۳.۱۵ سریع‌تره؟

نه چندان! طبق تست‌ها، سرعتش تقریباً مثل ۳.۱۴ هست.

تنها استثنا JIT آزمایشیه که تو یه تست حدود ۱.۲ برابر سرعت بیشتر داد؛ اولین باریه که JIT پایتون بهبود واقعی نشون می‌ده.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5
🛠 نصب پایتون ۳.۱۵ با uv

اگه از uv استفاده می‌کنید، با این چند دستور سریع می‌رید روی ۳.۱۵:

uv self update
uv python install 3.15
uv python pin --global 3.15


برای چک کردن نسخه:

uv run python --version

‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤3
📦 خداحافظ 3.10، سلام امکانات 3.11

با تموم شدن پشتیبانی 3.10، پروژه‌های متن‌باز حالا با خیال راحت از امکانات 3.11 استفاده می‌کنن؛ مثل:

🔸 tomllib برای خوندن فایل‌های TOML بدون نصب چیزی
🔸 asyncio.TaskGroup برای مدیریت راحت‌تر تسک‌های async
🔸 datetime.UTC به‌جای datetime.timezone.utc

import tomllib

with open("pyproject.toml", "rb") as f:
data = tomllib.load(f)

‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤3
#ترفند #هوش_مصنوعی
🧸 عکس خودتو با ChatGPT به یه فیگور سه‌بعدی کلکسیونی تبدیل کن!
کافیه یه عکس از خودت رو (ترجیحاً کنار حیوون خونگیت) به ChatGPT بدی و پرامپت زیر رو همراهش بفرستی؛ خروجی یه فیگور سه‌بعدی شیک با همون لباس‌هایی هست که توی عکس پوشیدی.
💡 به‌جای [SCENERY] پس‌زمینه‌ی دلخواهت (مثلاً a soft beige studio) و به‌جای [COLORS] رنگ‌های دلخواهت رو بنویس.
Full-body standing pose, viewed slightly from a low angle, with elongated proportions, a slightly oversized head, expressive eyes, clean sculpted forms, and a polished soft-surface 3D finish.

The character’s clothing must be faithfully based on the provided reference image. Recreate the exact outfit shown in the reference image, preserving its overall design, silhouette, proportions, layering, colors, materials, patterns, graphics, logos, seams, pockets, zippers, straps, collars, sleeves, and other visible clothing details. Do not redesign, replace, simplify, or invent a different outfit. Do not introduce new clothing elements that are not present in the reference image. If any clothing detail is partially obscured or unclear, interpret it conservatively and keep it consistent with the visible reference.

Dress the character in the same clothing and outfit shown in the reference image, translated into the stylized 3D aesthetic while preserving the original clothing identity and structure. The clothing should remain recognizable as the exact outfit from the reference rather than becoming generic or newly designed streetwear.

Add layered accessories such as headphones, straps, tags, patches, utility details, or a backpack only when they are present in the reference image or explicitly requested. Keep the outfit highly designed and cohesive without altering the core clothing from the reference.

Keep the animal clearly visible as a companion, stylized in the same world and design language. Use a controlled palette based primarily on the colors present in the reference clothing, unless [COLORS] are explicitly specified.

Place the character against a minimalist [SCENERY] background with very sparse elements, lots of negative space, and a clean premium advertisement feel. Add small fictional graphic marks or label-like details on the clothing only if they do not conflict with or replace any existing details from the reference image.

Refined, youthful, fashion-forward, elegant, slightly playful, collectible-designer-toy energy. Preserve the visual identity of the reference outfit while transforming the character into a polished stylized 3D collectible figure. 4:8

‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🔥3❤2
#خبر #هوش_مصنوعی
‌
⚡️ رابط Decisions API از OpenAI به نسخه نهایی رسید
‌
اوپن‌ای‌آی Decisions API رو برای همه توسعه‌دهنده‌ها به‌صورت رسمی (GA) منتشر کرد. این API برای تصمیم‌های کوچیک و پرتکرار داخل اپ‌ها و ایجنت‌ها ساخته شده؛ مثل دسته‌بندی متن یا تصویر، مسیریابی درخواست یا انتخاب قدم بعدی، بدون اینکه مدل یه پاسخ کامل تولید کنه. طبق اعلام OpenAI تا ۱۰ برابر سریع‌تر از GPT‑6 Luna از طریق Responses API جواب می‌ده.
‌
شما سؤال و جواب‌های مجاز رو تعریف می‌کنید و API یکی از سه نوع خروجی رو برمی‌گردونه: احتمال (predicate)، انتخاب از بین گزینه‌ها (choice) یا امتیاز (score). از زمان بتا هم ورودی JSON، تا ۴۰۰ سؤال در هر درخواست، کش پرامپت و اتصال مستقیم به GPT‑Live اضافه شده. قیمتش ۰٫۱ دلار برای هر میلیون توکن ورودیه و هزینه توکن خروجی نداره.
‌
معرفی Decisions API رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5🔥1
#خبر #هوش_مصنوعی
‌
🤖 حالت auto mode پیش‌فرض اپ‌های Claude می‌شه
‌
آنتروپیک اعلام کرد از هفته آینده، جلسه‌های جدید در بیشتر اپ‌های Claude (وب، دسکتاپ و موبایل) روی پلن‌های Pro، Max و Team به‌طور پیش‌فرض در auto mode اجرا می‌شن. این همون تغییریه که از ۱۴ آگوست در Claude Code اعمال شده بود و حالا به بقیه اپ‌ها هم می‌رسه.
‌
توی این حالت لازم نیست هر قدم رو جداگانه تأیید کنید؛ یه بررسی خودکار کارهای امن رو اجرا می‌کنه و جلوی کارهای پرخطر رو می‌گیره تا Claude راه دیگه‌ای پیدا کنه. هر وقت خواستید می‌تونید به حالت دستی برگردید. برای Enterprise، API و پلتفرم‌های ابری فعلاً اختیاریه و ادمین‌های Enterprise قبل از تغییر ایمیل می‌گیرن.
‌
جزئیات auto mode رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤4
#آموزش #جنگو
‌
⚡️ می‌دونستین get_or_create توی جنگو چیکار می‌کنه؟
‌
خیلی وقت‌ها می‌خوای یک رکورد رو از دیتابیس بگیری و اگه نبود، بسازیش. معمولاً این کار رو با try/except و DoesNotExist می‌نویسیم، ولی جنگو یک میان‌بر آماده براش داره.
‌
فرض کن مدل Tag یک فیلد name داره و مدل Profile فیلدهای email و city رو:
‌
tag, created = Tag.objects.get_or_create(name="python")
print(tag.name, created)

tag, created = Tag.objects.get_or_create(name="python")
print(tag.name, created)

print(Tag.objects.count())

‌
خروجی:
‌
python True
python False
1

‌
این متد یک تاپل دوتایی برمی‌گردونه: خود آبجکت و یک True یا False که می‌گه تازه ساخته شد یا از قبل بود. بار دوم چیزی ساخته نشد و هنوز فقط یک تگ داریم.
‌
💎 فیلدهایی که فقط موقع ساختن لازم‌ان رو توی defaults بده. این فیلدها توی جستجو استفاده نمی‌شن:
‌
p, created = Profile.objects.get_or_create(
email="ali@example.com",
defaults={"city": "Tehran"},
)
print(p.city, created)

p, created = Profile.objects.get_or_create(
email="ali@example.com",
defaults={"city": "Shiraz"},
)
print(p.city, created)

‌
خروجی:
‌
Tehran True
Tehran False

‌
بار دوم پروفایل پیدا شد، پس شهرش عوض نشد. اگه می‌خوای رکورد موجود آپدیت هم بشه، سراغ update_or_create برو:
‌
p, created = Profile.objects.update_or_create(
email="ali@example.com",
defaults={"city": "Shiraz"},
)
print(p.city, created)

‌
خروجی:
‌
Shiraz False

‌
✔️ خروجی این متدها تاپله، نه خود آبجکت. اگه created رو لازم نداری، بنویس tag, _ = ...
⚠️ طبق مستندات جنگو، جلوگیری از رکورد تکراری توی درخواست‌های هم‌زمان فقط وقتی تضمینه که فیلدهای جستجو توی دیتابیس یکتا باشن (مثلاً با unique=True). توی این مثال name و email یکتا تعریف شدن.
❌ اگه جستجو بیشتر از یک رکورد پیدا کنه، خطای MultipleObjectsReturned می‌گیری.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1