This media is not supported in your browser
VIEW IN TELEGRAM
وقتی از استکاورفلو کپی میکنی 😂🤦♂️
@raspberry_python
@raspberry_python
فرض کنید ی تعداد عدد دارید و میخواید اعداد زوجش رو پیدا کنید، کدوم یک از گزینه های زیر سریع تر کار میکنه ؟
Anonymous Quiz
26%
[i%2 for i in arr]
13%
[i&1 for i in arr]
9%
[int(i//2==i/2) for i in arr]
9%
[divmod(i,2)[1] for i in arr]
10%
نمیشه گفت یکیش از بقیه سریع تره بعضی هاشون سرعت تقریبا یکسان دارن
34%
نمیدونم دیدن جواب
🐍 Python & Raspberry 🐍
فرض کنید ی تعداد عدد دارید و میخواید اعداد زوجش رو پیدا کنید، کدوم یک از گزینه های زیر سریع تر کار میکنه ؟
دقت کنید ک دید الگوریتمی نداشته باشید و فقط باید بدونید پایتون با هرکدوم چطور رفتار میکنه
@raspberry_python
@raspberry_python
در نسخه ی 3.5 از پایتون، یک operator جدید یعنی "@" یا همون Matrix Multiplication معرفی شد.
هدف اصلی پیاده سازیش برای انجام ضرب ماتریسی بود. هیچکدام از تایپ های builtin در حال حاضر این operator رو پیاده سازی نکردن ولی این امکان برای ما هست تا اون رو برای کلاس های خودمون پیاده سازی کنیم :
@raspberry_python
هدف اصلی پیاده سازیش برای انجام ضرب ماتریسی بود. هیچکدام از تایپ های builtin در حال حاضر این operator رو پیاده سازی نکردن ولی این امکان برای ما هست تا اون رو برای کلاس های خودمون پیاده سازی کنیم :
class C:
def __matmul__(self, other):
return "matmul operator is called."
obj1 = C()
obj2 = C()
print(obj1 @ obj2)
output : matmul operator is called.@raspberry_python
تکنیک memoization :
ما از این تکنیک برای سرعت بخشیدن به محاسبات مثل محاسبه مقدار فیبوناچی به روش بازگشتی استفاده میکنیم.
اساس کار memoization ذخیره کردن مقدار محاسبه شده در مرحله ی قبل هست. به این صورت که مثلا در همین محاسبه مقدار فیبوناچی ، مقداری رو 2 بار محاسبه نکنیم بلکه بعد از یک بار محاسبه کردن، ذخیرش کنیم و در اعداد بعدی که باز نیاز هست محاسبه بشه فقط از مقدار ذخیره شده استفاده کنیم:
پایتون هم برای راحتی ما یک decorator ای رو پیاده سازی کرده به اسم lru_cache و میتونیم این رو برای فانکشن های خودمون استفاده کنیم :
ما از این تکنیک برای سرعت بخشیدن به محاسبات مثل محاسبه مقدار فیبوناچی به روش بازگشتی استفاده میکنیم.
اساس کار memoization ذخیره کردن مقدار محاسبه شده در مرحله ی قبل هست. به این صورت که مثلا در همین محاسبه مقدار فیبوناچی ، مقداری رو 2 بار محاسبه نکنیم بلکه بعد از یک بار محاسبه کردن، ذخیرش کنیم و در اعداد بعدی که باز نیاز هست محاسبه بشه فقط از مقدار ذخیره شده استفاده کنیم:
cache = {}برای دیدن تاثیرش میتونین عددی بیشتر از 35 رو یک بار با استفاده از memoization یک بار بدون اون به این تابع بدین.
def fib(n):
if n in cache:
return cache[n]
if n == 1:
result = 1
elif n == 2:
result = 1
elif n > 2:
result = fib(n - 1) + fib(n - 2)
cache[n] = result
return result
پایتون هم برای راحتی ما یک decorator ای رو پیاده سازی کرده به اسم lru_cache و میتونیم این رو برای فانکشن های خودمون استفاده کنیم :
from functools import lru_cache
@raspberry_python
🐍 Python & Raspberry 🐍
تکنیک memoization : ما از این تکنیک برای سرعت بخشیدن به محاسبات مثل محاسبه مقدار فیبوناچی به روش بازگشتی استفاده میکنیم. اساس کار memoization ذخیره کردن مقدار محاسبه شده در مرحله ی قبل هست. به این صورت که مثلا در همین محاسبه مقدار فیبوناچی ، مقداری رو 2 بار…
ی مثال خیلی خوب این موضوع توی صنعت اینجوریه که
فرض کنید یک سایتی دارید و کلی سرش شلوغه
حالا یکی ی ریکوستی میفرسه براش ولی چون سرش خیلی شلوغه اون ریکوست رو میزاره تو صف تا بعدا پردازش کنه ولی کاربر فک میکنه ک اینترنت خودش خرابه یا هرچیز دیگه و هی تند تند دکمه f5 رو میزنه و همه اینا ی ریکوست جدید ب سایت میفرسته ک باعث میشه سایت شلوغ تر بشه ولی اگه از تکنیک زیبا ک سروش ذکر کرد استفاده کنیم دیگه لازم نیس همه اون سربار اضافی رو ب سایت اعمال کنیم ( ب اصطلاح کاریزمای سایت میره بالا ( این اصطلاحو همین الان از خودم دراوردم شاید اصلا مرسوم نباشه))
@raspberry_python
فرض کنید یک سایتی دارید و کلی سرش شلوغه
حالا یکی ی ریکوستی میفرسه براش ولی چون سرش خیلی شلوغه اون ریکوست رو میزاره تو صف تا بعدا پردازش کنه ولی کاربر فک میکنه ک اینترنت خودش خرابه یا هرچیز دیگه و هی تند تند دکمه f5 رو میزنه و همه اینا ی ریکوست جدید ب سایت میفرسته ک باعث میشه سایت شلوغ تر بشه ولی اگه از تکنیک زیبا ک سروش ذکر کرد استفاده کنیم دیگه لازم نیس همه اون سربار اضافی رو ب سایت اعمال کنیم ( ب اصطلاح کاریزمای سایت میره بالا ( این اصطلاحو همین الان از خودم دراوردم شاید اصلا مرسوم نباشه))
@raspberry_python
Master Machine Learning Algorithms.pdf
1.1 MB
الگوریتم های یادگیری ماشین
@raspberry_python
@raspberry_python
چند وقت پیش سایت stackoverflow نتایج نظرسنجی خودش رو نسبت به موضوعات مختلف برای سال 2020 اعلام کرد.
پنج تا مورد برتر در گزیده ای از نظر سنجی ها:
1- Most loved languages
1- Rust 86.1%
2-TypeScript 67.1%
3- Python 66.7%
4- Kotlin 62.9%
5- Go 62.3%
2- Most Wanted languages
1- Python 30%
2- JavaScript 18.5%
3- Go 17.9%
4- TypeScript 17.0%
5- Rust 14.6%
3- Most Wanted Databases
1- MongoDB 19.4%
2- PostgreSQL 15.6%
3- Elasticsearch 12.2%
4- Redis 12.2%
5- Firebase 9.2%
4- Most Wanted Web Frameworks
1- React.js 22.4%
2- Vue.js 16.4%
3- Angular 10.6%
4- Django 9.4%
5- Angular.js 7.7%
5- Languages with highest salary (global)
1- Perl $76k
2- Scala $76k
3- Go $74k
4- Rust $74k
5- Ruby $71k
برای دیدن لیست کامل میتونین وارد لینک زیر بشین:
https://insights.stackoverflow.com/survey/2020
@raspberry_python
پنج تا مورد برتر در گزیده ای از نظر سنجی ها:
1- Most loved languages
1- Rust 86.1%
2-TypeScript 67.1%
3- Python 66.7%
4- Kotlin 62.9%
5- Go 62.3%
2- Most Wanted languages
1- Python 30%
2- JavaScript 18.5%
3- Go 17.9%
4- TypeScript 17.0%
5- Rust 14.6%
3- Most Wanted Databases
1- MongoDB 19.4%
2- PostgreSQL 15.6%
3- Elasticsearch 12.2%
4- Redis 12.2%
5- Firebase 9.2%
4- Most Wanted Web Frameworks
1- React.js 22.4%
2- Vue.js 16.4%
3- Angular 10.6%
4- Django 9.4%
5- Angular.js 7.7%
5- Languages with highest salary (global)
1- Perl $76k
2- Scala $76k
3- Go $74k
4- Rust $74k
5- Ruby $71k
برای دیدن لیست کامل میتونین وارد لینک زیر بشین:
https://insights.stackoverflow.com/survey/2020
@raspberry_python
[ Photo ]
✅ ساختمان داده (Data Structure) از بنیادیترین مباحث مورد نیاز جهت یادگیری و درک بسیاری از مفاهیم عمده در علوم رایانه، بخصوص برنامه نویسی است. از این رو تصمیم گرفتیم دوره 10 جلسه ای از ساختمان داده رو برای دوستان علاقه مند برگزار کنیم و در آن مهم ترین و اصلی ترین نکات رو پوشش بدیم.
✅ توضیحات:
یکشنبه ها ۱۲ تا ۱
مدرس: خودم (کسری اسکندری)
هزینه: بسته ب تعداد شرکت کننده ها
حداکثر تعداد شرکت کننده ها: 10 نفر
پیشنیاز : سینتکس مقدماتی پایتون.
✅ سرفصل ها:
- مرتبه اجرایی
- برنامه های بازگشتی
- آرایه(انواع جستجو - حذف و اضافه - آرایه های تو در تو )
- صف و پشته (صف حلقوی )
- مبحث infix, prefix and infix
- لیست پیوندی (انواع پیاده سازی - دوطرفه - حلقوی )
- درخت ( دودویی - عمومی - BST - heap )
- گراف ( درخت پوشا )
- مرتب سازی ها
- درهم سازی ها
✅ تکمیلی: هرجلسه یک یا دو تمرین در جهت تثبیت مفاهیم برای دوستان ارائه میشه.
برای اطلاعات بیشتر و ثبت نام با @kasryeskandaraaa در تماس باشید.
✅ ساختمان داده (Data Structure) از بنیادیترین مباحث مورد نیاز جهت یادگیری و درک بسیاری از مفاهیم عمده در علوم رایانه، بخصوص برنامه نویسی است. از این رو تصمیم گرفتیم دوره 10 جلسه ای از ساختمان داده رو برای دوستان علاقه مند برگزار کنیم و در آن مهم ترین و اصلی ترین نکات رو پوشش بدیم.
✅ توضیحات:
یکشنبه ها ۱۲ تا ۱
مدرس: خودم (کسری اسکندری)
هزینه: بسته ب تعداد شرکت کننده ها
حداکثر تعداد شرکت کننده ها: 10 نفر
پیشنیاز : سینتکس مقدماتی پایتون.
✅ سرفصل ها:
- مرتبه اجرایی
- برنامه های بازگشتی
- آرایه(انواع جستجو - حذف و اضافه - آرایه های تو در تو )
- صف و پشته (صف حلقوی )
- مبحث infix, prefix and infix
- لیست پیوندی (انواع پیاده سازی - دوطرفه - حلقوی )
- درخت ( دودویی - عمومی - BST - heap )
- گراف ( درخت پوشا )
- مرتب سازی ها
- درهم سازی ها
✅ تکمیلی: هرجلسه یک یا دو تمرین در جهت تثبیت مفاهیم برای دوستان ارائه میشه.
برای اطلاعات بیشتر و ثبت نام با @kasryeskandaraaa در تماس باشید.
Forwarded from PySpider: board (ʜᴀᴍᴇᴅ)
This media is not supported in your browser
VIEW IN TELEGRAM
👾 تمرین پایتون 32
- تابع unzip
فرض کنید ی لیستی از تاپل ها داریم حالا میخوایم همه ایندکس های اول اون تاپل هارو کنار هم بزاریم و بعد همه ایندکس های دومش و همین جور الی اخر(در واقع برعکس تابع zip داریم کار میکنیم)
مثال:
- بخش امتیازی:
فرض کنید اندازه تاپل ها برابر نیس.مثال:
🧠 سطح: #متوسط
🚸جواب سوال به همراه سوال جدید فردا ساعت ۲۲ در کانال ارسال میشود
#تمرین_پایتون
🐲 @pyspyboard
- تابع unzip
فرض کنید ی لیستی از تاپل ها داریم حالا میخوایم همه ایندکس های اول اون تاپل هارو کنار هم بزاریم و بعد همه ایندکس های دومش و همین جور الی اخر(در واقع برعکس تابع zip داریم کار میکنیم)
مثال:
>>> unzip([(1,2),(3,4),(5,6)])
>>> [(1,3,5),(2,4,6)]
- بخش امتیازی:
فرض کنید اندازه تاپل ها برابر نیس.مثال:
>>> unzip([(1,2,3),(4,5),(6,7,8,9)])
>>> [(1,4,6),(2,5,7),(3,8),(9,)]
🧠 سطح: #متوسط
🚸جواب سوال به همراه سوال جدید فردا ساعت ۲۲ در کانال ارسال میشود
#تمرین_پایتون
🐲 @pyspyboard