🐍 Python & Raspberry 🐍
8.21K 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
Graph Data Structure Notes 🔥.pdf
11 MB
Done with Graph Data Stucture.. 🙌

It consists of some important Algorithms :
👉 DFS & BFS
👉 Dijkstra Algorithm
👉 Topological Sorting Algorithm
👉 Disjoint Set and krukshal's Algorithm
👉 Prim's Algorithm
👉 Belmanford Algorithm
👉 Floyd's Algorithm
👉 Kosaraju's Algorithm
👉 Bipartite Graph

All these concepts helped me to create a better view and understanding this data structure.



#data #algorithms #coding #gfg #leetcode #softwareengineer

@raspberry_python
Image Shffler in Python

پخش کننده(بُر زدن) تصویر با پایتون

@raspberry_python
✔️ فرض کنیم چنین سوالی داریم

"میخوایم ببینیم، آیا حرف nام letters در کلمه nام words وجود داره یا نه"

دو راه داریم که مشخص شدن.

بدون ران کردن و تست سرعت کد، این خیلی مهمه، بگید کدوم کند‌تره؟

و برای جواب‌تون حتما دلیل بتراشید

[خط سوم (choice) درست هست]
#M4hdi
〰️〰️〰️〰️〰️〰️〰️
©@raspberry_python
"سلام دوستان، میخواستم بدونم کسی کنکور دکترا هوش مصنوعی داده؟میخواستم ببینم منابع مطالعاتیتون رو بدونم"

اگه کسی جواب این سوال رو میدونه لطفا به این ایدی پیام بده
@Elecgirl66


لینک اینستاگرام کانال
👇👇👇

http://Instagram.com/python_raspberry
Forwarded from мя.àmìņ™
سلام
من یک ریپازیتوری ساختم در گیتهاب
https://github.com/aminkhani/Reinforcement-Learning
که تمام منابع خوب و مفید یادگیری تقویتی رو داخلش قرار دادم . و برای کسانی که میخاند وارد این حوزه بشند مفید خواهد بود
اگر هم فالو کنید بنده رو و اون ریپو رو استار⭐️ بدید خیلی خیلی ممنون میشم ، چون باعث دیده شدن میشه و بشه که بقییه هم ببینند و استفاده کنند
مرسی متشکر🌹🙏🏻
🐍 Python & Raspberry 🐍
✔️ فرض کنیم چنین سوالی داریم "میخوایم ببینیم، آیا حرف nام letters در کلمه nام words وجود داره یا نه" دو راه داریم که مشخص شدن. بدون ران کردن و تست سرعت کد، این خیلی مهمه، بگید کدوم کند‌تره؟ و برای جواب‌تون حتما دلیل بتراشید [خط سوم (choice) درست هست]…
✔️ جواب

تا حالا تریس‌بک دیدید؟ خب معلومه! اما این چه ربطی به جواب داره؟

اول بیاید یه تریس‌بک ببینیم:
Traceback (most recent call last):
File "/.../fields.py", line 241, in set
inst.data[self.name] = self.validator.validate(value)
File "/.../fields.py", line 662, in validate
raise ValidationError(messages=error_messages)
typesystem.base.ValidationError: {0: 'Must be a string.', 1: 'Must be a string.'}


هر یه دونه خطی که نوشته فلان فایل و کجا و یه خطی ازش آورده، چیزیه به اسم frame object.
هر تابعی که صدا زده میشه، توی call stack عه پایتون، یه فریم آبجکت درست میشه که استک مورد نیاز و دیکشنری ()locals عه اون و مقداری که ازش باید return بشه یا exception عی که باید ازش propagate بشه رو مدیریت میکنه، و تابع اون تو ران میشه.

یعنی return کار میکنه چون فریم آبجکت وجود داره و اون این کار رو برامون انجام میده.

