پارس‌ایکس | Parse-X
1.06K subscribers
190 photos
2 videos
2 files
103 links
آکادمی فناوری و تکنولوژی ایران؛ برآمده از جمعی از نخبگان مهندسی کامپیوتر دانشگاه خوارزمی.
ساخته شده برای ذهن هایی که آینده را می‌سازند...

⁉️پشتیبانی:
@Metanix_Admin1
Download Telegram
🎯 چالش پایتون | خروجی چیه؟ 🐍

فقط با یه نگاه جواب نده! 👀

x = [1, 2, 3]

print(x * 2)


به نظرت خروجی چیه؟


A)

[2, 4, 6]

B)

[1, 2, 3, 1, 2, 3]

C)

[1, 2, 3, 6]

D) ارور میده ❌

🔥 جواب رو قبل از اجرای کد حدس بزن!

#Python

Meta Academy 🚀
@metanix_ir
❤4
🧠 آموزش پایتون | حذف مقادیر تکراری از لیست

فرض کن یه لیست داری که داخلش چند مقدار تکراری وجود داره:

numbers = [1, 2, 2, 3, 4, 4, 5]

unique_numbers = list(set(numbers))

print(unique_numbers)


خروجی:

[1, 2, 3, 4, 5]


🔥 با تبدیل لیست به "set"، مقادیر تکراری حذف میشن.

اما یه نکته مهم! 👀

اگر ترتیب عناصر برات مهمه، بهتره از این روش استفاده کنی:

numbers = [1, 2, 2, 3, 4, 4, 5]

unique_numbers = list(dict.fromkeys(numbers))

print(unique_numbers)


خروجی:

[1, 2, 3, 4, 5]


💡 نکته:
"set" برای حذف تکراری‌ها عالیه، ولی ترتیب عناصر رو تضمین نمی‌کنه. وقتی ترتیب مهمه، "dict.fromkeys()" انتخاب بهتریه.

#Python

Meta Academy 🚀
@metanix_ir
❤6
📰 گیت هاب و آینده‌ی کدنویسی با هوش مصنوعی 🤖💻

هوش مصنوعی داره هر روز بیشتر وارد فرایند توسعه نرم‌افزار می‌شه و GitHub هم یکی از مهم‌ترین پلتفرم‌هایی هست که این تغییر رو دنبال می‌کنه.

ابزارهای AI در GitHub می‌تونن در کارهایی مثل تکمیل کد، پیشنهاد راه‌حل، پیدا کردن مشکلات و بهبود کدها به برنامه‌نویس‌ها کمک کنن.

هدف فقط نوشتن کد سریع‌تر نیست؛ بلکه اینه که توسعه‌دهنده‌ها زمان بیشتری برای حل مسئله و ساختن ایده‌های جدید داشته باشن. 🚀

به نظر می‌رسه ترکیب AI + Programming قراره بخش مهمی از آینده‌ی توسعه نرم‌افزار باشه.

#Python

Meta Academy 🚀
@metanix_ir
❤4
🐍 ترفند Python | استفاده از any() و all()

گاهی لازم داریم بررسی کنیم که حداقل یکی از شرط‌ها درست است یا همه‌ی شرط‌ها درست هستند.

به‌جای نوشتن چند شرط if، می‌توانیم از دو تابع کاربردی any() و all() استفاده کنیم:

scores = [18, 16, 20, 19]

if all(score >= 10 for score in scores):
print("All students passed!")

در این مثال، تابع all() فقط زمانی مقدار True برمی‌گرداند که تمام شرط‌ها درست باشند.

حالا اگر بخواهیم بررسی کنیم که حداقل یکی از شرط‌ها برقرار است:

scores = [18, 8, 20, 19]

if any(score < 10 for score in scores):
print("Someone failed!")


اینجا تابع any() زمانی مقدار True برمی‌گرداند که حداقل یکی از شرط‌ها درست باشد.

🔥 یک نکته حرفه‌ای‌تر:

توابع any() و all() می‌توانند با Generator Expression استفاده شوند:

all(x > 0 for x in numbers)


این روش معمولاً بهتر از ساختن لیست جدید است:

all([x > 0 for x in numbers])


چون در روش اول، لازم نیست ابتدا یک لیست جدید در حافظه ساخته شود.

📌 خلاصه:

any() ➜ درست بودن حداقل یکی از شرط‌ها

all() ➜ درست بودن تمام شرط‌ها

#Python

Meta Academy 🚀
@metanix_ir
❤7
🐍 آموزش Python | تفاوت "append()" و "extend()" چیست؟

یکی از رایج‌ترین اشتباهات برنامه‌نویس‌های تازه‌کار، استفاده اشتباه از "append()" و "extend()" است. این دو متد شبیه هم هستند، اما خروجی کاملاً متفاوتی دارند.

