Media is too big
VIEW IN TELEGRAM
تکنیک بخاطرسپاری یا Memoization توابع بازگشتی در پایتون
برای افزایش سرعت توابع بازگشتی
#پایتون #python
Group: @azad_program
Channel: @kiau_program
برای افزایش سرعت توابع بازگشتی
#پایتون #python
Group: @azad_program
Channel: @kiau_program
👌4
📌 پلیمورفیسم (Polymorphism)در برنامهنویسی شیگرا
پلیمورفیسم (چندریختی) یکی از مفاهیم مهم در برنامهنویسی شیگرا است که به ما امکان میدهد یک متد با نام یکسان در کلاسهای مختلف رفتار متفاوتی داشته باشد. این ویژگی کد ما را انعطافپذیرتر و قابل توسعهتر میکند. 🎯
📍 مثال ساده از پلیمورفیسم در پایتون:
فرض کنید دو کلاس Dog و Cat داریم که هر کدام متد sound() دارند:
با استفاده از پلیمورفیسم، میتوانیم از متد sound() بدون توجه به نوع حیوان استفاده کنیم:
🔹 در اینجا، با صدا زدن make_sound()، بسته به نوع شیء (سگ یا گربه)، صدای مناسب آن تولید میشود. این ویژگی قدرت پلیمورفیسم را نشان میدهد و به ما کمک میکند کدی سادهتر و انعطافپذیرتر داشته باشیم! 🚀
#برنامه_نویسی #شی_گرایی #پلی_مورفیسم #programmin #Polymorphism #object_oriented
Group: @azad_program
Channel: @kiau_program
پلیمورفیسم (چندریختی) یکی از مفاهیم مهم در برنامهنویسی شیگرا است که به ما امکان میدهد یک متد با نام یکسان در کلاسهای مختلف رفتار متفاوتی داشته باشد. این ویژگی کد ما را انعطافپذیرتر و قابل توسعهتر میکند. 🎯
📍 مثال ساده از پلیمورفیسم در پایتون:
فرض کنید دو کلاس Dog و Cat داریم که هر کدام متد sound() دارند:
class Dog:
def sound(self):
print("Woof Woof!")
class Cat:
def sound(self):
print("Meow Meow!")
با استفاده از پلیمورفیسم، میتوانیم از متد sound() بدون توجه به نوع حیوان استفاده کنیم:
def make_sound(animal):
animal.sound()
dog = Dog()
cat = Cat()
make_sound(dog) # خروجی: Woof Woof!
make_sound(cat) # خروجی: Meow Meow!
🔹 در اینجا، با صدا زدن make_sound()، بسته به نوع شیء (سگ یا گربه)، صدای مناسب آن تولید میشود. این ویژگی قدرت پلیمورفیسم را نشان میدهد و به ما کمک میکند کدی سادهتر و انعطافپذیرتر داشته باشیم! 🚀
#برنامه_نویسی #شی_گرایی #پلی_مورفیسم #programmin #Polymorphism #object_oriented
Group: @azad_program
Channel: @kiau_program
❤4
💻 کپسولهسازی (Encapsulation) در شیگرایی به زبان ساده
کپسولهسازی یکی از اصول مهم شیگرایی است که به شما امکان میدهد دادهها و متدها را درون یک کلاس مخفی کنید تا فقط از طریق روشهای مشخصی به آنها دسترسی داشته باشید. این ویژگی کمک میکند تا کد شما ایمنتر و ساختاریافتهتر باشد. 🎯
🔍 کپسولهسازی چیست؟
در کپسولهسازی، دادههای حساس یک شیء با قرار دادن آنها درون کلاس مخفی میشوند و تنها از طریق متدهای مشخصی میتوان به آنها دسترسی پیدا کرد. این ویژگی به شما امکان میدهد تا کنترل بهتری بر روی دادهها داشته باشید و از تغییرات غیرمجاز جلوگیری کنید.
🔑 مزایای کپسولهسازی:
- ایمنی بیشتر: از تغییرات و دسترسیهای غیرمجاز به دادهها جلوگیری میکند.
- سادگی در استفاده: کاربران کلاس فقط با متدهای عمومی (public methods) تعامل دارند و نیازی به دانستن جزئیات داخلی ندارند.
📌 مثال ساده با پایتون:
در اینجا، balance به عنوان یک متغیر خصوصی تعریف شده و تنها از طریق متدهای deposit()، withdraw() و get_balance() قابل دسترسی است.
🔒 با استفاده از کپسولهسازی، میتوانید مطمئن باشید که متغیر balance تنها از طریق متدهای خاص قابل تغییر است و از دسترسی غیرمجاز محافظت میشود.
#OOP #شی_گرایی #کپسوله_سازی #Encapsulation #پایتون #برنامه_نویسی
Group: @azad_program
Channel: @kiau_program
کپسولهسازی یکی از اصول مهم شیگرایی است که به شما امکان میدهد دادهها و متدها را درون یک کلاس مخفی کنید تا فقط از طریق روشهای مشخصی به آنها دسترسی داشته باشید. این ویژگی کمک میکند تا کد شما ایمنتر و ساختاریافتهتر باشد. 🎯
🔍 کپسولهسازی چیست؟
در کپسولهسازی، دادههای حساس یک شیء با قرار دادن آنها درون کلاس مخفی میشوند و تنها از طریق متدهای مشخصی میتوان به آنها دسترسی پیدا کرد. این ویژگی به شما امکان میدهد تا کنترل بهتری بر روی دادهها داشته باشید و از تغییرات غیرمجاز جلوگیری کنید.
🔑 مزایای کپسولهسازی:
- ایمنی بیشتر: از تغییرات و دسترسیهای غیرمجاز به دادهها جلوگیری میکند.
- سادگی در استفاده: کاربران کلاس فقط با متدهای عمومی (public methods) تعامل دارند و نیازی به دانستن جزئیات داخلی ندارند.
📌 مثال ساده با پایتون:
class BankAccount:
def __init__(self, balance):
self.__balance = balance # متغیر خصوصی
def deposit(self, amount):
if amount > 0:
self.__balance += amount
print(f"{amount} تومان به حساب اضافه شد.")
def withdraw(self, amount):
if 0 < amount <= self.__balance:
self.__balance -= amount
print(f"{amount} تومان از حساب برداشت شد.")
else:
print("موجودی کافی نیست.")
def get_balance(self):
return self.__balance
در اینجا، balance به عنوان یک متغیر خصوصی تعریف شده و تنها از طریق متدهای deposit()، withdraw() و get_balance() قابل دسترسی است.
account = BankAccount(1000)
account.deposit(500) # اضافه کردن موجودی
account.withdraw(200) # برداشت از حساب
print(account.get_balance()) # نمایش موجودی حساب
🔒 با استفاده از کپسولهسازی، میتوانید مطمئن باشید که متغیر balance تنها از طریق متدهای خاص قابل تغییر است و از دسترسی غیرمجاز محافظت میشود.
#OOP #شی_گرایی #کپسوله_سازی #Encapsulation #پایتون #برنامه_نویسی
Group: @azad_program
Channel: @kiau_program
❤1
1️⃣ ایدهپردازی
◀️ افزونه Kleo: یه افزونه که ایدههای جذاب برای پستهای لینکدین بهت میده.
◀️افزونه Tweet Hunter X: برای پیدا کردن ایدههای جالب توی پلتفرم X (همون توییتر).
◀️ابزار ChatGPT: از هوش مصنوعی کمک بگیر تا ایدههای جدید برای محتوا پیدا کنی.
◀️پلتفرم Swipely: جایی که میتونی ایدههات رو ذخیره و دستهبندی کنی.
◀️ابزار vidIQ: بهت کمک میکنه کانالت توی یوتیوب رشد کنه.
◀️وبسایت Quora: جایی که میتونی اطلاعات و نظرات تخصصی رو با بقیه به اشتراک بذاری.
2️⃣ تولید محتوا
◀️ابزار Canva: یه ابزار ساده برای طراحی گرافیک و پستهای جذاب.
◀️ابزار Grammarly: بهت کمک میکنه که نوشتههات رو از نظر نگارش بهتر کنی.
◀️وبسایت Hemmingway App: سادهسازی و خواناتر کردن نوشتهها.
◀️نرمافزار Descript: برای ویرایش راحت ویدیو و پادکستهات.
◀️پلتفرم Midjourney: یه ابزار برای تولید تصویر با هوش مصنوعی.
◀️افزونه Kleo: قبل از اینکه پستت رو منتشر کنی، میتونی پیشنمایش اون رو ببینی.
3️⃣ مدیریت و پیگیری
◀️ابزار Trello: برای مرتب کردن ایدهها و مدیریت زمانبندی پستهات.
◀️پلتفرم Notion: یه فضای همهکاره برای منظم کردن کارهات.
◀️شبکه اجتماعی LinkedIn: برای ارتباط گرفتن و تعامل با افراد حرفهای.
◀️ابزار Google Docs: برای نوشتن و ویرایش آنلاین متنها.
◀️پلتفرم Zapier: کارها رو خودکار کن و وقتت رو برای کارهای مهمتر ذخیره کن.
◀️ابزار Taplio: عملکرد پستهات رو آنالیز کن تا بهتر بشی.
4️⃣ ارتباط
◀️شبکه اجتماعی LinkedIn: پستهای لینکدینت رو زمانبندی کن و منتشر کن.
◀️پلتفرم Google Meet: برای جلسات آنلاین و ارتباط رو در رو.
◀️ابزار Slack: پیامرسان برای ارتباط راحت بین اعضای تیم.
◀️ابزار Loom: ویدیوهای آموزشی یا توضیحاتت رو ضبط کن و با بقیه به اشتراک بذار.
◀️پلتفرم Typeform: برای ساخت نظرسنجی و فرمهای آنلاین.
◀️ابزار Testimonial: نظرات متنی و ویدیویی مشتریها رو جمع کن و استفاده کن.
5️⃣ تبدیل
◀️ابزار Calendly: وقتی میخوای با مشتری قرار تماس بذاری، از این استفاده کن.
◀️پلتفرم Webflow: برای ساختن صفحههای فرود شیک و حرفهای.
◀️ابزار Linktree: همه لینکهات رو توی یه صفحه جمع کن و به اشتراک بذار.
◀️ابزار Mailchimp: برای ارسال ایمیلهای تبلیغاتی و ارتباط با مشتریهات.
◀️ابزار Beehiiv: ایمیلهای خبرنامهتو راحت جمع کن و ارسال کن.
◀️پلتفرم Square: برای پرداختهای آنلاین و انجام تراکنشهای تجاری.
◀️ افزونه Kleo: یه افزونه که ایدههای جذاب برای پستهای لینکدین بهت میده.
◀️افزونه Tweet Hunter X: برای پیدا کردن ایدههای جالب توی پلتفرم X (همون توییتر).
◀️ابزار ChatGPT: از هوش مصنوعی کمک بگیر تا ایدههای جدید برای محتوا پیدا کنی.
◀️پلتفرم Swipely: جایی که میتونی ایدههات رو ذخیره و دستهبندی کنی.
◀️ابزار vidIQ: بهت کمک میکنه کانالت توی یوتیوب رشد کنه.
◀️وبسایت Quora: جایی که میتونی اطلاعات و نظرات تخصصی رو با بقیه به اشتراک بذاری.
2️⃣ تولید محتوا
◀️ابزار Canva: یه ابزار ساده برای طراحی گرافیک و پستهای جذاب.
◀️ابزار Grammarly: بهت کمک میکنه که نوشتههات رو از نظر نگارش بهتر کنی.
◀️وبسایت Hemmingway App: سادهسازی و خواناتر کردن نوشتهها.
◀️نرمافزار Descript: برای ویرایش راحت ویدیو و پادکستهات.
◀️پلتفرم Midjourney: یه ابزار برای تولید تصویر با هوش مصنوعی.
◀️افزونه Kleo: قبل از اینکه پستت رو منتشر کنی، میتونی پیشنمایش اون رو ببینی.
3️⃣ مدیریت و پیگیری
◀️ابزار Trello: برای مرتب کردن ایدهها و مدیریت زمانبندی پستهات.
◀️پلتفرم Notion: یه فضای همهکاره برای منظم کردن کارهات.
◀️شبکه اجتماعی LinkedIn: برای ارتباط گرفتن و تعامل با افراد حرفهای.
◀️ابزار Google Docs: برای نوشتن و ویرایش آنلاین متنها.
◀️پلتفرم Zapier: کارها رو خودکار کن و وقتت رو برای کارهای مهمتر ذخیره کن.
◀️ابزار Taplio: عملکرد پستهات رو آنالیز کن تا بهتر بشی.
4️⃣ ارتباط
◀️شبکه اجتماعی LinkedIn: پستهای لینکدینت رو زمانبندی کن و منتشر کن.
◀️پلتفرم Google Meet: برای جلسات آنلاین و ارتباط رو در رو.
◀️ابزار Slack: پیامرسان برای ارتباط راحت بین اعضای تیم.
◀️ابزار Loom: ویدیوهای آموزشی یا توضیحاتت رو ضبط کن و با بقیه به اشتراک بذار.
◀️پلتفرم Typeform: برای ساخت نظرسنجی و فرمهای آنلاین.
◀️ابزار Testimonial: نظرات متنی و ویدیویی مشتریها رو جمع کن و استفاده کن.
5️⃣ تبدیل
◀️ابزار Calendly: وقتی میخوای با مشتری قرار تماس بذاری، از این استفاده کن.
◀️پلتفرم Webflow: برای ساختن صفحههای فرود شیک و حرفهای.
◀️ابزار Linktree: همه لینکهات رو توی یه صفحه جمع کن و به اشتراک بذار.
◀️ابزار Mailchimp: برای ارسال ایمیلهای تبلیغاتی و ارتباط با مشتریهات.
◀️ابزار Beehiiv: ایمیلهای خبرنامهتو راحت جمع کن و ارسال کن.
◀️پلتفرم Square: برای پرداختهای آنلاین و انجام تراکنشهای تجاری.
kleo.so
Kleo - #1 AI Personal Brand Tool
Kleo helps you write faster, stay consistent, and sound like yourself. Everything you need to ideate, write, design, and publish posts in one place.
👍3
سلام به همگی! 🌟
امروز میخوایم دربارهی یه اصل مهم تو کدنویسی پایتون صحبت کنیم که کدهاتون رو خوشگلتر و مرتبتر میکنه: PEP 8! 😎
خب، PEP 8 چیه؟ 🤔
توی پایتون PEP 8 یه استاندارده برای کدنویسی پایتونه که باعث میشه کدهامون تمیزتر و قابلفهمتر باشه؛ هم واسه خودمون و هم واسه بقیه. حالا بیایم با هم نکات اصلیش رو ببینیم 👇
اصول اصلی PEP 8 🧩
1. تورفتگی (Indentation)
2. بیشترین طول خط (Line Length)
3. شکستن خطوط در عملگرها (Operators)
وقتی میخوای یه خط طولانی رو بشکنی، عملگرها (
4. خطوط خالی (Blank Lines)
5. ایمپورتها (Imports)
- قبل و بعد از عملگرها (
- داخل پرانتزها و کروشهها فاصله اضافه نذار. مثال:
با رعایت این نکات، کدتون حسابی تر و تمیز و استاندارد میشه! 💯
#python
#pep8
Group: @azad_program
Channel: @kiau_program
امروز میخوایم دربارهی یه اصل مهم تو کدنویسی پایتون صحبت کنیم که کدهاتون رو خوشگلتر و مرتبتر میکنه: PEP 8! 😎
خب، PEP 8 چیه؟ 🤔
توی پایتون PEP 8 یه استاندارده برای کدنویسی پایتونه که باعث میشه کدهامون تمیزتر و قابلفهمتر باشه؛ هم واسه خودمون و هم واسه بقیه. حالا بیایم با هم نکات اصلیش رو ببینیم 👇
اصول اصلی PEP 8 🧩
1. تورفتگی (Indentation)
برای هر سطح تورفتگی از ۴ فاصله استفاده کن! فاصلهها کدهاتو همهجا یکدست نشون میدن. 📏
2. بیشترین طول خط (Line Length)
هر خط کدت بهتره از ۷۹ کاراکتر بیشتر نشه تا همهجا خوب خونده بشه. واسه توضیحات هم بهتره به ۷۲ کاراکتر محدودش کنی. 📝
3. شکستن خطوط در عملگرها (Operators)
وقتی میخوای یه خط طولانی رو بشکنی، عملگرها (
+, -) رو اول خط جدید بذار، مثل این:
result = (first_variable
+ second_variable
- third_variable)
4. خطوط خالی (Blank Lines)
با خطوط خالی بخشهای کدتو از هم جدا کن. بین توابع و کلاسها ۲ خط خالی بذار و بین متدها ۱ خط خالی. 🌿
5. ایمپورتها (Imports)
ایمپورتها رو اول فایل و به ترتیب بذار:6. فضاهای خالی (Whitespace)
1. کتابخونههای استاندارد
2. کتابخونههای خارجی
3. کتابخونههای پروژه
هر دسته رو هم با یه خط خالی جدا کن. 🤓
- قبل و بعد از عملگرها (
=, +, -) یه فاصله بذار.- داخل پرانتزها و کروشهها فاصله اضافه نذار. مثال:
# recommended:
x = (a + b) * (c - d)
# not recommended:
x = ( a + b ) * ( c - d )
با رعایت این نکات، کدتون حسابی تر و تمیز و استاندارد میشه! 💯
#python
#pep8
Group: @azad_program
Channel: @kiau_program
❤5💯2👍1
🌐 تفاوتهای IPv4 و IPv6 🌐
پروتکل های IPv4 و IPv6 دو پروتکل اصلی برای شناسایی دستگاهها در شبکه هستند.
🔹 تعداد آدرسها:
- پروتکل IPv4 از 32 بیت استفاده میکند و حدود 4.3 میلیارد آدرس را پشتیبانی میکند.
- پروتکل IPv6 با 128 بیت، امکان ایجاد 34 تریلیون تریلیون تریلیون آدرس را فراهم میکند.
🔹 سادهسازی پیکربندی:
- پروتکل IPv6 قابلیت پیکربندی خودکار (SLAAC) دارد که به دستگاهها اجازه میدهد بدون نیاز به DHCP، آدرس IP خود را تنظیم کنند.
🔹 امنیت:
- پروتکل IPv6 به طور پیشفرض از IPsec برای امنیت ارتباطات استفاده میکند، در حالی که در IPv4 این ویژگی اختیاری است.
🔹 بهبود عملکرد:
- با حذف NAT (ترجمه آدرس شبکه)، ارتباطات مستقیمتر و سریعتر انجام میشود.
🔹 پشتیبانی از موبایل:
- پروتکل IPv6 بهینهسازی شده برای دستگاههای موبایل و اینترنت اشیا (IoT) است.
با توجه به رشد روزافزون اینترنت و نیاز به آدرسهای بیشتر، انتقال به IPv6 ضروری است! 🚀
Group: @azad_program
Channel: @kiau_program
پروتکل های IPv4 و IPv6 دو پروتکل اصلی برای شناسایی دستگاهها در شبکه هستند.
🔹 تعداد آدرسها:
- پروتکل IPv4 از 32 بیت استفاده میکند و حدود 4.3 میلیارد آدرس را پشتیبانی میکند.
- پروتکل IPv6 با 128 بیت، امکان ایجاد 34 تریلیون تریلیون تریلیون آدرس را فراهم میکند.
🔹 سادهسازی پیکربندی:
- پروتکل IPv6 قابلیت پیکربندی خودکار (SLAAC) دارد که به دستگاهها اجازه میدهد بدون نیاز به DHCP، آدرس IP خود را تنظیم کنند.
🔹 امنیت:
- پروتکل IPv6 به طور پیشفرض از IPsec برای امنیت ارتباطات استفاده میکند، در حالی که در IPv4 این ویژگی اختیاری است.
🔹 بهبود عملکرد:
- با حذف NAT (ترجمه آدرس شبکه)، ارتباطات مستقیمتر و سریعتر انجام میشود.
🔹 پشتیبانی از موبایل:
- پروتکل IPv6 بهینهسازی شده برای دستگاههای موبایل و اینترنت اشیا (IoT) است.
با توجه به رشد روزافزون اینترنت و نیاز به آدرسهای بیشتر، انتقال به IPv6 ضروری است! 🚀
Group: @azad_program
Channel: @kiau_program
👍5
توزیعهای لینوکسی و کاربردهای آنها
1. اوبونتو (Ubuntu): مناسب برای کاربران تازهکار و دسکتاپ. با رابط کاربری ساده و پشتیبانی گسترده، برای کارهای روزمره، برنامهنویسی و حتی بازیها عالی است. ( البته در زیر ساخت خیلی از شرکت ها از اوبنتو سرور استفاده میشه).
2. دبیان (Debian): پایدار و قابل اعتماد، مناسب برای سرورها و سیستمهای مهم. به دلیل ثبات بالا، انتخاب خوبی برای توسعهدهندگان و مدیران سیستم است.
3. فدورا (Fedora): بهروزترین نرمافزارها را ارائه میده و برای توسعهدهندگان ایدهآل است.
4. آرچ لینوکس (Arch Linux): برای کاربران پیشرفته که میخواهند سیستم خود را از پایه بسازند. انعطافپذیری بالا و کنترل کامل بر روی نصب نرمافزارها را فراهم میکند.
7. لینکس مینت (Linux Mint): بهترین گزینه برای کسانی که از ویندوز به لینوکس مهاجرت میکنند. رابط کاربری آشنا و امکانات متنوع آن باعث راحتی استفاده میشود.
8. کالی لینوکس (Kali Linux): مخصوص تست نفوذ و امنیت سایبری طراحی شده است. ابزارهای پیشرفتهای برای هکرها اخلاقی فراهم میکند.
Group: @azad_program
Channel: @kiau_program
1. اوبونتو (Ubuntu): مناسب برای کاربران تازهکار و دسکتاپ. با رابط کاربری ساده و پشتیبانی گسترده، برای کارهای روزمره، برنامهنویسی و حتی بازیها عالی است. ( البته در زیر ساخت خیلی از شرکت ها از اوبنتو سرور استفاده میشه).
2. دبیان (Debian): پایدار و قابل اعتماد، مناسب برای سرورها و سیستمهای مهم. به دلیل ثبات بالا، انتخاب خوبی برای توسعهدهندگان و مدیران سیستم است.
3. فدورا (Fedora): بهروزترین نرمافزارها را ارائه میده و برای توسعهدهندگان ایدهآل است.
4. آرچ لینوکس (Arch Linux): برای کاربران پیشرفته که میخواهند سیستم خود را از پایه بسازند. انعطافپذیری بالا و کنترل کامل بر روی نصب نرمافزارها را فراهم میکند.
7. لینکس مینت (Linux Mint): بهترین گزینه برای کسانی که از ویندوز به لینوکس مهاجرت میکنند. رابط کاربری آشنا و امکانات متنوع آن باعث راحتی استفاده میشود.
8. کالی لینوکس (Kali Linux): مخصوص تست نفوذ و امنیت سایبری طراحی شده است. ابزارهای پیشرفتهای برای هکرها اخلاقی فراهم میکند.
Group: @azad_program
Channel: @kiau_program
❤1👍1
📊 کتابخانههای ضروری Python برای علم داده
💡 در این تصویر، مجموعهای از کتابخانههای مهم Python که در علم داده استفاده میشوند، معرفی شدهاند. این کتابخانهها شامل ابزارهایی برای جمعآوری داده، پردازش، تحلیل، یادگیری ماشین، یادگیری عمیق، و استقرار مدلها هستند.
کتابخانه Scrapy: جمعآوری داده و وباسکرپینگ
کتابخانه pandas: دستکاری دادهها، پیشپردازش و تحلیل اکتشافی دادهها (EDA)
کتابخانه Matplotlib: تجسم دادهها
کتابخانه Statsmodels: تحلیلهای آماری و سری زمانی
کتابخانه scikit-learn: یادگیری ماشین
کتابخانه TensorFlow: یادگیری عمیق
کتابخانه spaCy: پردازش زبان طبیعی
کتابخانه Flask: استقرار مدل
کتابخانه PySpark: دادههای حجیم و محاسبات توزیعشده
کتابخانه Apache Airflow: اتوماسیون و ارکستراسیون جریان کاری
➖➖➖➖➖➖➖➖➖➖➖➖
💡 در این تصویر، مجموعهای از کتابخانههای مهم Python که در علم داده استفاده میشوند، معرفی شدهاند. این کتابخانهها شامل ابزارهایی برای جمعآوری داده، پردازش، تحلیل، یادگیری ماشین، یادگیری عمیق، و استقرار مدلها هستند.
کتابخانه Scrapy: جمعآوری داده و وباسکرپینگ
کتابخانه pandas: دستکاری دادهها، پیشپردازش و تحلیل اکتشافی دادهها (EDA)
کتابخانه Matplotlib: تجسم دادهها
کتابخانه Statsmodels: تحلیلهای آماری و سری زمانی
کتابخانه scikit-learn: یادگیری ماشین
کتابخانه TensorFlow: یادگیری عمیق
کتابخانه spaCy: پردازش زبان طبیعی
کتابخانه Flask: استقرار مدل
کتابخانه PySpark: دادههای حجیم و محاسبات توزیعشده
کتابخانه Apache Airflow: اتوماسیون و ارکستراسیون جریان کاری
➖➖➖➖➖➖➖➖➖➖➖➖
❤4👍1
⭕️ مفهوم JSON:
در دنیای برنامه نویسی JSON یا JavaScript Object Notation، یک فرمت سبک و مستقل از زبان برای تبادل دادههاست. JSON بسیار خوانا و به راحتی قابل استفادست و به همین دلیل برای انتقال دادهها بین سرور و کلاینت محبوبه.
همونطور که از نامش پیداست JSON به معنی «نمادگذاری اشیا در جاوا اسکریپت» هست و معمولاً همراه با جاو اسکریپت شناسایی میشه، اما یک فرمت استاندارد رد و بدل دیتا و مستقل از زبان مثل XML یا YAML و مشترک بین تمامی زبان هاست که از خوانایی بالایی برخورداره.
مثال منوی غذا با JSON:
جیسون ویژگی های مختلفی مثل سادگی و خوانایی، پشتیبانی گسترده توسط زبان ها، اندازه کوچیک و ... داره.
همینطور از کاربرد های اون میشه به وب سرویس ها یا API ها و تبادل دیتاها بین سرور و کلاینت، ذخیره سازی داده در پایگاه داده های NoSQL مثل MongoDB و ذخیره سازی تنظیمات نرم افزار ها اشاره کرد.
Group: @azad_program
Channel: @kiau_program
در دنیای برنامه نویسی JSON یا JavaScript Object Notation، یک فرمت سبک و مستقل از زبان برای تبادل دادههاست. JSON بسیار خوانا و به راحتی قابل استفادست و به همین دلیل برای انتقال دادهها بین سرور و کلاینت محبوبه.
همونطور که از نامش پیداست JSON به معنی «نمادگذاری اشیا در جاوا اسکریپت» هست و معمولاً همراه با جاو اسکریپت شناسایی میشه، اما یک فرمت استاندارد رد و بدل دیتا و مستقل از زبان مثل XML یا YAML و مشترک بین تمامی زبان هاست که از خوانایی بالایی برخورداره.
فرض کنین که یک منوی غذا در یک رستوران دارین که شامل نام غذا، قیمت، مواد تشکیلدهنده و اطلاعات دیگه ایه. حالا تصور کنین که این منو رو میخواین در قالبی ذخیره کنین که برای یک اپلیکیشن موبایل قابل استفاده باشه. JSON این امکان رو میده به سادگی این اطلاعات رو به صورت ساختارمند ذخیره کنید.
مثال منوی غذا با JSON:
{
"restaurant": "Delicious Dishes",
"menu": [
{
"name": "Pasta",
"price": 12.5,
"ingredients": ["noodles", "tomato sauce", "cheese"]
},
{
"name": "Caesar Salad",
"price": 8.0,
"ingredients": ["lettuce", "chicken", "parmesan", "croutons"]
},
{
"name": "Burger",
"price": 10.0,
"ingredients": ["bun", "beef patty", "lettuce", "cheese", "tomato"]
}
]
}جیسون ویژگی های مختلفی مثل سادگی و خوانایی، پشتیبانی گسترده توسط زبان ها، اندازه کوچیک و ... داره.
همینطور از کاربرد های اون میشه به وب سرویس ها یا API ها و تبادل دیتاها بین سرور و کلاینت، ذخیره سازی داده در پایگاه داده های NoSQL مثل MongoDB و ذخیره سازی تنظیمات نرم افزار ها اشاره کرد.
Group: @azad_program
Channel: @kiau_program
❤3
🎯 ترفند جالب پایتونی: سرعتبخشیدن به کدها با list comprehension 🚀
یکی از روشهای بهینهسازی و خواناتر کردن کدهای پایتون، استفاده از list comprehension هست. این روش برای ساخت لیستها بهصورت کوتاه و سریع استفاده میشه.
💡 مثال ساده: فرض کنید میخواهید مربع اعداد ۱ تا ۱۰ رو توی یه لیست ذخیره کنید.
🔻 روش سنتی:
🔺 با list comprehension:
نتیجه هر دو روش یکیه:
اما روش دوم کوتاهتر، سریعتر و شیکتره! 😎
✨ چالش برای شما:
با همین روش یه لیست بسازید که اعداد زوج بین ۱ تا ۲۰ رو شامل بشه. ✅
#پایتون #programming #python
Group: @azad_program
Channel: @kiau_program
یکی از روشهای بهینهسازی و خواناتر کردن کدهای پایتون، استفاده از list comprehension هست. این روش برای ساخت لیستها بهصورت کوتاه و سریع استفاده میشه.
💡 مثال ساده: فرض کنید میخواهید مربع اعداد ۱ تا ۱۰ رو توی یه لیست ذخیره کنید.
🔻 روش سنتی:
squares = []
for i in range(1, 11):
squares.append(i 2)
print(squares)
🔺 با list comprehension:
squares = [i 2 for i in range(1, 11)]
print(squares)
نتیجه هر دو روش یکیه:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
اما روش دوم کوتاهتر، سریعتر و شیکتره! 😎
✨ چالش برای شما:
با همین روش یه لیست بسازید که اعداد زوج بین ۱ تا ۲۰ رو شامل بشه. ✅
#پایتون #programming #python
Group: @azad_program
Channel: @kiau_program
❤3👏1
✅ آشنایی با Destructuring در جاوااسکریپت
ویژگی "Destructuring" یا "تخریب و تجزیه" یکی از ویژگیهای قدرتمند و بشدت کاربردی در جاوااسکریپته که به شما اجازه میده به راحتی عناصر یک آرایه یا آیتم های یک object یا شی رو استخراج کنین و به متغیرهای مجزا اختصاص بدین. این ویژگی که در ES6 معرفی شد، باعث افزایش خوانایی و کاهش کدهای تکراری میشه.
فرض کنین یک آرایه با 8 عدد دارین که میخواین سه آیتم اول اون رو استخراج و داخل متغیر ذخیره کنین. یکی از روش های مرسوم گرفتن آیتم های داخل آرایه با استفاده از index هست.
اما با استفاده از ویژگی Destructuring این کار خیلی ساده تر میشه و میتونین با تجزیه آرایه سه ایتم اول اون رو استخراج کنین
همینطور با ترکیب این ویژگی و rest operator (...) میتونین باقی ایتم هارو در قالب یک ارایه استخراج کنین
برای object ها در طول برنامه هم میتونین از این ویژگی استفاده کنین و آیتم های داخل آبجکت رو destructure کنین. اما نکته قابل توجه اینه که اسم آیتم تجزیه شده با آیتم داخل object به صورت دیفالت باید برابر باشه.
حالا فرض کنین یک تابع داخل برنامه دارین که کارهای مختلفی داخلش انجام میشه و میخواید به عنوان خروجی چیز های مختلفی رو return کنین و زمان استفاده از اون تابع بهشون دسترسی داشته باشین:
⭕️ مفهوم Destructuring در زبان های دیگه به شکل های مختلفی دیده میشه:
⁉️ مفهوم Destructuring یا Unpacking در Python
⁉️ مفهوم Tuple Destructuring در Swift
⁉️ مفهوم Destructuring در Ruby
Group: @azad_program
Channel: @kiau_program
ویژگی "Destructuring" یا "تخریب و تجزیه" یکی از ویژگیهای قدرتمند و بشدت کاربردی در جاوااسکریپته که به شما اجازه میده به راحتی عناصر یک آرایه یا آیتم های یک object یا شی رو استخراج کنین و به متغیرهای مجزا اختصاص بدین. این ویژگی که در ES6 معرفی شد، باعث افزایش خوانایی و کاهش کدهای تکراری میشه.
فرض کنین یک آرایه با 8 عدد دارین که میخواین سه آیتم اول اون رو استخراج و داخل متغیر ذخیره کنین. یکی از روش های مرسوم گرفتن آیتم های داخل آرایه با استفاده از index هست.
const array = [1, 2, 3, 4, 5, 6, 7, 8]
const item1 = array[0]
const item2 = array[1]
const item3 = array[2]
اما با استفاده از ویژگی Destructuring این کار خیلی ساده تر میشه و میتونین با تجزیه آرایه سه ایتم اول اون رو استخراج کنین
const [a, b, c] = [1, 2, 3, 4, 5, 6, 7, 8]
همینطور با ترکیب این ویژگی و rest operator (...) میتونین باقی ایتم هارو در قالب یک ارایه استخراج کنین
const [a, b, c, ...rest] = [1, 2, 3, 4, 5, 6, 7, 8]
برای object ها در طول برنامه هم میتونین از این ویژگی استفاده کنین و آیتم های داخل آبجکت رو destructure کنین. اما نکته قابل توجه اینه که اسم آیتم تجزیه شده با آیتم داخل object به صورت دیفالت باید برابر باشه.
حالا فرض کنین یک تابع داخل برنامه دارین که کارهای مختلفی داخلش انجام میشه و میخواید به عنوان خروجی چیز های مختلفی رو return کنین و زمان استفاده از اون تابع بهشون دسترسی داشته باشین:
const doWork = function () {
const age = 20;
const name = "Reza";
const numbers = [1, 2, 3, 4];
function doSomeThings(number) {
numbers.push(number);
// ...
}
// ...
return { age, numbers, doSomeThings };
};
// Destructuring
const { age, numbers, doSomeThings } = doWork();
console.log(age); // 20
console.log(numbers); // [1, 2, 3, 4]
doSomeThings(10);
console.log(numbers); /// [1, 2, 3, 4, 10]⭕️ مفهوم Destructuring در زبان های دیگه به شکل های مختلفی دیده میشه:
⁉️ مفهوم Destructuring یا Unpacking در Python
a, b, c = [1, 2, 3]
print(a) # 1
print(b) # 2
print(c) # 3
⁉️ مفهوم Tuple Destructuring در Swift
let (x, y) = (1, 2)
print(x) // 1
print(y) // 2
⁉️ مفهوم Destructuring در Ruby
a, b, c = [1, 2, 3]
puts a # 1
puts b # 2
puts c # 3
Group: @azad_program
Channel: @kiau_program
❤1
🔍 آشنایی با توابع Lambda در پایتون 💡
توابع Lambda در پایتون، توابع ناشناس و یکخطی هستند که بدون نیاز به تعریف نام، عملیات سادهای را اجرا میکنند. این توابع مخصوص مواقعی هستند که به یک تابع کوچک و سریع نیاز دارید، اما نمیخواهید برای آن یک تابع جداگانه تعریف کنید. 🌟
--------------
🎯 ساختار تابع Lambda
ساختار کلی:
به عنوان مثال:
------------
🎯 کاربردها
1. استفاده در توابعی مثل
مثال: فیلتر کردن اعداد زوج از یک لیست:
2. مرتبسازی پیشرفته:
مرتب کردن لیستی از دیکشنریها:
3. اعمال عملیات ریاضی:
به توان ۲ رساندن اعداد:
---
🚀 نکته: Lambda ساده، اما قدرتمند است! مناسب برای کدنویسی کوتاه و سریع، اما برای عملیات پیچیده بهتر است از توابع معمولی استفاده کنید. 💻✨
Group: @azad_program
Channel: @kiau_program
توابع Lambda در پایتون، توابع ناشناس و یکخطی هستند که بدون نیاز به تعریف نام، عملیات سادهای را اجرا میکنند. این توابع مخصوص مواقعی هستند که به یک تابع کوچک و سریع نیاز دارید، اما نمیخواهید برای آن یک تابع جداگانه تعریف کنید. 🌟
--------------
🎯 ساختار تابع Lambda
ساختار کلی:
lambda پارامترها: عملیات یا خروجی
به عنوان مثال:
add = lambda x, y: x + y
print(add(3, 5)) # خروجی: 8
------------
🎯 کاربردها
1. استفاده در توابعی مثل
map, filter, sorted:مثال: فیلتر کردن اعداد زوج از یک لیست:
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # خروجی: [2, 4]
2. مرتبسازی پیشرفته:
مرتب کردن لیستی از دیکشنریها:
students = [{'name': 'Ali', 'grade': 85}, {'name': 'Sara', 'grade': 92}]
sorted_students = sorted(students, key=lambda x: x['grade'])
print(sorted_students)
3. اعمال عملیات ریاضی:
به توان ۲ رساندن اعداد:
numbers = [1, 2, 3]
squared = list(map(lambda x: x**2, numbers))
print(squared) # خروجی: [1, 4, 9]
---
🚀 نکته: Lambda ساده، اما قدرتمند است! مناسب برای کدنویسی کوتاه و سریع، اما برای عملیات پیچیده بهتر است از توابع معمولی استفاده کنید. 💻✨
Group: @azad_program
Channel: @kiau_program
This media is not supported in your browser
VIEW IN TELEGRAM
سوپر کامپیوتر El Capitan
سریع ترین سوپرکامپیوتر جهان
سازنده HPE
قدرت پردازش دو quintillions
یعنی 2Exaflops !!!
Group: @azad_program
Channel: @kiau_program
سریع ترین سوپرکامپیوتر جهان
سازنده HPE
قدرت پردازش دو quintillions
یعنی 2Exaflops !!!
Group: @azad_program
Channel: @kiau_program
👍5
سلام به همه اعضای گروه 🙌🏻
اینجا توی گروه ما کلی استعداد و علاقه به برنامهنویسی جمع شده و به ذهنم رسید که از این پتانسیل فوقالعاده استفاده کنیم.
میخوام یک تیم برنامهنویسی دانشجویی تشکیل بدم که هدفش انجام پروژههای واقعی باشه. این تیم یک فرصت عالیه برای کسانی که میخوان تجربه کاری کسب کنن، رزومهشون رو قوی کنن و حتی درآمد داشته باشن.
💻 تخصصهایی که بهشون نیاز داریم:
- بکاند: Python (Django, Flask) یا #C . ا net. یا هر زبان دیگهای
- فرانتاند: HTML, CSS, JavaScript (React, Vue.js)
- توسعه دسکتاپ: Python (PyQt, Tkinter) یا #C و یا تکنولوژیهای دیگه
- توسعه موبایل: kotlin Flutter, React Native یا Native Development
- اتوماسیون و اسکریپتنویسی: Python یا Bash
- طراحی: UI/UX
- گرافیست
-طراح لوگو
🔹 چرا این تیم؟
1. روی پروژههای تمرینی و واقعی کار میکنیم (مثلاً طراحی سایت برای خودمون).
2. درآمد حاصل از پروژهها به صورت درصدی بین اعضای تیم تقسیم میشه.
3. همه کارها با همکاری و هدفمند پیش میره.
🔸 شرایط عضویت:
- دانشجو یا علاقهمند به برنامهنویسی
- مسئولیتپذیر و علاقهمند به یادگیری
- حداقل آشنایی با یکی از حوزههای بالا
🔔 اگه علاقه داری عضو این تیم باشی، پیوی پیام بده
بیاید با هم یه تیم قوی و حرفهای بسازیم. منتظرتونم! 🌟
@i_kent8
اینجا توی گروه ما کلی استعداد و علاقه به برنامهنویسی جمع شده و به ذهنم رسید که از این پتانسیل فوقالعاده استفاده کنیم.
میخوام یک تیم برنامهنویسی دانشجویی تشکیل بدم که هدفش انجام پروژههای واقعی باشه. این تیم یک فرصت عالیه برای کسانی که میخوان تجربه کاری کسب کنن، رزومهشون رو قوی کنن و حتی درآمد داشته باشن.
💻 تخصصهایی که بهشون نیاز داریم:
- بکاند: Python (Django, Flask) یا #C . ا net. یا هر زبان دیگهای
- فرانتاند: HTML, CSS, JavaScript (React, Vue.js)
- توسعه دسکتاپ: Python (PyQt, Tkinter) یا #C و یا تکنولوژیهای دیگه
- توسعه موبایل: kotlin Flutter, React Native یا Native Development
- اتوماسیون و اسکریپتنویسی: Python یا Bash
- طراحی: UI/UX
- گرافیست
-طراح لوگو
🔹 چرا این تیم؟
1. روی پروژههای تمرینی و واقعی کار میکنیم (مثلاً طراحی سایت برای خودمون).
2. درآمد حاصل از پروژهها به صورت درصدی بین اعضای تیم تقسیم میشه.
3. همه کارها با همکاری و هدفمند پیش میره.
🔸 شرایط عضویت:
- دانشجو یا علاقهمند به برنامهنویسی
- مسئولیتپذیر و علاقهمند به یادگیری
- حداقل آشنایی با یکی از حوزههای بالا
🔔 اگه علاقه داری عضو این تیم باشی، پیوی پیام بده
بیاید با هم یه تیم قوی و حرفهای بسازیم. منتظرتونم! 🌟
@i_kent8
❤🔥1👎1
جنگو ORM
واژهی ORM مختصرشدهی Object Relational Mapping است، Django ORM بخشی از جنگو است که وظیفهی اتصال به پایگاهداده، و دریافت و ارسال اطلاعات به آن را به دوش میکشد.
در واقع بدون وجود ORM در جنگو مجبور هستیم که در نرمافزار یا وباپلیکیشنهای خود کوئریهای دیتابیسی مثل SQL بزنیم و بهنحوی، مستقیماً نرمافزار خود را به پایگاهداده متصل کنیم. این امکان در پایتون وجود دارد که با کتابخانههای مختلف میتوانید به پایگاهدادههای مختلف متصل شوید و با استفاده از آنها اشیاء را در پایگاهداده ذخیره یا بازیابی نمایید.
با وجود جنگو ORM، بدون احتیاج به اتصال مستقیم به پایگاهداده، شما از Syntax همان ORM برای ذخیره و بازیابی اطلاعات استفاده میکنید، بدون احتیاج به اینکه از Syntax و زبان آن پایگاهداده استفاده کنید. در مقابل، در پسزمینه، آن ORM کدهای شما را به کوئریهای دیتابیسی تبدیل میکند که به این کار Map کردن میگویند.
مثال ساده:
یک مدل از کتاب که دارای فیلد های عنوان، نام نویسنده، تاریخ انتشار و قیمت هست
به روز رسانی و حذف به صورت تکی
به روز رسانی و حذف به صورت گروهی
Group: @azad_program
Channel: @kiau_program
واژهی ORM مختصرشدهی Object Relational Mapping است، Django ORM بخشی از جنگو است که وظیفهی اتصال به پایگاهداده، و دریافت و ارسال اطلاعات به آن را به دوش میکشد.
در واقع بدون وجود ORM در جنگو مجبور هستیم که در نرمافزار یا وباپلیکیشنهای خود کوئریهای دیتابیسی مثل SQL بزنیم و بهنحوی، مستقیماً نرمافزار خود را به پایگاهداده متصل کنیم. این امکان در پایتون وجود دارد که با کتابخانههای مختلف میتوانید به پایگاهدادههای مختلف متصل شوید و با استفاده از آنها اشیاء را در پایگاهداده ذخیره یا بازیابی نمایید.
با وجود جنگو ORM، بدون احتیاج به اتصال مستقیم به پایگاهداده، شما از Syntax همان ORM برای ذخیره و بازیابی اطلاعات استفاده میکنید، بدون احتیاج به اینکه از Syntax و زبان آن پایگاهداده استفاده کنید. در مقابل، در پسزمینه، آن ORM کدهای شما را به کوئریهای دیتابیسی تبدیل میکند که به این کار Map کردن میگویند.
مثال ساده:
یک مدل از کتاب که دارای فیلد های عنوان، نام نویسنده، تاریخ انتشار و قیمت هست
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
published_date = models.DateField()
price = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
return self.title
#دیتایی که داریم
data = {
"title": "Hollywood",
"author": "Charles Bukowski",
"published_date": "1989-01-01",
"price": 150.99
}
# بازیابی همه رکورد ها و دریافت عنوان نویسنده
books = Book.objects.all()
for book in books:
print(book.title, book.author)
# یافتن کتابی با عنوان خاص
book = Book.objects.get(title="Hollywood")
print(book.author)
# کتابهایی که قیمتشان کمتر از 160 است
cheap_books = Book.objects.filter(price__lt=160)
for book in cheap_books:
print(book.title, book.price)
به روز رسانی و حذف به صورت تکی
# به روز رسانی کردن قیمت کتاب
book = Book.objects.get(title="Hollywood")
book.price = 159.99
book.save()
# حذف رکورد
book = Book.objects.get(title="Hollywood")
book.delete()
به روز رسانی و حذف به صورت گروهی
Book.objects.filter(price__gt=150).update(price=149.99)
Book.objects.filter(price__lt=100).delete()
Group: @azad_program
Channel: @kiau_program
👍8❤1