وقتی پایتون یه مقداری رو به فریم دیگه ریترن میکنه، اون فریم باید از بین بره و gc و پایتون اینجا درگیرن، بساز خراب کن بساز خراب کن (که این توی توابع recursive اندکی فرق میکنه، هی فریم ساخته میشه روی هم توی استک و بعدش دونه دونه خراب میشن)

از اون طرف صدا زده شدن تابع و همین ساخته شدن فریم و اینا تبعا یه overhead عی داره و اصطلاحا function call، اندکی توی پایتون expensive هست (که البته توی پایتون ۳.۱۱ خیلی بهتر شده و تا ۳.۱۵ خیلی بهتر میشه)

روش اولی که توی صورت سوال هست، اگه گفتید چند تا تابع داره؟
1. list
2. map
+ 500 lambda

یعنی ۵۰۲ تا فانکشن کال رو فقط ما داریم می‌بینیم.

این همهههههههه فانکشن کال اتفاق میوفته

اما روش دوم

ما دو تا تابع می‌بینیم:
1. listcomp
2. zip
(اگه نمی‌دونستید باید بگم که لیست کامپری‌هنشن ها به یه تابع تبدیل میشن.)

توابعی هم که ما نمی‌بینیم، در جفت مثال‌ها داندر contains (اونجایی که l in w داریم) صدا زده میشه که، این تابع C هست:

https://github.com/python/cpython/blob/75a6441718dcbc65d993c9544e67e25bef120e82/Objects/unicodeobject.c#L10627

با یه حساب سر انگشتی:
اولی یه لیست و یه مپ و ۵۰۰ تا لامبدا و ۵۰۰ تا متد contains
و دومی یه لیست کامپری‌هنشن و یه زیپ و ۵۰۰ تا متد contains

و اگه موارد مشترک رو کم کنیم
اولی -> 502
دومی -> 2 تا

و این میشه که روش اول کندتر میشه 😁

#M4hdi

©@raspberry_python
✔️ «همه‌چیز در پایتون آبجکت است»

همه این رو یبار هم که شده شنیدیم!

ولی این عبارت در CPython و زبانی مثل C که مثل مثلا پایتون شئ‌گرایی و ارث‌بری به اون صورت نداره، چطور پیاده‌سازی شده؟
اصطلاحی مثل Duck typing در سطح کدهای C در CPython چطور اتفاق میوفته؟
در پایه‌ای ترین حالت آبجکت‌های پایتون، چه چیز‌های مشترکی دارن؟
تایپ float و تایپ dict چجوری نوشته شدن با C؟
چه تایپ‌هایی در CPython نشانی از داشتن len دارند؟
تابع len چگونه کار میکنه؟
تابع len چرا چنین، کار میکنه؟
پیچیدگی زمانی تابع len چگونه‌ است؟
تایپ list در CPython چطور نوشته شده است؟

روز یکشبه
ساعت ۷ عصر
اینجا
https://t.me/SEYED_BAX/1831
Forwarded from AI & DSP (فرهاد ناصری زاده 🐍)
فرا رسیدن تاسوعا و عاشورای حسینی بر محبان آن حضرت تسلیت باد.

@ai_dsp
لینکداین ثبت نام در ۲۰ آموزش پرطرفدار در سال اخیر رو تا ۳۰ آگست رایگان کرده میتونید در یکی از اونها ثبت نام کنید ،تمامی دوره های لینکداین داری سرتیفیکیشن هستند دوره های آموزش پایتون،sql,powerbi,و دیجیتال مارکتینگ از جمله این آموزش ها هستند با دوستان خود به اشتراک بگذارید
https://www.linkedin.com/business/learning/blog/top-skills-and-courses/the-most-popular-linkedin-learning-courses



@raspberry_python
The fastest way to build Flutter apps in Python
https://flet.dev/


@raspberry_python
خروجی کد شکل بالا?
Anonymous Quiz
42%
11
10%
101
18%
None
31%
Erorr
Forwarded from Persian python (Mohammad)
#تمرین_شئ_گرایی
تمرین چهارم

