خروجی کد بالا چیست ؟
Anonymous Quiz
53%
[1, 2, 3]
17%
UnboundLocalError
8%
ValueError
7%
[1, 2]
15%
دیدن جواب
Forwarded from Python etc
Python 3.7 introduced Development Mode. The mode can be activated with the
+ Unclosed files.
+ Unawaited coroutines.
+ Unknown encoding for
+ Memory allocation issues.
-X dev
argument and it makes the interpreter produce some helpful warnings. For instance:+ Unclosed files.
+ Unawaited coroutines.
+ Unknown encoding for
str.encode
(by default, it is unchecked for empty strings).+ Memory allocation issues.
$ echo 'open("/dev/null")' > tmp.py
$ python3 -X dev tmp.py
tmp.py:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='r' encoding='UTF-8'>
open("/dev/null")
ResourceWarning: Enable tracemalloc to get the object allocation traceback
حرف ها و کاراکتر ها چجوری ذخیره میشن در حافظه ؟ unicode چیه ؟ فرقش با utf-8 چیه ؟ ascii چیه ؟
همونطور که همه شنیدیم کامپیوتر های مرسوم ما در مبنای دو کار میکنن یعنی یا صفر یا یک ، یا خاموش یا روشن... یعنی هر چیزی در مبنای دو هست ، در مبنای دو "ذخیره میشن" ، در مبنای دو انتقال پیدا میکنن و ...
ما یه عدد رو مثلا عدد 14 رو راحت با دانشی که از راهنمایی یا دبیرستان داریم میتونیم به مبنای دو تبدیل کنیم و ذخیره کنیم اما حرف "A" رو چیکار کنیم ؟
اون اوایل گفتن ، راه کار اینکه بیایم یه جدول درست کنیم ، به ازای تک تک حروف انگلیسی( و یه سری symbol ها ، اعداد انگلیسی و کاراکتر های خاص مثل line feed رو اینا ) یه عدد قرار بدیم در واقع map کنیم این ها رو به هم... از طرفی خیلی راحت کل کاراکتر ها تو یک "بایت" از حافظه ذخیره میشن چرا ؟
یه بایت از حافظه میتونه 2 به توان 7 (8 فعلا نه)تا داده رو ذخیره کنه راحت تو خودش ما هم اونقدر کاراکتر نداریم که. یه سری حروف کوچیک و بزرگه انگلیسی هست ، اعداد هم که 10 تاس ، باقیشم symbol ها. کافیه پس. (میدونم 2 به توان 8 هست ولی یه بایت برای کار های دیگه ذخیره میشد، یه سری سیستم ها ignore میکردن و بعد extended ascii اومد و خلاصه کاری نداریم ما 127 تا کافیمون هست.)
آمریکایی ها اومدن یه جدولی درست کردن، اسم این encoding شد ASCII که خیلیم اوکی بود و خوب کار میکرد. اینجوری بود:
تا اینجا قبول ولی دیگه این حجم که نمیتونن تو 1 بایت ذخیره بشن مثل گذشته ، چیکار کنیم ؟ خب تو چند بایت ذخیره کنیم !!! چیه مشکلش مگه ؟
اول یه مثال ببینیم :
print(ord('س')) —> 1587
با تابع ord میتونید اون عدده یا در اصل code point عه کاراکتر "س" رو بدست بیارید توی جدول unicode ها.
خب بریم ادامه مشکلمون، الان این 1587 از 1 بایت بیشتره ، چند تا بایت نیاز داره تا ذخیره شه؟ دو بایت کافیه:
print(2 ** 16) —> 65536
اوکی تو دو بایت ذخیرش میکنیم ولی حالا چجوری بخونیمش ؟!!؟ کامپیوتر وقتی رسید بهش آیا اینو 2 تا تک بایت ببینه یا جفتشو باهم ببینه ؟ اگه دو تا تک بایت ببینه که کار خراب شده ! چرا ؟ چون به جای اینکه بگه اینا رو هم شدن یه حرف ، میتونه بگه اینا دوتا حرف تک بایتی کنار هم هستن!
یه سری راه کار ارائه شد مثلا گفتن خب ما از اول دیگه تو یه بایت چیزیو ذخیره نمیکنیم، کل جدول unicode چند تاس ؟ ببینیم آخرینش و با چند تا بایت میشه ذخیره کرد، همه رو با اون تعداد بایت ذخیره کنیم. این درسته و جواب هم میده ولی یه مشکل بزرگ داره ! اینکه مثلا عدد کاراکتر A بودش 65 ما اینو تو 1 بایت میتونستیم ذخیره کنیم حالا داریم تو n بایت ذخیره میکنیم باقیش خالیه و این خیلی بده ! پس چیکار کنیم ؟ باید encoding انجام بدیم....
اینجا بود که utf-8 اومد ، گفت که من یه جوری encoding انجام میدم که برای A که یه بایت لازمه همون یه بایت استفاده شه ، برای "س" که دو بایت لازمه دو بایت ذخیره شه ! این خوبه !
بعد utf-8 اومد گفت من با دسته بندی ای که میکنم میگم از این تا این 1 بایت ، از این تا این 2 بایت و ... تا 4 بایت همه رو ذخیره میکنم.
یک بایتی ها برای اینکه backward compatible باشن عینا همون ترتیبی و دارن که ascii داره ، ولی برای بیشتر از یک بایتی ها میاد اولین بایتش رو میگیره چند بیت اولش رو یه رمزی میذاره که با اون به کامپیوتر میفهمونه که مثلا تا دو تا بایت بعدی ای که داری میخونی هم مال منه مال همین کاراکتر هست اینارو با هم بخون نه جدا جدا.
به این صورت:
https://en.wikipedia.org/wiki/UTF-8#Encoding
من سعی کردم یه overview عه کلی بگم خیلی encoding های مختلفی معرفی شد... هرکدوم یه سری ویژگی و مشکلات داشتن حتی جدول های زیادی هم در طول تاریخ بوجود اومد ، ولی الان معروف ترین encoding همون utf8 هست ، چیزی که توی وب و پایتون میبینیم. و معروف ترین استاندارد هم unicode هست.
برای اطلاعات بیشتر به wikipedia سر بزنید.
همونطور که همه شنیدیم کامپیوتر های مرسوم ما در مبنای دو کار میکنن یعنی یا صفر یا یک ، یا خاموش یا روشن... یعنی هر چیزی در مبنای دو هست ، در مبنای دو "ذخیره میشن" ، در مبنای دو انتقال پیدا میکنن و ...
ما یه عدد رو مثلا عدد 14 رو راحت با دانشی که از راهنمایی یا دبیرستان داریم میتونیم به مبنای دو تبدیل کنیم و ذخیره کنیم اما حرف "A" رو چیکار کنیم ؟
اون اوایل گفتن ، راه کار اینکه بیایم یه جدول درست کنیم ، به ازای تک تک حروف انگلیسی( و یه سری symbol ها ، اعداد انگلیسی و کاراکتر های خاص مثل line feed رو اینا ) یه عدد قرار بدیم در واقع map کنیم این ها رو به هم... از طرفی خیلی راحت کل کاراکتر ها تو یک "بایت" از حافظه ذخیره میشن چرا ؟
یه بایت از حافظه میتونه 2 به توان 7 (8 فعلا نه)تا داده رو ذخیره کنه راحت تو خودش ما هم اونقدر کاراکتر نداریم که. یه سری حروف کوچیک و بزرگه انگلیسی هست ، اعداد هم که 10 تاس ، باقیشم symbol ها. کافیه پس. (میدونم 2 به توان 8 هست ولی یه بایت برای کار های دیگه ذخیره میشد، یه سری سیستم ها ignore میکردن و بعد extended ascii اومد و خلاصه کاری نداریم ما 127 تا کافیمون هست.)
آمریکایی ها اومدن یه جدولی درست کردن، اسم این encoding شد ASCII که خیلیم اوکی بود و خوب کار میکرد. اینجوری بود:
0 ----> NUL
1 ----> SOH
...
63 ----> ?
64 ----> @
65 ----> A
66 ----> B
...
بعد کم کم همه کشور ها میخواستن از کامپیوتر استفاده کنن و حروف خودشونو داشته باشن. از طرفی هم نمیشه هرکی برا خودش یه جدول درست کنه ! باید همه با یه استاندارد کار کنن با هم در ارتباط باشن، این شد که یه استانداردی تشکیل شد به اسم unicode که اومد هر کاراکتری که الان میبینید رو تو خودش جا داد ، انگلیسی، فارسی ، چینی ، روسی ، حتی emoji هایی که هستن...تا اینجا قبول ولی دیگه این حجم که نمیتونن تو 1 بایت ذخیره بشن مثل گذشته ، چیکار کنیم ؟ خب تو چند بایت ذخیره کنیم !!! چیه مشکلش مگه ؟
اول یه مثال ببینیم :
print(ord('س')) —> 1587
با تابع ord میتونید اون عدده یا در اصل code point عه کاراکتر "س" رو بدست بیارید توی جدول unicode ها.
خب بریم ادامه مشکلمون، الان این 1587 از 1 بایت بیشتره ، چند تا بایت نیاز داره تا ذخیره شه؟ دو بایت کافیه:
print(2 ** 16) —> 65536
اوکی تو دو بایت ذخیرش میکنیم ولی حالا چجوری بخونیمش ؟!!؟ کامپیوتر وقتی رسید بهش آیا اینو 2 تا تک بایت ببینه یا جفتشو باهم ببینه ؟ اگه دو تا تک بایت ببینه که کار خراب شده ! چرا ؟ چون به جای اینکه بگه اینا رو هم شدن یه حرف ، میتونه بگه اینا دوتا حرف تک بایتی کنار هم هستن!
یه سری راه کار ارائه شد مثلا گفتن خب ما از اول دیگه تو یه بایت چیزیو ذخیره نمیکنیم، کل جدول unicode چند تاس ؟ ببینیم آخرینش و با چند تا بایت میشه ذخیره کرد، همه رو با اون تعداد بایت ذخیره کنیم. این درسته و جواب هم میده ولی یه مشکل بزرگ داره ! اینکه مثلا عدد کاراکتر A بودش 65 ما اینو تو 1 بایت میتونستیم ذخیره کنیم حالا داریم تو n بایت ذخیره میکنیم باقیش خالیه و این خیلی بده ! پس چیکار کنیم ؟ باید encoding انجام بدیم....
اینجا بود که utf-8 اومد ، گفت که من یه جوری encoding انجام میدم که برای A که یه بایت لازمه همون یه بایت استفاده شه ، برای "س" که دو بایت لازمه دو بایت ذخیره شه ! این خوبه !
بعد utf-8 اومد گفت من با دسته بندی ای که میکنم میگم از این تا این 1 بایت ، از این تا این 2 بایت و ... تا 4 بایت همه رو ذخیره میکنم.
یک بایتی ها برای اینکه backward compatible باشن عینا همون ترتیبی و دارن که ascii داره ، ولی برای بیشتر از یک بایتی ها میاد اولین بایتش رو میگیره چند بیت اولش رو یه رمزی میذاره که با اون به کامپیوتر میفهمونه که مثلا تا دو تا بایت بعدی ای که داری میخونی هم مال منه مال همین کاراکتر هست اینارو با هم بخون نه جدا جدا.
به این صورت:
https://en.wikipedia.org/wiki/UTF-8#Encoding
من سعی کردم یه overview عه کلی بگم خیلی encoding های مختلفی معرفی شد... هرکدوم یه سری ویژگی و مشکلات داشتن حتی جدول های زیادی هم در طول تاریخ بوجود اومد ، ولی الان معروف ترین encoding همون utf8 هست ، چیزی که توی وب و پایتون میبینیم. و معروف ترین استاندارد هم unicode هست.
برای اطلاعات بیشتر به wikipedia سر بزنید.
🔰 Flutter & Dart - The Complete Guide [2021 Edition] 🔰
A Complete Guide To The Flutter SDK & Flutter Framework For Building Native iOS And Android Apps
⚠️ Free Download Link:
https://mega.nz/folder/C0BmXZhC#G57vmsZ9ENh-lFUV6j5J5g
➖ @raspberry_python ➖
A Complete Guide To The Flutter SDK & Flutter Framework For Building Native iOS And Android Apps
⚠️ Free Download Link:
https://mega.nz/folder/C0BmXZhC#G57vmsZ9ENh-lFUV6j5J5g
➖ @raspberry_python ➖
mega.nz
File folder on MEGA
Mobile App Development in 27 Minutes: Android
⚠️ Free Download Link:
https://www.udemy.com/course/create-an-android-app-in-12-minutes-with-android-studio/
➖ @raspberry_python ➖
⚠️ Free Download Link:
https://www.udemy.com/course/create-an-android-app-in-12-minutes-with-android-studio/
➖ @raspberry_python ➖
Udemy
Free Android Development Tutorial - Mobile App Development in 27 Minutes: Android
Android app in Android studio. Learn Android app development now! - Free Course
برگه تقلب خوب برای پایتون 😍
https://www.pythoncheatsheet.org/
Best Python cheatsheet collection
🟢🟢 @raspberry_python
https://www.pythoncheatsheet.org/
Best Python cheatsheet collection
🟢🟢 @raspberry_python
www.pythoncheatsheet.org
Python Cheatsheet
The Python Cheatsheet
⚡️ Best websites to test your hacking skills ⚡️
https://pwnable.kr/
https://hack.me/
https://ctflearn.com/
https://google-gruyere.appspot.com/
https://www.root-me.org/en/
https://www.hackthebox.eu/
https://www.hacking-lab.com/
http://www.gameofhacks.com/
https://overthewire.org/
https://microcorruption.com/
https://xss-game.appspot.com/?utm_source...dium=email
https://www.hackthissite.org/pages/index/index.php
https://crackmes.one/
https://pentest.training/
https://www.hellboundhackers.org/
http://hax.tor.hu/
https://thisislegal.com/
https://tryhackme.com/
🟢 @raspberry_python
https://pwnable.kr/
https://hack.me/
https://ctflearn.com/
https://google-gruyere.appspot.com/
https://www.root-me.org/en/
https://www.hackthebox.eu/
https://www.hacking-lab.com/
http://www.gameofhacks.com/
https://overthewire.org/
https://microcorruption.com/
https://xss-game.appspot.com/?utm_source...dium=email
https://www.hackthissite.org/pages/index/index.php
https://crackmes.one/
https://pentest.training/
https://www.hellboundhackers.org/
http://hax.tor.hu/
https://thisislegal.com/
https://tryhackme.com/
🟢 @raspberry_python
Creating a REST API in Python with Django
https://stackabuse.com/creating-a-rest-api-in-python-with-django/
@raspberry_python
https://stackabuse.com/creating-a-rest-api-in-python-with-django/
@raspberry_python
Stack Abuse
Creating a REST API in Python with Django
We are going to build a RESTful API using Django without any external libraries or frameworks. Our API will be JSON based and perform CRUD operations on a fictional cart item model.
Shallow copy and deep copy in Python
https://www.pythonforbeginners.com/functions/shallow-copy-and-deep-copy-in-python
🌺 @raspberry_python
https://www.pythonforbeginners.com/functions/shallow-copy-and-deep-copy-in-python
🌺 @raspberry_python