"append()"

یک آیتم را به انتهای لیست اضافه می‌کند.

numbers = [1, 2, 3]
numbers.append([4, 5])

print(numbers)
# [1, 2, 3, [4, 5]]


اینجا کل لیست "[4, 5]" به عنوان یک عضو جدید اضافه شده است.

"extend()"

تک‌تک عناصر یک iterable را به لیست اضافه می‌کند.

numbers = [1, 2, 3]
numbers.extend([4, 5])

print(numbers)
# [1, 2, 3, 4, 5]


این بار عناصر "4" و "5" جداگانه وارد لیست شدند.

تفاوت در یک نگاه

"append()"| "extend()"
یک آیتم اضافه می‌کند| چندین آیتم اضافه می‌کند
لیست را داخل لیست قرار می‌دهد| عناصر را باز کرده و اضافه می‌کند

جمع‌بندی: اگر می‌خواهی یک شیء را اضافه کنی از "append()" استفاده کن؛ اگر می‌خواهی محتویات یک لیست یا iterable را به لیست قبلی بچسبانی، "extend()" انتخاب درست است.


#Python

Meta Academy 🚀
@metanix_ir
❤3
🐍 ترفند حرفه‌ای پایتون | "iter()" + "lambda"

بیشتر برنامه‌نویس‌ها فایل‌های بزرگ رو اینطوری می‌خونن:

while True:
chunk = f.read(1024)
if not chunk:
break
process(chunk

)

اما یک روش حرفه‌ای‌تر و تمیزتر وجود داره:

with open("data.bin", "rb") as f:
for chunk in iter(lambda: f.read(1024), b""):
process(chunk)


چرا این ترفند خفنه؟ 🤯

- بدون "while True" و "break"
- کد خواناتر و حرفه‌ای‌تر میشه
- برای فایل‌های بزرگ حافظه کمتری مصرف می‌کنه
- توی پروژه‌های واقعی مثل پردازش ویدیو، فایل‌های حجیم و استریم داده کاربرد زیادی داره

"iter()" اینجا چه کار می‌کنه؟

"iter(callable, sentinel)" یک تابع را پشت‌سرهم اجرا می‌کند و به محض اینکه خروجی آن برابر مقدار "sentinel" شود، حلقه را متوقف می‌کند.

اینجا:

- "lambda: f.read(1024)" هر بار ۱۰۲۴ بایت می‌خواند.
- "b""" یعنی وقتی به انتهای فایل رسید، حلقه خودکار تمام می‌شود.

💡 این یکی از آن ترفندهایی است که هم کدت را تمیزتر می‌کند، هم نشان می‌دهد با قابلیت‌های کمتر شناخته‌شده پایتون آشنا هستی.

#Python

Meta Academy 🚀
@metanix_ir
❤7
# 🐍 چالش پایتون | فقط حرفه‌ای‌ها درست جواب میدن

بدون اجرای کد، حدس بزن خروجی چیه. 👇

funcs = []

for i in range(3):
funcs.append(lambda: i)

print([f() for f in funcs])
کدوم گزینه درسته؟

A)

[0, 1, 2]
B)

[2, 2, 2]

C)

[3, 3, 3]

D)

Error


فقط یکی درسته. 😏

جوابت رو تو کامنت بنویس؛ فردا دلیلش رو با یه ترفند حرفه‌ای برای رفع این مشکل منتشر می‌کنیم. 🔥

#Python

Meta Academy 🚀
@metanix_ir
👍4
🐍 اینترفیس در پایتون؛ یه قابلیت حرفه‌ای

بیشتر برنامه‌نویس‌ها فکر می‌کنن "len()" فقط برای لیست‌هاست؛ ولی نه! 😏

اگه کلاس خودت متد "len" رو داشته باشه، "len()" روی اون هم کار می‌کنه.

class Inventory:
def init(self, items):
self.items = items

def len(self):
return len(self.items)

bag = Inventory(["Laptop", "Mouse", "Keyboard"])

print(len(bag)) # 3


این یکی از Magic Methodهای پایتونه که باعث می‌شه کلاس‌هات مثل آبجکت‌های داخلی رفتار کنن.

🔥 این تازه اول ماجراست؛ "iter"، "str" و
"contains" هم از همین خانواده‌ان.



#Python

Meta Academy 🚀
@metanix_ir
🔥5
🚨 خبر تاریخی برای برنامه‌نویس‌های ایرانی

مستندات رسمی Python حالا به زبان فارسی منتشر شد! 🇮🇷🐍

