🐍 Python & Raspberry 🐍
8.22K subscribers
1.92K photos
125 videos
623 files
1.23K links
Python- Raspberry Pi-AI-IOT
ادمین : فرهاد ناصری زاده
@farhad_naserizadeh
@farhad3412

گروه پایتون
@Python_QA
تبادل
@mmtahmasbi
کانال مرتبط
@new_mathematical
@micropython_iot
@c_micro
اینستاگرام
http://Instagram.com/python_raspberry
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی از استک‌اورفلو کپی میکنی 😂🤦‍♂️
@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%
نمیدونم دیدن جواب
در نسخه ی 3.5 از پایتون، یک operator جدید یعنی "@" یا همون Matrix Multiplication معرفی شد.
هدف اصلی پیاده سازیش برای انجام ضرب ماتریسی بود. هیچکدام از تایپ های 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 بار محاسبه نکنیم بلکه بعد از یک بار محاسبه کردن، ذخیرش کنیم و در اعداد بعدی که باز نیاز هست محاسبه بشه فقط از مقدار ذخیره شده استفاده کنیم:
cache = {}
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

برای دیدن تاثیرش میتونین عددی بیشتر از 35 رو یک بار با استفاده از memoization یک بار بدون اون به این تابع بدین.

پایتون هم برای راحتی ما یک decorator ای رو پیاده سازی کرده به اسم lru_cache و میتونیم این رو برای فانکشن های خودمون استفاده کنیم :
from functools import lru_cache


@raspberry_python
🐍 Python & Raspberry 🐍
تکنیک memoization : ما از این تکنیک برای سرعت بخشیدن به محاسبات مثل محاسبه مقدار فیبوناچی به روش بازگشتی استفاده میکنیم. اساس کار memoization ذخیره کردن مقدار محاسبه شده در مرحله ی قبل هست. به این صورت که مثلا در همین محاسبه مقدار فیبوناچی ، مقداری رو 2 بار…
ی مثال خیلی خوب این موضوع توی صنعت اینجوریه که
فرض کنید یک سایتی دارید و کلی سرش شلوغه
حالا یکی ی ریکوستی میفرسه براش ولی چون سرش خیلی شلوغه اون ریکوست رو میزاره تو صف تا بعدا پردازش کنه ولی کاربر فک میکنه ک اینترنت خودش خرابه یا هرچیز دیگه و هی تند تند دکمه f5 رو میزنه و همه اینا ی ریکوست جدید ب سایت میفرسته ک باعث میشه سایت شلوغ تر بشه ولی اگه از تکنیک زیبا ک سروش ذکر کرد استفاده کنیم دیگه لازم نیس همه اون سربار اضافی رو ب سایت اعمال کنیم ( ب اصطلاح کاریزمای سایت میره بالا ( این اصطلاحو همین الان از خودم دراوردم شاید اصلا مرسوم نباشه))

@raspberry_python
کانال پردازش سیگنال و هوش مصنوعی

👇👇👇

@ai_dsp
Cryptography arithmetic
2020

@raspberry_pathon
Omondi A.R - Cryptography arithmetic-Springer (2020).pdf
1.5 MB
Cryptography arithmetic
2020

@raspberry_pathon
🟢گروه رزبری پای و پایتون

👇👇

@raspberry_micro
🟢 کانال تحلیل بورس
👇👇👇

@iransignal2
Master Machine Learning Algorithms.pdf
1.1 MB
الگوریتم های یادگیری ماشین
@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
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی بلاخره بعد از مدتها مدرکمو از دانشگاه میگیرم

#fun
@RASPBERRY_PYTHON
[ Photo ]
ساختمان داده‌ (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 داریم کار میکنیم)
مثال:

>>> 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