🐍 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
Forwarded from PySpider: Quiz (SorousH)
چالش :
لطفا دلیل اینکه چرا دو خروجی متفاوت میگیریم از print های بالا رو برامون بنویسید.
Forwarded from خواجه توییتر
‏دغدغه جامعه این نیست ک کی سگ داره، دغدغشون بی آبی بچه های بی گناهه.

= لی لی الی =
@kntutweeter
رفع استرس با ۷ نوع استراحت

◾️یافته‌های پزشکی می‌گوید خواب کافی به تنهایی برای کاهش استرس جوابگو نیست و ۷ نوع استراحت جسمی، ذهنی و روحی لازم است.

دکتر ساندرا دالتون اسمیت، در کتاب خود با عنوان «استراحت مقدس» هفت نوع استراحت را معرفی می‌کند:

▪️۱- استراحت جسمی. می‌تواند فعالیت‌هایی مثل یوگا، حرکات کششی یا ماساژ باشد که به بدن کمک می‌کند از فشار بیرون بیاید.

▪️۲- استراحت ذهنی. وقتی برای تمرکز کردن یا به خواب رفتن مشکل داریم، به ما کمک می‌کند.

▪️۳- استراحت حسی. اگر همه روز را پشت صفحه کامپیوتر می‌گذرانیم، به استراحت حسی هم نیاز داریم که یعنی باید از نور زیاد، صدای بلند و تماس‌های کاری دور بمانیم.

▪️۴- استراحت خلاقانه. این نوع استراحت را وقتی به خودمان اجازه می‌دهیم زیبایی را در هر شکلی که هست تجربه می‌کنیم؛ زیبایی‌هایی مثل تئاتر و نمایش.

▪️۵- استراحت اجتماعی. اگر در کارتان از نزدیک با مردم سروکار دارید یا در محیط‌های پرچالش کار می‌کنید، به این نوع استراحت نیاز دارید.

▪️۶- استراحت عاطفی. بعد از شرکت در یک مراسم تدفین یا دیدن فیلمی غمگین با کسی که شنونده خوبی است صحبت کنید.

▪️۷- استراحت معنوی. یعنی درک این احساس که هر‌کسی نیاز دارد احساس کند زندگی او معنا و هدف دارد.
خروجی کد بالا چیست؟
خروجی کد بالا چیست؟
Final Results
7%
A
77%
B
8%
C
8%
D
خب سوال چالش قبلی بهانه ای بود برای اینکه کمی راجع به لیست هایی که خودشون یکی از اعضای خودشون هستن یا اصطلاحا self-referenced lists ها صحبت کنیم.
lst = [1, 2, 3]
lst[0] = lst
دقت کنید ما وقتی عضو اول لیست رو تغییر دادیم، حاصل نمیشه این :
[[1, 2, 3], 2, 3]
چرا ؟ چون وقتی که داریم اون لیست داخلیه رو مینویسیم ، عضو اول خودش باز باید بشه خودش ! یعنی یه حالت تو در تو ی بینهایت به این شکل :
[[[[[[1, 2, 3], 2, 3], 2, 3], 2, 3], 2, 3], 2, 3]
ما تا همینجا کفایت کردیم ولی باز هم جای اون 1 باید این روند ادامه پیدا میکرد. پس پایتون نمیتونه همچین لیستی رو برای ما نمایش بده. به جاش از "..." استفاده میکنه.

قبل از اینکه بریم سراغ جواب این نکته رو هم یا آوری کنیم که self referenced list ها هیچوقت تعداد رفرنسی که بهشون هست صفر نمیشه حتی اگر بزنید del lst. پس در نتیجه توسط مکانیزم reference counting پایتون از بین نمیرن و ممکنه تا آخر برنامه ram رو اشغال کنن (مگر در شرایطی که garbage collector وارد عمل بشه)

اما جواب :
پس گفتیم پایتون به محض اینکه متوجه بشه داره بصورت بینهایت print انجام میده جای اون 3 تا نقطه میذاره.
"ولی کی متوجه میشه" جواب این سواله.

وقتی ما لیست رو با متد .sort مرتب میکنیم ، چون عمل in-place هست ، لیست جدید ساخته نمیشه و ID اون لیست تغییر نمیکنه ! انگار که :
x = [x, x, x]
پس پایتون فورا متوجه این recursion میشه و اون ها رو با "..." جایگزین میکنه.

ولی وقتی لیستمون رو با فانکشن sorted() مرتب میکنیم خروجی یه لیست جدید هست انگار که بگیم :
y = [x, x, x]
پس موقع print کردن آیتم های داخل لیست، پایتون "در مرحله ی اول" متوجه این recursion نمیشه ! چرا ؟ چون y یه لیست جدید هست پس با x فرق داره. پس یه لیستی داریم که شامل 3 تا لیست دیگس همین. ولی از مرحله ی دوم که داره خود x ها رو نگاه میکنه (یا بهتره بگیم لایه ی داخلی تر) برای print کردن متوجه این recursion میشه ! پس این میشه که 2 تا لیستی باهم برابر هستن موقع print کردن ، representation های متفاوتی دارن.
print(lst == sorted(lst)) # True
print(str(lst) == str(sorted(lst)))
# False
💥 Traceback and Exceptions changes in Python (3.6 -> 3.11)
📒 3.6.14
* abbreviating long sequences of repeated lines in tracebacks.
📕 3.7.11
* async and await names are now reserved keywords (SyntaxError)
* PEP 479 is enabled for all code in Python 3.7
* raises a SyntaxError, as a generator expression always needs to be directly inside a set of parentheses and cannot have a comma on either side.
📗 3.8.11
* exists via a SIGINT whenever the KeyboardInterrupt is not caught after Ctrl-C.
📘 3.9.6
* Unexpected errors in calling the iter method are no longer masked by TypeError in the in operator.
* better performance for, and updated the message of ZeroDivisionError
* import() raises ImportError instead of ValueError, which used to occur when a relative import went past its top-level package.
📙 3.10.0b4
* more descriptions in traceback for SyntaxError, IndentationErrors, AttributeErrors and NameErrors.
* highlighted error.
📖 3.11.0a0
* selecting the main part where exception is raised from.
🆔 @raspberry_python
نقشه راه جهت یادگیری حرفه ای پایتون


🧲 @raspberry_python