بعد از سال‌ها انتظار، بنیاد Python به‌صورت رسمی نسخه فارسی مستندات این زبان را منتشر کرده است. این یعنی یکی از مهم‌ترین منابع آموزشی دنیا حالا برای میلیون‌ها فارسی‌زبان در دسترس است. <Cite ref=turn232112search0/>

چرا این خبر مهمه؟

- 📖 مستندات رسمی، مرجع اصلی یادگیری و توسعه Python است.
- 🌍 ترجمه فارسی توسط جامعه رسمی Python منتشر شده، نه یک وب‌سایت متفرقه.
- 🚀 دسترسی به آموزش استاندارد برای فارسی‌زبان‌ها راحت‌تر از همیشه شده.
- 👨‍💻 این اتفاق می‌تواند ورود برنامه‌نویس‌های جدید به اکوسیستم Python را ساده‌تر کند. <Cite ref=turn232112search0/>

این یعنی چی برای ما؟

از این به بعد، وقتی دنبال جواب یک قابلیت، تابع یا مفهوم در Python باشی، می‌توانی مستقیماً از مستندات رسمی فارسی استفاده کنی؛ همان منبعی که توسعه‌دهندگان Python هم به آن استناد می‌کنند. <Cite ref=turn232112search0/>

به نظرت این اتفاق می‌تونه یادگیری برنامه‌نویسی رو برای فارسی‌زبان‌ها متحول کنه؟ 👇



#Python

Meta Academy 🚀
@metanix_ir
❤17🔥6👏1
🚨🎮 خبر داغ دنیای برنامه‌نویسی | برای ساخت بازی شاید دیگه لازم نباشه کدنویسی بلد باشی!

تصور کن ایده‌ی بازی‌ات رو به زبان ساده توضیح بدی و هوش مصنوعی کمکت کنه اون رو به یک دنیای قابل‌بازی تبدیل کنی! 🤯

🔥 گوگل با همکاری Unity از پلتفرمی به نام Google Playground رونمایی کرده که هدفش اینه ساخت بازی رو با استفاده از توضیحات متنی ساده‌تر کنه؛ حتی برای افرادی که تجربه برنامه‌نویسی ندارن.

اما ماجرا همین‌جا تموم نمی‌شه! 👀

این همکاری نشون می‌ده مرز بین ایده‌پردازی، برنامه‌نویسی و بازی‌سازی داره تغییر می‌کنه. چیزی که قبلاً به دانش فنی و ساعت‌ها کدنویسی نیاز داشت، ممکنه در بعضی مراحل با کمک هوش مصنوعی بسیار ساده‌تر بشه.

🎯 ولی یه سؤال مهم: آیا این ابزارها قراره جای برنامه‌نویس‌ها رو بگیرن، یا فقط قدرت بیشتری بهشون بدن؟

💬 نظرت رو بنویس:
اگه می‌تونستی فقط با نوشتن یک جمله بازی خودت رو بسازی، چه بازی‌ای می‌ساختی؟ 🎮👇


#Python

Meta Academy 🚀
@metanix_ir
🐍 ترفند حرفه‌ای پایتون | جادوی :=

تا حالا فکر کردی می‌تونی هم‌زمان یه مقدار رو ذخیره کنی و ازش استفاده کنی؟ 👀

با عملگر Walrus (:=) می‌تونی این کار رو توی یک عبارت انجام بمثال:*مثال:**

numbers = [12, 25, 8, 40, 17]

if (n := len(numbers)) > 3:
print(f"تعداد اعداد: {n}")
🔥 خروجی:

تعداد اعداد: 5
اینجا := مقدار len(numbers) رو محاسبه می‌کنه، داخل n ذخیره می‌کنه و همون لحظه امکان استفاده ازش رو می‌ده!

بدون اینکه مجبور باشی دوباره len(numbers) رو صدا کجا به درد می‌خوره؟د می‌خوره؟**

وقتی می‌خوای داخل شرط‌ها، حلقه‌ها یا پردازش داده‌ها هم مقداری رو محاسبه کنی و هم از نتیجه‌اش استفاچالش:🎯 چالش: خروجی این کد چیه؟

if (x := 10 * 2) > 15:
print(x)
جوابت رو کامنت کن! 👇

#Python

PARSE-X 🚀
❤2
🐍 چالش حرفه‌ای پایتون | خروجی چیه؟

فکر می‌کنی خروجی این کد چیه؟ 👀


a = [1, 2, 3]
b = a
c = a.copy()

b.append(4)
c.append(5)

print(a)
print(b)
print(c)


🎯 بدون اجرای کد جواب بده!

جوابت رو با دلیل تو کامنت‌ها بنویس 👇

#Python

PARSE-X 🚀
❤‍🔥2
🐍 PYTHON CHALLENGE

خروجی این کد چیه؟ 👀

