یکی از کاربرد های bitwise operator ها:
سلام. اگرچه توی زبان های سطح پایین تر استفاده از bitwise operator ها خیلی مرسومه، توی پایتون کمتر نیاز میشه تا برای حل مشکلمون بریم سراغشون و عموما از جایگزین های high-level تری استفاده میکنیم. ولی دونستن اینکه چیکار میکنن بعضی جاها میتونه مفید باشه.
فرض کنید میخوایم با یک regex ساده یه عبارتی رو match کنیم:
موضوع اینجاست که ما یک سری فلگ از پیش تعریف شده داریم که توان های عدد ۲ هستن. اگه یه نگاه بشون بندازیم:
حالا اگر کسی به ما عدد ۱۸ رو بده چطور میتونیم بفهمیم چه flag هایی ست شده؟ با AND:
نکته ی خوبش این بود که تنها با یک عدد این اطلاعات رو منتقل کردیم.
مثال دومی که از این استفاده کرده ماژول selectors هست که وقتی یه socket ای آماده میشه و میخواد بگه آماده ی read هست یا write ، بهمون یه mask میده که از روی این mask باید بفهمیم. یعنی یه همچین چیزی داریم:
با همون if بالا متوجه میشیم و کاری که قرار هست انجام بدیم رو با توجه به این عدد انجام میدیم.
🖊 @AmirSoroushh
سلام. اگرچه توی زبان های سطح پایین تر استفاده از bitwise operator ها خیلی مرسومه، توی پایتون کمتر نیاز میشه تا برای حل مشکلمون بریم سراغشون و عموما از جایگزین های high-level تری استفاده میکنیم. ولی دونستن اینکه چیکار میکنن بعضی جاها میتونه مفید باشه.
فرض کنید میخوایم با یک regex ساده یه عبارتی رو match کنیم:
import reمچ نمیشن! حالا کافیه به عنوان flag بهش عدد ۱۸ رو بدیم:
print(re.search("ABC.", "abc\n"))
print(re.search("ABC.", "abc\n", flags=18))مچ شد! درواقع با دادن عدد ۱۸ بهش گفتیم که case-insensitive باش و new line character ها رو هم با نقطه بگیر. ولی چطور از عدد ۱۸ این رو فهمید؟
موضوع اینجاست که ما یک سری فلگ از پیش تعریف شده داریم که توان های عدد ۲ هستن. اگه یه نگاه بشون بندازیم:
TEMPLATE = 1 -> 00000001
IGNORECASE = 2 -> 00000010
LOCALE = 4 -> 00000100
MULTILINE = 8 -> 00001000
DOTALL = 16 -> 00010000
ما درواقع IGNORECASE رو OR کردیم با DOTALL که شد:00010010
یا همون ۱۸.حالا اگر کسی به ما عدد ۱۸ رو بده چطور میتونیم بفهمیم چه flag هایی ست شده؟ با AND:
TEMPLATE = 1
IGNORECASE = 2
LOCALE = 4
MULTILINE = 8
DOTALL = 16
flag = 18
if flag & TEMPLATE:
print("Has TEMPLATE flag")
if flag & IGNORECASE:
print("Has IGNORECASE flag")
if flag & DOTALL:
print("Has DOTALL flag")
به جای پاس دادن عدد ۱۸ میشه خیلی راحت از "|" استفاده کرد و چیزی رو حفظ نکرد:print(re.search("ABC.", "abc\n", flags=IGNORECASE | DOTALL))
این خودش ۱۸ رو میفرسته.نکته ی خوبش این بود که تنها با یک عدد این اطلاعات رو منتقل کردیم.
مثال دومی که از این استفاده کرده ماژول selectors هست که وقتی یه socket ای آماده میشه و میخواد بگه آماده ی read هست یا write ، بهمون یه mask میده که از روی این mask باید بفهمیم. یعنی یه همچین چیزی داریم:
EVENT_READ = (1 << 0)
EVENT_WRITE = (1 << 1)
اگه ۳ بود یعنی هم READ هم WRITE. اگه ۲ بود یعنی فقط WRITE، اگه 1 بود یعنی فقط READ.با همون if بالا متوجه میشیم و کاری که قرار هست انجام بدیم رو با توجه به این عدد انجام میدیم.
🖊 @AmirSoroushh
✅ شرکت آناکوندا وبسایت
https://pyscript.com/
رو لانچ کرد 😁🎉
یک SaaS رایگان برای استفاده از pyscript تا بتونید اپلیکیشنهای پایتونی رو توی مرورگر براحتی اجرا کنید 😁
#m4hdi
https://pyscript.com/
رو لانچ کرد 😁🎉
یک SaaS رایگان برای استفاده از pyscript تا بتونید اپلیکیشنهای پایتونی رو توی مرورگر براحتی اجرا کنید 😁
#m4hdi
🐍 Python & Raspberry 🐍
✅ شرکت آناکوندا وبسایت https://pyscript.com/ رو لانچ کرد 😁🎉 یک SaaS رایگان برای استفاده از pyscript تا بتونید اپلیکیشنهای پایتونی رو توی مرورگر براحتی اجرا کنید 😁 #m4hdi
https://jeff.glass/post/first-look-pyscript-dot-com/
این مقاله، سایت رو بررسی کرده و راجع به هر قسمتش توضیحاتی داده
این مقاله، سایت رو بررسی کرده و راجع به هر قسمتش توضیحاتی داده
jeff.glass
PyScript.com - First Look
Exploring the new commerical PyScript offering from Anaconda
Making a simple Chatbot by using Scratch in Python 👉
https://techprogramer.com/making-a-simple-chatbot-by-using-scratch-in-python/#more-509
دنبال کردن هشتگ more
@raspberry_python
https://techprogramer.com/making-a-simple-chatbot-by-using-scratch-in-python/#more-509
دنبال کردن هشتگ more
@raspberry_python
🔴مجموعه ویدیوهای ۱۰ قسمتی "تاریخچه حروفچینی از ابتدا تا عصر دیجیتال" در یوتیوب فریا:
📎قسمت اول: حروفچینی و انواع آن
📎قسمت دوم: حروفچینی متحرک چوبی و سرامیکی در چین
📎قسمت سوم: چاپ متحرک چوبی در کره و ژاپن
📎قسمت چهارم: چاپ متحرک چوبی در غرب آسیا، شمال آفریقا و اروپا
📎قسمت پنجم: چاپ متحرک فلزی در چین و کره
📎قسمت ششم: گوتنبرگ
📎قسمت هفتم: ماشین حروفچینی linotype
📎قسمت هشتم: ماشین حروفچینی monotype
📎قسمت نهم: phototypesetting
📎قسمت دهم: عصر دیجیتال
🔵ارائه دهنده: ریحانه دانش دوست
🔗کانال یوتیوب:
https://www.youtube.com/c/freyjafa
📎قسمت اول: حروفچینی و انواع آن
📎قسمت دوم: حروفچینی متحرک چوبی و سرامیکی در چین
📎قسمت سوم: چاپ متحرک چوبی در کره و ژاپن
📎قسمت چهارم: چاپ متحرک چوبی در غرب آسیا، شمال آفریقا و اروپا
📎قسمت پنجم: چاپ متحرک فلزی در چین و کره
📎قسمت ششم: گوتنبرگ
📎قسمت هفتم: ماشین حروفچینی linotype
📎قسمت هشتم: ماشین حروفچینی monotype
📎قسمت نهم: phototypesetting
📎قسمت دهم: عصر دیجیتال
🔵ارائه دهنده: ریحانه دانش دوست
🔗کانال یوتیوب:
https://www.youtube.com/c/freyjafa
YouTube
History of Typesetting (farsi) - تاریخچهی حروفچینی: قسمت اول
تاریخچه حروفچینی : حروفچینی و انواع آن
سلام ریحانه هستم از کانال فریا. در این دوره قراره با هم تاریخچه مختصر حروفچینی از آغاز تا عصر دیجیتال رو بررسی کنیم.
توی قسمت اول به حروفچینی و انواع آن و همچنین به بررسی تایخچه مهر های استوانه ای میپردازیم.
donate…
سلام ریحانه هستم از کانال فریا. در این دوره قراره با هم تاریخچه مختصر حروفچینی از آغاز تا عصر دیجیتال رو بررسی کنیم.
توی قسمت اول به حروفچینی و انواع آن و همچنین به بررسی تایخچه مهر های استوانه ای میپردازیم.
donate…
Forwarded from Ai and python
کاملترین مرجع آموزشی پایتون و ابزارهای هوش مصنوعی و علوم مرتبط
Deep Learning, Tensorflow , Keras & ...
اخبار هوش مصنوعی
مقالات و یافته های جدید یادگیری عمیق
آموزشهای مرتبط با تنسرفلو و کراس
بینایی ماشین
و ...👇👇👇
به کانال متصل زیر ملحق شوید
🔸 https://t.me/+ygjnNMaoWZc5Zjc0
Deep Learning, Tensorflow , Keras & ...
اخبار هوش مصنوعی
مقالات و یافته های جدید یادگیری عمیق
آموزشهای مرتبط با تنسرفلو و کراس
بینایی ماشین
و ...👇👇👇
به کانال متصل زیر ملحق شوید
🔸 https://t.me/+ygjnNMaoWZc5Zjc0
4_5914841321519973389.mp4
5.5 MB
پَرِ طاووس بر اوراقِ مَصاحف ديدم
گفتم اين منزلت از قدرِ تو میبينم بيش
گفت: خاموش! که هر کس که جمالی دارد
هر کجا پای نهد دست ندارندَش پیش
هیچ چیزی از تجربهٔ زیبایی فراتر نیست. بالاترین حدّ درکِ انسانی زیباییست. زیباییست که فاتح نهایی همهٔ مباحث جهان است.
محمدرضا شفیعی کدکنی
اولِ اردیبهشتماه، روز بزرگداشت سعدی
گفتم اين منزلت از قدرِ تو میبينم بيش
گفت: خاموش! که هر کس که جمالی دارد
هر کجا پای نهد دست ندارندَش پیش
هیچ چیزی از تجربهٔ زیبایی فراتر نیست. بالاترین حدّ درکِ انسانی زیباییست. زیباییست که فاتح نهایی همهٔ مباحث جهان است.
محمدرضا شفیعی کدکنی
اولِ اردیبهشتماه، روز بزرگداشت سعدی
درود.
تست نویسی یکی از مهم ترین ارکان توسعه نرم افزار هست. چهار تا اصطلاح معروف که موقع تست نویسی به کار میره:
1. False-Negative
کد شما مشکل "داره" + تست داره به غلط میگه که کد شما مشکلی نداره.
2. False-Positive
کد شما مشکلی "نداره" + تست داره به غلط میگه که کد شما مشکل داره.
3. True-Negative
کد مشکلی "نداره" + تست داره به درستی نشون میده که مشکلی نداره.
4. True-Positive
کد مشکل "داره" + تست به درستی نشون میده که مشکل داره .
خیلی از افراد تعاریف دیگری از این ها دارن که کاملا برعکس چیزیه که خوندین. ولی این تعاریف منبعش از کتاب xUnit Test Patterns از آقای Gerard Meszaros که آقای Martin Fowler هم تاییدش کردن.
راه درست فکر کردن بهش هم این هست که به جای "مشکل" یا "باگ" بیاید از "کرونا" استفاده کنید. وقتی تست کرونا میدید و کرونا دارید(باگ دارید) توی تست میزنه POSITIVE. ولی اگه کرونا داشتید و تو تست زد NEGATIVE یعنی یک NEGATIVE عه غلط هست یا همون false negative.
🖊 @AmirSoroushh
تست نویسی یکی از مهم ترین ارکان توسعه نرم افزار هست. چهار تا اصطلاح معروف که موقع تست نویسی به کار میره:
1. False-Negative
کد شما مشکل "داره" + تست داره به غلط میگه که کد شما مشکلی نداره.
2. False-Positive
کد شما مشکلی "نداره" + تست داره به غلط میگه که کد شما مشکل داره.
3. True-Negative
کد مشکلی "نداره" + تست داره به درستی نشون میده که مشکلی نداره.
4. True-Positive
کد مشکل "داره" + تست به درستی نشون میده که مشکل داره .
خیلی از افراد تعاریف دیگری از این ها دارن که کاملا برعکس چیزیه که خوندین. ولی این تعاریف منبعش از کتاب xUnit Test Patterns از آقای Gerard Meszaros که آقای Martin Fowler هم تاییدش کردن.
راه درست فکر کردن بهش هم این هست که به جای "مشکل" یا "باگ" بیاید از "کرونا" استفاده کنید. وقتی تست کرونا میدید و کرونا دارید(باگ دارید) توی تست میزنه POSITIVE. ولی اگه کرونا داشتید و تو تست زد NEGATIVE یعنی یک NEGATIVE عه غلط هست یا همون false negative.
🖊 @AmirSoroushh
Liskov Substitution Principle:
خانوم Barbara Liskov در سال ۱۹۸۷ یه اصلی رو به نام LSP معرفی کردن که یکی از اصول طراحی کلاس ها در object oriented programming هست.
به طور خلاصه این اصل میگه اگر تایپ B از تایپ A ارث بری میکنه، هرجایی که ما نمونه ای از تایپ A داشته باشیم باید بتونیم به جاش نمونه ای از تایپ B رو قرار بدیم بدون اینکه برنامه به مشکل بخوره. در غیر این صورت این رابطه ارث بری صحیح نیست.
مثال: فرض کنید یه کلاس base داریم به اسم Bird که یک متد داره به اسم Fly:
رابطه ی صحیح چطور میتونه باشه؟ اینکه تشخیص بدیم اصلا Fly متد درستی برای Bird نبوده و اون رو این شکلی بازنویسی کنیم:
خانوم Barbara Liskov در سال ۱۹۸۷ یه اصلی رو به نام LSP معرفی کردن که یکی از اصول طراحی کلاس ها در object oriented programming هست.
به طور خلاصه این اصل میگه اگر تایپ B از تایپ A ارث بری میکنه، هرجایی که ما نمونه ای از تایپ A داشته باشیم باید بتونیم به جاش نمونه ای از تایپ B رو قرار بدیم بدون اینکه برنامه به مشکل بخوره. در غیر این صورت این رابطه ارث بری صحیح نیست.
مثال: فرض کنید یه کلاس base داریم به اسم Bird که یک متد داره به اسم Fly:
class Bird:
def fly(self):
print("I can fly...")
و دو تا subclass داریم به اسم Duck (اردک) و Ostrich (شترمرغ) که از Bird ارث بری میکنن:class Duck(Bird):الان اردک میتونه پرواز کنه چون یه پرنده هست، ولی آیا شترمرغ میتونه پرواز کنه؟ نه نمیتونه. آیا پرنده نیست؟ چرا هست. پس این رابطه درست نیست و اصل LSP رو رعایت نمیکنه.
pass
class Ostrich(Bird):
pass
رابطه ی صحیح چطور میتونه باشه؟ اینکه تشخیص بدیم اصلا Fly متد درستی برای Bird نبوده و اون رو این شکلی بازنویسی کنیم:
class Bird:
pass
class FlyingBirds(Bird):
def fly(self):
print("I can fly...")
class Duck(FlyingBirds):
pass
class Ostrich(Bird):
pass
✒️ @Amirsoroushhدکتر فیروز نادری، دانشمند ایرانی ناسا در ۷۷ سالگی درگذشت.
او که معاون پیشین مدیرکل «آزمایشگاه پیشرانش جت» در ناسا بود، توانست پس از تصدی پست مدیریت برنامههای اکتشافات منظومه شمسی، ۳ ماموریت مهم از جمله پرتاب دو کاوشگر مریخنورد «روح» و «فرصت» را با موفقیت به انجام برساند.
یاد و نامش گرامی🌹
@raspberry_python
او که معاون پیشین مدیرکل «آزمایشگاه پیشرانش جت» در ناسا بود، توانست پس از تصدی پست مدیریت برنامههای اکتشافات منظومه شمسی، ۳ ماموریت مهم از جمله پرتاب دو کاوشگر مریخنورد «روح» و «فرصت» را با موفقیت به انجام برساند.
یاد و نامش گرامی🌹
@raspberry_python