🐍 Python & Raspberry 🐍
Открыть в Telegram
Python- Raspberry Pi-AI-IOT ادمین : فرهاد ناصری زاده @farhad_naserizadeh @farhad3412 گروه پایتون @Python_QA تبادل @mmtahmasbi کانال مرتبط @new_mathematical @micropython_iot @c_micro اینستاگرام http://Instagram.com/python_raspberry
Больше8 216
Подписчики
Нет данных24 часа
-177 дней
-8330 день
Архив постов
رهایی از دوراهی سخت؛ هم تنسورفلو، هم پایتورچ با IVY
تا به حال احتمالا با چالش سخت انتخاب بین تنسورفلو و پایتورچ مواجه شده باشید. اخیرا با اضافه شدن Jax هم این انتخاب سختتر شده. اما تیم unifyai یه فریمورک جدید به نام IVY معرفی کرده که یک syntax یکپارچه برای توسعه مدلهای دیپ داره و صرفا با تنظیم backend این پکیج روی هر یک از فریمورکهای تنسورفلو، پایتورچ و یا jax میتونید از عایدات همون ابزار بهرهمند بشید. البته این فریمورک در مسیر توسعه است و با توجه به عمر کوتاهش اما تعداد استار بسیار زیادی گرفته که نشون میده به نظر راه درستی رو داره میره.
لینک گیتهاب:
https://github.com/unifyai/ivy
@raspberry_python
رهایی از دوراهی سخت؛ هم تنسورفلو، هم پایتورچ با IVY
تا به حال احتمالا با چالش سخت انتخاب بین تنسورفلو و پایتورچ مواجه شده باشید. اخیرا با اضافه شدن Jax هم این انتخاب سختتر شده. اما تیم unifyai یه فریمورک جدید به نام IVY معرفی کرده که یک syntax یکپارچه برای توسعه مدلهای دیپ داره و صرفا با تنظیم backend این پکیج روی هر یک از فریمورکهای تنسورفلو، پایتورچ و یا jax میتونید از عایدات همون ابزار بهرهمند بشید. البته این فریمورک در مسیر توسعه است و با توجه به عمر کوتاهش اما تعداد استار بسیار زیادی گرفته که نشون میده به نظر راه درستی رو داره میره.
لینک گیتهاب:
https://github.com/unifyai/ivy
@raspberry_python
Read CSV Into List of Dictionaries in Python
https://www.pythonforbeginners.com/basics/read-csv-into-list-of-dictionaries-in-python
@raspberry_python
Read CSV Into List of Dictionaries in Python
https://www.pythonforbeginners.com/basics/read-csv-into-list-of-dictionaries-in-python
@raspberry_python
Repost from هشتگ تبلیغ تخصصی
💻 دوره آنلاین «مهندسی داده و کلان داده»
🔥 نیاز روز بــــازار کــــار ایــــــران و خـــارج
📌 مخاطبان:
🔸 دانشجویان و فارغ التحصیلان تمامی رشتهها (به خصوص صنایع و کامپیوتر)
🔹 اعضای تیم داده در استارتاپها، سازمانها و کسب و کارها
🔸 علاقمندان به پیشرفت در حوزه علم داده (Data Science)
🔹 جویندگان موقعیتهای شغلی جذاب در حوزه #علم_داده
🏛 موسسه آموزش عالی آزاد توسعه
✅ با گواهینامه مورد تایید وزارت علوم، تحقیقات و فناوری
👈 مشاهده جزئیات دوره و مشاوره رایگان (کلیک کنید) 👁🗨
➖➖
خب شاید پیش خودتون بگید، آبجکتی که داندر hash داشته باشه حتما hashable عه دیگه، این داندر رو داره و جوابتون این باشه:
o = obj
if hasattr(o, '__hash__'):
print(f"{o} is hashable")
اما خیر 😁
اول یه چیز پایهای بگیم.
کلاس آبجکت object پایهای ترین base class در پایتونه و اینکه میگن همهچیز در پایتون آبجکته، یکی از دلیلاش اینه. هر چیزی که فکرش رو بکنید از object ارث میبره.
این کلاس کلی داندر متد داره و از قضا دو تا داندر که در این مطلب برای ما مهم هستن رو هم با هم داره
داندر eq -> برای چک کردن تساوی دو تا آبجکت
obj1 == obj2داندر hash -> برای برگرداندن مقدار hash آبجکت که از تابع hash میگیریم
hash(obj)وقتی یک کلاسی شما مینویسید:
class Spam:
pass
این کلاس به طور خودکار از کلاس آبجکت ارث میبره که تبعا داندر متدها براش resolve میشن، که یعنی، ارثشون میبره، یا اینکه میگرده توی کلاس object پیدا شون میکنه.
نکتهی داندر eq
رفتار پیشفرض داندر eq به این صورته که میان آیدیهای دو آبجکت رو باهم مقایسه میکنه. یعنی اگه اون رو override نکرده باشید و بخواید آبجکتهاتون رو با هم مقایسه کنید، وقتی جواب True میگیرید که دو تا آبجکت در واقع یک آبجکت باشن. دقیقا همون کاری که is انجام میده.
s1 = s2 = Spam() s1 == s2 -> Trueاما شاید چنین رفتاری رو نخواید و جور دیگهای بخوایید که آبجکتهای شما تساویشون چک بشه خب میاید داندر eq رو جوری که میخواید اورراید میکنید اما 😁 وقتی این کار رو کردید، اتفاقی که میوفته اینه که مقدار داندر hash شما None میشه و آبجکت شما دیگه hashable نیست این یعنی دیگه نمیتونید توی دیکشنری و ست بذاریدش و .... این در حالیه که آبجکت شما همچنان داندر hash داره ولی hashable نیست. این توضیحات میشن دلیل اینکه چرا اون شرط باگ داره. اما راهحل چیه؟ خب شاید بیاید بگید بجای اینکه چک کنیم هست، چک میکنیم که None نباشه
if o.__hash__ is not None:
...
این تا حدی مشکل رو حل میکنه اما از اونجایی که پایتون یه زبان به شدت داینامیک عه:
class Spam:
def __eq__(self): ...
Spam.hash = "Gotcha, Im neither hashable nor None =)"
پس بهترین راهحل چیه؟
It is easier to ask forgiveness than permission
try:
hash(o)
except TypeError:
print("unhashable")
else:
print("hashable")
اما یه سوال بی جواب میمونه!
بالاتر گفتیم اگه داندر eq رو اورراید کنیم آبجکت ما دیگه hashable نیست و توی ست و دیکشنری نمیتونیم استفاده کنیم. من میخوام اون ور اورراید کنم و بازم hashable باشه 😒😒
خب جوابش سادهست
شما باید داندر hash رو هم اورراید کنید و یه مقدار int برگردونید
نکتهای که هست و باید بهش توجه داشته باشید اینه که باید بتونید یه عددی تولید کنید که تکراری شدنش سخت باشه (اگه تکراری بشه اشکالی نداره) و به ویژگیهای آبجکت شما وابسته هم باشه (حتما قرار نیست به ویژگیهاش وابسته باشه، اما اگه باشه، اون نکتهی قبلی راحتتر بدست میاد)
برای مثال
class Spam:
def __init__(self, name):
self.name = name
def __eq__(self):
...
def __hash__(self):
return hash(self.name)
تبعا شما اسامی مختلفی قراره به هر آبجکت که از Spam درست میکنید بدید، و این باعث میشه که hash هر بار فرق کنه
اما اگه اسم یکسان هم بدید، مشکلی نیست یه قانونی هست توی بحث hash که میگه:
اگر دو آبجکت دقیقا یکسان باشن، (یعنی دو تا رفرنس از یک آبجکت رو داشته باشیم) باید hash یکسانی داشته باشن
اما اگر ما دو تا hash یکسان از دو تا آبجکت داشتیم، الزاما اون دو آبجکت یکی نیستن.
به این حالت که هش یکسانه ولی آبجکتا یکی نیستن، میگن hash collision. که پایتون خودش این رو هندل میکنه
و بحثش در این مقال "دیگر 😮💨" نمیگنجد.
موفق باشید 😁✌️
#M4hdi
〰️〰️〰️〰️〰️〰️〰️
©@raspberry_pythonخب شاید پیش خودتون بگید، آبجکتی که داندر hash داشته باشه حتما hashable عه دیگه، این داندر رو داره و جوابتون این باشه:
o = obj
if hasattr(o, '__hash__'):
print(f"{o} is hashable")
اما خیر 😁
اول یه چیز پایهای بگیم.
کلاس آبجکت object پایهای ترین base class در پایتونه و اینکه میگن همهچیز در پایتون آبجکته، یکی از دلیلاش اینه. هر چیزی که فکرش رو بکنید از object ارث میبره.
این کلاس کلی داندر متد داره و از قضا دو تا داندر که در این مطلب برای ما مهم هستن رو هم با هم داره
داندر eq -> برای چک کردن تساوی دو تا آبجکت
obj1 == obj2داندر hash -> برای برگرداندن مقدار hash آبجکت که از تابع hash میگیریم
hash(obj)وقتی یک کلاسی شما مینویسید:
class Spam:
pass
این کلاس به طور خودکار از کلاس آبجکت ارث میبره که تبعا داندر متدها براش resolve میشن، که یعنی، ارثشون میبره، یا اینکه میگرده توی کلاس object پیدا شون میکنه.
نکتهی داندر eq
رفتار پیشفرض داندر eq به این صورته که میان آیدیهای دو آبجکت رو باهم مقایسه میکنه. یعنی اگه اون رو override نکرده باشید و بخواید آبجکتهاتون رو با هم مقایسه کنید، وقتی جواب True میگیرید که دو تا آبجکت در واقع یک آبجکت باشن. دقیقا همون کاری که is انجام میده.
s1 = s2 = Spam() s1 == s2 -> Trueاما شاید چنین رفتاری رو نخواید و جور دیگهای بخوایید که آبجکتهای شما تساویشون چک بشه خب میاید داندر eq رو جوری که میخواید اورراید میکنید اما 😁 وقتی این کار رو کردید، اتفاقی که میوفته اینه که مقدار داندر hash شما None میشه و آبجکت شما دیگه hashable نیست این یعنی دیگه نمیتونید توی دیکشنری و ست بذاریدش و .... این در حالیه که آبجکت شما همچنان داندر hash داره ولی hashable نیست. این توضیحات میشن دلیل اینکه چرا اون شرط باگ داره. اما راهحل چیه؟ خب شاید بیاید بگید بجای اینکه چک کنیم هست، چک میکنیم که None نباشه
if o.__hash__ is not None:
...
این تا حدی مشکل رو حل میکنه اما از اونجایی که پایتون یه زبان به شدت داینامیک عه:
class Spam:
def __eq__(self): ...
Spam.hash = "Gotcha, Im neither hashable nor None =)"
پس بهترین راهحل چیه؟
It is easier to ask forgiveness than permission
try:
hash(o)
except TypeError:
print("unhashable")
else:
print("hashable")
اما یه سوال بی جواب میمونه!
بالاتر گفتیم اگه داندر eq رو اورراید کنیم آبجکت ما دیگه hashable نیست و توی ست و دیکشنری نمیتونیم استفاده کنیم. من میخوام اون ور اورراید کنم و بازم hashable باشه 😒😒
خب جوابش سادهست
شما باید داندر hash رو هم اورراید کنید و یه مقدار int برگردونید
نکتهای که هست و باید بهش توجه داشته باشید اینه که باید بتونید یه عددی تولید کنید که تکراری شدنش سخت باشه (اگه تکراری بشه اشکالی نداره) و به ویژگیهای آبجکت شما وابسته هم باشه (حتما قرار نیست به ویژگیهاش وابسته باشه، اما اگه باشه، اون نکتهی قبلی راحتتر بدست میاد)
برای مثال
class Spam:
def __init__(self, name):
self.name = name
def __eq__(self):
...
def __hash__(self):
return hash(self.name)
تبعا شما اسامی مختلفی قراره به هر آبجکت که از Spam درست میکنید بدید، و این باعث میشه که hash هر بار فرق کنه
اما اگه اسم یکسان هم بدید، مشکلی نیست یه قانونی هست توی بحث hash که میگه:
اگر دو آبجکت دقیقا یکسان باشن، (یعنی دو تا رفرنس از یک آبجکت رو داشته باشیم) باید hash یکسانی داشته باشن
اما اگر ما دو تا hash یکسان از دو تا آبجکت داشتیم، الزاما اون دو آبجکت یکی نیستن.
به این حالت که هش یکسانه ولی آبجکتا یکی نیستن، میگن hash collision. که پایتون خودش این رو هندل میکنه
و بحثش در این مقال "دیگر 😮💨" نمیگنجد.
موفق باشید 😁✌️
#M4hdi
〰️〰️〰️〰️〰️〰️〰️
©@raspberry_pythonRepost from هشتگ تبلیغ تخصصی
💻 دوره آموزشی «علـــــم داده (Data Science)»
✅ آموزش با نرم افزارها و زبــانهای R، Python و SQL Server
🔥 نیاز روز بــــازار کــــار ایــــــران و خـــارج
مخاطبان دوره:
🔸 دانشجویان و فارغالتحصیلان کلیه رشتههای تحصیلی
🔹 علاقمندان #علم_داده و تحلیلگری داده
🔸 کارشناسان و مدیران علوم داده
🔹 تحلیلگران کسب و کار
🔬 آموزش #آنلاین و با موردکاویهای واقعی و پروژه
🏛 موسسه آموزش عالی آزاد توسعه
📃 با گواهینامه مورد تایید وزارت علوم، تحقیقات و فناوری
👈 مشاهده جزئیات دوره و مشاوره رایگان (کلیک کنید) 👁🗨
➖➖
کیت کامل رزبری پای ۴
شامل :(تمام قطعات نو هستند)
یک عدد برد رزبری پای ۴ با رم ۲ گیگ مشخصات کاملش در عکس هست
UK چینی نیست
همراه با لوازم زیر :
یک عدد آداپتور اصلی Type c
یک عدد کیس مخصوص طرح اپل
یک عدد کابل رابط پاور مخصوص خاموش و روشن کردن بشکل دکمه ای هست
یک عدد کابل HDMI
یک عدد کابل برق Type c
یک عدد حافظه 64 گیگ برند SanDisk
یک عدد رمریدر SD card reader
یک عدد فن مخصوص برد رزبری پای
ارزش کل قطعات ۶ تومنی هست
قیمت فروش ۵.۴۰۰
✔️ سوال.
بهترین راه برای فهمیدن اینکه یه آبجکت hashable هست، چیه؟!
جوابتون رو کامنت کنید.
پاسخش رو فردا میگذارم.
#M4hdi
〰️〰️〰️〰️〰️〰️
©@raspberry_python
آکادمی همراه اول برگزار میکند:
🛎 دوره بین المللی آنلاین "اینترنت اشیاء در شهر هوشمند"
🔹 معرفی نفرات برتر به شرکت های وابسته همراه اول جهت همکاری
🔸ارائه بیش از 50 مثال عملی
🔹آموزش کار با MIT APP
🔸همراه با پروژه های تخصصی
🎤 ارائه دهندگان:
دکتر مهدی قیصری (هیئت علمی دانشگاه هاربین اینستیتو و تکنولوژی چین)
دکتر آتا جهانگیر مشیدی (دانشیار دانشگاه جیانگشی چین)
دکتر محمد فرجود (مدیرعامل سازمان فاوا هلدینگ بانک تجارت)
📆 تاریخ شروع برگزاری دوره: 5 مرداد ماه ۱۴۰۱
⏳ مدت دوره: 34 ساعت آموزش شامل: 24 ساعت فیلم آموزشی ضبطشده + 6 ساعت پرسش و پاسخ آنلاین + 4 ساعت منتورینگ
🎁 30% هدیه ویژه ثبت نام زودهنگام با کد تخفیف: SMARTCITY (مهلت استفاده تا 31 تیر)➕ امکان قسط بندی هزینه دوره برای دانشجویان
🔗 مشاهده اطلاعات بیشتر و ثبتنام:
🌐 zaya.io/q1j91
❓پاسخ به سوالات: (پاسخگویی به تماس تا ساعت 17)
🆔 @AcademyHamrah1
📞 09902032003
Repost from علم و فناوری
آکادمی همراه اول برگزار میکند:
🛎 دوره بین المللی آنلاین "اینترنت اشیاء در شهر هوشمند"
🔹 معرفی نفرات برتر به شرکت های وابسته همراه اول جهت همکاری
🔸ارائه بیش از 50 مثال عملی
🔹آموزش کار با MIT APP
🔸همراه با پروژه های تخصصی
🎤 ارائه دهندگان:
دکتر مهدی قیصری (هیئت علمی دانشگاه هاربین اینستیتو و تکنولوژی چین)
دکتر آتا جهانگیر مشیدی (دانشیار دانشگاه جیانگشی چین)
دکتر محمد فرجود (مدیرعامل سازمان فاوا هلدینگ بانک تجارت)
📆 تاریخ شروع برگزاری دوره: 5 مرداد ماه ۱۴۰۱
⏳ مدت دوره: 34 ساعت آموزش شامل: 24 ساعت فیلم آموزشی ضبطشده + 6 ساعت پرسش و پاسخ آنلاین + 4 ساعت منتورینگ
🎁 30% هدیه ویژه ثبت نام زودهنگام با کد تخفیف: SMARTCITY (مهلت استفاده تا 31 تیر)➕ امکان قسط بندی هزینه دوره برای دانشجویان
🔗 مشاهده اطلاعات بیشتر و ثبتنام:
🌐 zaya.io/q1j91
❓پاسخ به سوالات: (پاسخگویی به تماس تا ساعت 17)
🆔 @AcademyHamrah1
📞 09902032003
Organize Python code like a PRO 🐍📦
پروژهتون رو مثل یک حرفهای ساختاربندی و مرتب کنید.
از اونجایی که پایتون یک زبان خیلی منعطف هست (مثل جاوا نیست که وقتی یه فایل جاوا درست میکنید باید یه کلاسِ پابلیک به همون اسم داخلش باشه) شما این اجازه رو دارید که کل کد یک پروژه رو توی یک فایل، و یا هر تابع رو توی یک فایل جدا بنویسید 😑🥴
با این مقاله یاد بگیرید که چگونه پروژهتون رو درست ساختار بندی کنید.
https://guicommits.com/organize-python-code-like-a-pro/
〰〰〰〰〰〰
©@raspberry_python
Organize Python code like a PRO 🐍📦
پروژهتون رو مثل یک حرفهای ساختاربندی و مرتب کنید.
از اونجایی که پایتون یک زبان خیلی منعطف هست (مثل جاوا نیست که وقتی یه فایل جاوا درست میکنید باید یه کلاسِ پابلیک به همون اسم داخلش باشه) شما این اجازه رو دارید که کل کد یک پروژه رو توی یک فایل، و یا هر تابع رو توی یک فایل جدا بنویسید 😑🥴
با این مقاله یاد بگیرید که چگونه پروژهتون رو درست ساختار بندی کنید.
https://guicommits.com/organize-python-code-like-a-pro/
〰〰〰〰〰〰
©@raspberry_python
Repost from Persian python
سلام دوستان وقتتون بخیر
ویدیو پلی لیست Pyqt6 آپلود شد
قسمت : 38
موضوع : QML : Button & Handling Event - Call Function - Label - Row - Column
امیدوارم که مفید بوده باشه
میتونین از لینک زیر تماشا کنید
https://youtu.be/USpO3Kvngjk
فایل های این ویدیو در گیت هاب:
https://github.com/persianpython/Pyqt6
Repost from N/a
آکادمی همراه اول برگزار میکند:
🛎 بوت کمپ آنلاین تابستانی پایتون و هوش مصنوعی
➕بدون نیاز به تجربه قبلی برنامه نویسی #پایتون و دانش #هوش_مصنوعی
➕ حل تمرین و پرسش و پاسخ زنده هفتگی با مهندسین مجرب شرکت های حاضر در بوتکمپ
➕تجربه یادگیری مستقیم از طریق کدنویسی برای پروژه های واقعی از قلب شرکت های مطرح فناوری و هوش مصنوعی کشور
➕معرفی نفرات برتر به شرکت های حاضر در بوتکمپ برای #کارآموزی و #استخدام
🎤 مدرسین دوره:
🔸 دکتر هشام فیلی
🔹دکتر یدالله یعقوب زاده
🔸دکتر حسین زینلی
🔹دکتر رشاد حسینی
🔸دکتر عماد الدین فاطمی زاده
🔹 مهندس جمال کزازی
🏢 همکاران دوره:
مرکز تحقیق و توسعه همراه اول
شرکت هوش پارت
شرکت سنسیفای
⏱ مدت دوره: بیش از 80 ساعت آموزش تئوری و کدنویسی
🔗 مشاهده اطلاعات بیشتر و ثبتنام:
🌐 zaya.io/4adog
🎖 امکان قسط بندی برای دانشجویان فراهم است
🎁 تخفیف 45 درصدی تا جمعه این هفته
❓پاسخ به سوالات: (پاسخگویی به تماس تا ساعت 17)
🆔 @AcademyHamrah1
📞 09902032003
🔰 11GB THE COLLECTION OF MOST VALUABLE & PREMIUM COURSES ABSOLUTELY FREE 🔰
Mix Categorized Courses of :-
Python 3
C Programming
C++
Graphics Design
Software Testing
JavaScript
Vue.js
Cyber Security
Node.js
Video Editing
SEO
Affiliate Marketing
HTML CSS
Django
Laravel
MySQL Database
Wordpress Beginners
Game Designing
AR VR
Java with OOP
WordPress Theme Development
Game Development
Angular 8
React
Digital Marketing
Qt 5 C++
Data Structure and Algorithm
Geometry
3D Animation Maya
App Development
Access from here