x = [True, 1, 1.0]

print(len(set(x)))
print(1 == True == 1.0)


⚠️ فقط دو خط خروجی داریم!

⏳ بدون اجرا کردن پایتون حدس بزن.

جوابت رو کامنت کن 👇🔥


#Python

PARSE-X 🚀
❤2
🐍 ترفند پایتون | کپی یا اتصال؟

می‌دونستی می‌تونی دو دیکشنری رو بدون حلقه با هم ادغام کنی؟ 👀

💻 روش مدرن پایتون:

user = {"name": "Kamil", "age": 20}
extra = {"age": 21, "city": "Berlin"}

result = user | extra

print(result)


📤 خروجی:

{'name': 'Kamil', 'age': 21, 'city': 'Berlin'}


🔥 نکته حرفه‌ای:
اگه کلیدی در هر دو دیکشنری وجود داشته باشه، مقدار دیکشنری سمت راست جایگزین می‌شه؛ بدون اینکه دیکشنری‌های اصلی تغییر کنن.

⚡ این قابلیت از Python 3.9 به بعد در دسترسه.

#Python

#PARSE-X
🔥4
🐍 چالش حرفه‌ای پایتون | خروجی چیه؟

a = [[]] * 3
a[0].append(7)

print(a)

🤔 خروجی کد چیه؟

A) "[[7], [], []]"
B) "[[7], [7], [7]]"
C) "[[7]]"
D) خطا می‌ده!



#Python
#PARSE-X
👍1
🐍 ترفند حرفه‌ای پایتون | مدیریت چند دیکشنری با ChainMap

با ChainMap می‌تونی چند دیکشنری رو بدون ادغام، با اولویت مشخص مدیریت کنی!

💻 مثال:

from collections import ChainMap

defaults = {"theme": "dark"}
user = {"theme": "light"}

config = ChainMap(user, defaults)

print(config["theme"])
# light



🔥 پایتون ابتدا دیکشنری اول رو بررسی می‌کنه و در صورت نبود کلید، سراغ بعدی می‌ره.

📌 کاربردی برای مدیریت تنظیمات پروژه!

#Python
#PARSE_X
👏3
🐍 ترفند حرفه‌ای پایتون | T-Strings

تا حالا اسم t-strings رو شنیدی؟

در Python 3.14 قابلیتی به نام Template Strings معرفی شده که نسخه پیشرفته‌تری از پردازش رشته‌هاست.


name = "Python"

message = t"Hello {name}!"

print(type(message))


خروجی:

<class 'string.templatelib.Template'>



🔍 تفاوت با f-string چیه؟

برخلاف f-string، این قابلیت مقادیر متغیرها رو قبل از ترکیب نهایی رشته در دسترس قرار می‌ده.

کاربردها:
- پردازش امن HTML
- ساخت سیستم‌های قالب‌بندی
- کنترل و پاک‌سازی ورودی‌ها

⚡ نکته: این قابلیت از Python 3.14 به بعد در دسترسه.

#Python
❤1👍1
🐍 چالش حرفه‌ای پایتون | Python Challenge

خروجی کد زیر چیست؟ 👀

data = {
True: "A",
1: "B",
1.0: "C",
False: "D",
0: "E"
}

print(len(data))
print(data
)


کدام گزینه خروجی صحیح است؟

🎯 فقط شماره گزینه صحیح رو انتخاب کن!

#Python
🔥2
🐍 شاید پایتون به‌زودی دو عملگر جدید داشته باشه!

🚨 در پیشنهادهای جدید Python 3.16، دو عملگر جالب مطرح شده‌اند:

🔹 "?." برای دسترسی امن به ویژگی‌های یک شیء، وقتی ممکنه مقدارش "None" باشه.

🔹 "??" برای جایگزین کردن مقدار "None" بدون تأثیر روی مقادیری مثل "0" و """".

مثلاً:

name = user_name ?? "Guest"

💡 این قابلیت‌ها هنوز در مرحله پیشنهاد هستند و به نسخه رسمی پایتون اضافه نشده‌اند.

به نظرت این عملگرها کدنویسی پایتون رو بهتر می‌کنن؟

#Python
❤2
🐍 آموزش پایتون | یک ترفند کاربردی

💡 می‌دونستی می‌تونی با "getattr()" به ویژگی‌های یک آبجکت به‌صورت داینامیک دسترسی پیدا کنی؟

مثلاً:

class User:
name = "Komeil"
age = 20

user = User()

field = "name"

print(getattr(user, field))


خروجی:

Komeil

🔥 کاربردش چیه؟
وقتی اسم ویژگی رو به‌صورت رشته (String) داری و می‌خوای در زمان اجرا بهش دسترسی پیدا کنی!

#Python
🔥3