1. یک کلاس بسازید به اسم Vector
که 3تا آرگیومنت x, y ,z داشته باشه
بدون مقدار Default

2. تابع repr باید به طوری نوشته بشه که یوزر بتونه ازش برای باز سازی آبجکت استفاده کنه
( Reconstruct the instance )

3. باید اندازه بردار رو حساب کنیم
برای محاسبه بردار نیازه که شما جذر جمع توان 2 هر نقطه رو حساب کنید
from math import sqrt
sqrt( x **2 + y **2 + z **2 )
وقتی از تابع abs روی آبجکت استفاده میکنیم اندازه بردار رو برگردونه
 __abs__ 

4. امکان جمع دو Vector باهم داشته باشه
امکان ضرب یک عدد int و float با vector داشته باشه


5. تمامی عملگر های منطقی رو ساپورت کنه
بر اساس
 abs(Vector)

6. قابلیت hash شدن رو داشته باشه

7. در تابع bool وقتی اندازه بردار 0 بود False برگردونه


8. و در آخر کلاس باید این اجازه رو به کاربر بده تا از طریق براکت بتونه نقاط رو بدست بیاره
v['y']
v['Y']
بزرگ و کوچک هر2 رو باید ساپورت کنه...


جواب این سوال در گیت هاب قرار گرفته است
https://github.com/persianpython/PythonObjectOriented
🐍 Python & Raspberry 🐍
Photo
پاسخ و کمی توضیحات اضافه تر درباره سوال تستی:

یه کلاس ساخته شده به اسم Apple و توی لاین آخر بدون نمونه ساختن از کلاس، متد func "از روی کلاس" کال شده. این به این معناس که نیاز نیست که func حتما پارامتر self داشته باشه چون پارامتر اول با چیزی پر نمیشه (منظور از چیزی رفرنسی به نمونه ی ساخته شده هست)
خب با خط
Apple.func()
فانکشن func ران میشه. داخل این فانکشن زده شده:
global a
a = 1
یه نکته ای که باید بهش توجه کنید اینکه این خودش یک راه تعریف کردن متغیر global هست! ما معمولا از keyword عه global برای منظور دیگه ای استفاده میکردیم، یعنی متغیر ما توی global تعریف شده بود برای اینکه داخل فانکشن به همون اون متغیر اشاره کنیم میومدیم global ش میکردیم. ولی حتما نیاز نیست که متغیری باشه از قبل تو سطح ماژول یا همون namespace عه global ، بلکه همین دو خط تعریفش میکنه توی global. پس تا الان ما یه a توی global داریم.
حالا تو خط بعدی
Apple.func1
کال میشه این دفعه. همینجا یه سوال: چرا میشه به Apple دسترسی داشت ؟ چون فانکشن های داخل کلاس nested عه enclosing scope عه کلاسشون، در اینجا global هستن. دقت کنید nested عه کلاس نیستنا! nested عه ماژول هستن.

خب func1 کال شد... دوباره مثل func ، از روی کلاس کال شده پس b با رفرنسی به نمونه پر نمیشه با چیزی پر میشه که پاس داده شده بهش یعنی ۱۰. خب تا اینجا ۱۰ و داریم ولی اومده با a جمعش کرده. آیا مشکلی داره؟ نه نداره. گفتیم nested عه global هست namespace ش... توی global هم که a داریم پس از همون جا برمیداره و باهاش جمع میکنه و ۱۱ رو برمیگردونه.

حالا این عدد برگردونده شده کجا ذخیره میشه؟ هیچجا ! رو هوا از بین میره چون چیزی نگرفتتش. خروجی چش میشه ؟ None. اگه خب آخر fun به جای:
Apple.func1(10)
بود:
return Apple.func1(10)
اونوقت خروجی ۱۱ ما رو return میگرفت و تحویل caller عه خودش یعنی print میداد و ۱۱ چاپ میشد.

✒️ SorousH