https://www.udemy.com/course/learn-python-programming-a-step-by-step-course-to-beginners/?couponCode=PYTHON_JUL_FREE_3
📌 @raspberry_python
📌 @raspberry_python
Udemy
Learn to Code in Python 3: Programming beginner to advanced
Python3 programming made easy with exercises, challenges and lots of real life examples. Learn to code today!
This media is not supported in your browser
VIEW IN TELEGRAM
قسمت دوم نصب اپلیکیشن استارلینک
هم توی گوگل پلی هست هم توی اپ استور
زاویه ماهواره هم خودش تنظیم میشه
قشنگ هیچ کار نمیخواد بکنه ادم 😂😂
برای قسمت های بعدی با ما همراه باشید
@raspberry_python
هم توی گوگل پلی هست هم توی اپ استور
زاویه ماهواره هم خودش تنظیم میشه
قشنگ هیچ کار نمیخواد بکنه ادم 😂😂
برای قسمت های بعدی با ما همراه باشید
@raspberry_python
تفاوت Encoding و Encrypting و Hashing در برنامه نویسی:
✏️ نویسنده : @theinternetgod
Encoding:
صرفا تبدیل یه داده به استاندارد متفاوت هست، مثلا base64 انکدینگ هست یا اصلا هر تبدیل مبنایی رو میشه انکودینگ در نظر گرفت و معمولا هدف انکود کردن مخفی سازی نیست (چون به راحتی قابل برگشت و یا همون دیکود کردنه ) و بیشتر جهت اینه که داده هامون رو متناسب با شرایطمون کنیم ؛ برای مثال base64 برا این وجود داره که داده های درون یه فیلم یا عکس هنگام عبور از شبکه توسط مودم ها و روتر ها به عنوان یه دستور شناسایی نشه (که یا ممکنه یه کار غیر منتظره انجام بده و یا دیتامون خراب شه).
Encripting & Hashing:
انکریپت کردن معمولا به هدف مخفی کردن یه داده به کار میره و ممکنه برگشت پذیر و یا یکطرفه باشه(هش). اگه قابل دیکریپت کردن باشه معمولا پای یک یا چند "کلید" در انکریپت و دیکریپت در میونه.
در غیر این صورت اگه برگشت ناپذیر باشه بهشون هش میگن، هش ها تضمین میکنن که هر داده ای رو به یک خروجی یکتا تبدیل کنن که فقط مختص اون ورودیه (مقدار هش ها یونیک هست) و از طرفی نمیشه با نگاه کردن بهش هیچ اظهار نظری درمورد ورودی کرد، در نتیجه میشه بدون ذخیره کردن خود داده برابر بودنش رو با دیگر داده ها چک کرد.
نمونه هایی از encoding های معروف :
UTF-8 , ASCII , Base64, Latin-1
نمونه هایی از Encription های معروف :
RSA , AES, Caesar Cipher
نمونه هایی از Hash های معروف :
SHA256, SHA512, MD5
✏️ نویسنده : @theinternetgod
Encoding:
صرفا تبدیل یه داده به استاندارد متفاوت هست، مثلا base64 انکدینگ هست یا اصلا هر تبدیل مبنایی رو میشه انکودینگ در نظر گرفت و معمولا هدف انکود کردن مخفی سازی نیست (چون به راحتی قابل برگشت و یا همون دیکود کردنه ) و بیشتر جهت اینه که داده هامون رو متناسب با شرایطمون کنیم ؛ برای مثال base64 برا این وجود داره که داده های درون یه فیلم یا عکس هنگام عبور از شبکه توسط مودم ها و روتر ها به عنوان یه دستور شناسایی نشه (که یا ممکنه یه کار غیر منتظره انجام بده و یا دیتامون خراب شه).
Encripting & Hashing:
انکریپت کردن معمولا به هدف مخفی کردن یه داده به کار میره و ممکنه برگشت پذیر و یا یکطرفه باشه(هش). اگه قابل دیکریپت کردن باشه معمولا پای یک یا چند "کلید" در انکریپت و دیکریپت در میونه.
در غیر این صورت اگه برگشت ناپذیر باشه بهشون هش میگن، هش ها تضمین میکنن که هر داده ای رو به یک خروجی یکتا تبدیل کنن که فقط مختص اون ورودیه (مقدار هش ها یونیک هست) و از طرفی نمیشه با نگاه کردن بهش هیچ اظهار نظری درمورد ورودی کرد، در نتیجه میشه بدون ذخیره کردن خود داده برابر بودنش رو با دیگر داده ها چک کرد.
نمونه هایی از encoding های معروف :
UTF-8 , ASCII , Base64, Latin-1
نمونه هایی از Encription های معروف :
RSA , AES, Caesar Cipher
نمونه هایی از Hash های معروف :
SHA256, SHA512, MD5
با توجه به کد بالا گزینه صحیح را از لیست زیر انتخاب کنید.😎
@raspberry_python
@raspberry_python
حاصل خروجی بالا را حدس بزنید
Final Results
4%
0 2 4 6
13%
[0,1,2,3,4,5,6,7,8,9]
8%
8
9%
[ ]
25%
واضحه که Syntaxerrors برمیگردونه 😏
11%
[2,4,6,8]
22%
نمیدونم🤔
8%
[0,2,4,6,8]
🤖 ربات مدیریت گروه پایتون 🐍
www.github.com/amiralirj/DarkHelper
• بن و انبن و میوت و ...
• قفل اسپم و nfsw
• قفل سرویس ، عکس ، وویس ، استیکر و ...
• زد تبچی و زد لینک
• پنل شیشه ای
• نوشته شده با کتابخانه pyrogram
• sqlite , matplotlib , threading ...
• oop
ارسالی یکی از ممبرها:@amiralirj_pv
@raspberry_python
www.github.com/amiralirj/DarkHelper
• بن و انبن و میوت و ...
• قفل اسپم و nfsw
• قفل سرویس ، عکس ، وویس ، استیکر و ...
• زد تبچی و زد لینک
• پنل شیشه ای
• نوشته شده با کتابخانه pyrogram
• sqlite , matplotlib , threading ...
• oop
ارسالی یکی از ممبرها:@amiralirj_pv
@raspberry_python
🐍 Python & Raspberry 🐍
با توجه به کد بالا گزینه صحیح را از لیست زیر انتخاب کنید.😎 @raspberry_python
خب بریم سراغ جواب این سوال🤓
در مرحله اول ما با یه
خب داخل list comp ما اومدیم از حلقه for و condition ها و logical operator و BitWiseOperatorها استفاده کردیم . بریم ببینیم که عبارت داخل list comp چجوری محاسبه میشه🚗🚗
در ابتدا ما اومدیم یه range مشخصی از اعداد رو در نظر گرفتیم . رینج مورد نظر ما از 0 تا 10 هستش. حتما میدونید که تابع range سه تا پارامتر میگیره:
در قسمت
حاصل عبارت بالا Fasleست . چراا ؟؟ چرا
در مرحله اول ما با یه
list comperasion
رو به رو هستیم :[x for x in range(10) if not (x& 7 and x &1 and 0<x>x-1)]عبارت بالا یه list comp هستش .این از list comperasionمون.
خب داخل list comp ما اومدیم از حلقه for و condition ها و logical operator و BitWiseOperatorها استفاده کردیم . بریم ببینیم که عبارت داخل list comp چجوری محاسبه میشه🚗🚗
در ابتدا ما اومدیم یه range مشخصی از اعداد رو در نظر گرفتیم . رینج مورد نظر ما از 0 تا 10 هستش. حتما میدونید که تابع range سه تا پارامتر میگیره:
range(start,stop,step)اولین پارامتر که startهست تعیین میکند که از چه عددی رینج ما شروع میشه وقتی براش مقداری در نظر نمیگیریم خودش به صورت دیفالت از 0 شروع میکنه . پارامتر بعدی stop هستش که مشخص میکنه که تا چه عددی ادامه پیدا میکنه . (نکته مهم:: رینج ما تا stop-1 هستش . یعنی تا خود stop پیش نمیره تا یکی مونده به stop ،عملیات پیمایش یا iteration را انجام میدهد .اگر میخواهیم شامل خود stop هم باشد به صورت stop+1 مینویسیم .) پارامتر بعدی step هستش . که گام های پیمایش یا
iteration
را مشخص میکند . هنگامی که مقداری برای step در نظر گرفته نمیشود پایتون به صورت دیفالت مقدار1 را در نظر میگیرد. در این مثال منظور از :x for x in range(10)این است که میخواهیم بر روی اعداد از
0(start=0)
تا 10 (stop=10)
(یعنی 0.....9) پیمایش کنیم . پس مقادیر x ما شامل0 تا 9 می باشد . این از کارکرد حلقه for. بریم سراغ if:در قسمت
condition
ما عبارت زیر را نوشتیم :if not (x &7 and x&1 and 0<x>x-1)خب اول بریم سراغ عبارت های داخل پرانتر. داخل پرانتز ما داریم :
x & 7 and x&1 and 0<x>x-1میدانیم
&
عملگر BitWise
و and عملگر logical
هستش . خب در x &7
در ابتدا باید ما هم x و هم 7 را به مقادیر باینری یعنی 0 و 1 تبدیل کنیم و با یک دیگر & کنیم . یعنی به چه صورت؟؟ در مرحله اول x ما مقدارش 0 است درسته؟؟ خب باینری0 به صورت:000000هستش . باینری 7 به صورت :
000111میتونید از متد
bin()
برای به دست آوردن مقدار باینری عدد استفاده کنید. وقتی که به bin
عدد 7 رو پاس بدید نتیجه ای که بهتون برمیگردونه به صورت0b111
هستش یعنی مقدار باینری عدد رو بهتون برمیگردونه. خب حالا اگه از متد bin
استفاده نکردید و به صورت دستی به دست آوردید برای اینکه از مقدار باینری مورد نظر مطمئن بشید میتونید از int()
استفاده کنید و مقدار باینری عدد رو به صورت string
بهش پاس بدید و بگید که در مبنای 2 بهتون برگردونه .یعنی به صورت:int('0b111',2)——->7حالا وقتی که مقدار باینری
x
در حلقه for
و 7 رو به دست آوردید ، کافیه با هم & کنید . میدونیم که در & زمانی مقدار1 میشه که هر دوbitما 1 باشه در غیر این صورت 0 میشه.الان در :0 —-> 00000مقدار & شده ی 0 و 7 برابر با 0 میشه . و در نتیجه حاصل x&7 برابر با false میشود . خب این از حاصل x&7 . برای x&1 نیز همین کار رو انجام میدیم . یعنی :
&
7 —-> 00111
———————-
00000
0—->0000خب حاصل
&
1—-->0001
——————----
0000
0&1
نیز برابر با False
شد. تا اینجای کار داریم: fasle and false and 0<x>x-1خب در :
0<x>x-1مقدار اولیه xما 0 هستش پس داریم:
0<0>-1
حاصل عبارت بالا Fasleست . چراا ؟؟ چرا
syntax error
نداد ؟. این عبارت کاملا از نظر Comparison Operators
کاملا درسته به خاطر اینکه 0 از خودش بزرگتر نیست و از -1 نیز بزرگتر است و حاصل عبارت False است است .چند نمونه مثال دیگه:7<9>8 ——>Trueخب تا این جا حاصل عبارت داخل پرانتز می شود:
9<10>15——->False
8<=14>=14——>True
False and False and Falseمیدانیم که حاصل عبارتی که داخلش
and
است زمانی برابر با true
میشود که شرط هایی که اطرافش نوشته شده اند همه true باشند . خب پس با در نظر گرفتن این نکته حاصل :False and False and Falseبه خاطر وجود
False
برابر با False
میشود . در نتیجه مقدار عبارت داخل پرانتز کلا False میشود . خب الان داریم:if not (False)میدانیم
not False
میشود True پس چون شرط True
شد پایتون به داخل بدنه ی if میرود و statement مورد نظر را محاسبه میکند . statement
مورد نظر مقدار x است . که داخل لیست قرار میگیرد. پس اولین عضوی که داخل list comp
ما ذخیره میشود عدد 0 است . پس الان لیستی به صورت: [0] داریم . برای x با مقدار 1 نیز راه بالا را پیش میگیریم . (فقط یه نمونه & با 7 رو براتون مینویسم) & عدد 1 با 7 میشه 1 پس حاصل 7&1 میشه True.)1——>00001مقداری که در پرانتز به دست می آید
&
7——->00111
———————-
00001
True
است و not True
میشود False
پس قسمت if اجرا نمیشود . (برای x با مقادیر فرد شرط برقرار نیست ) فقط برای x با مقادیر زوج شرط برقرار است پس جواب نهایی میشود:[0,2,4,6,8]
@raspberry_python
🐍 Python & Raspberry 🐍
با توجه به کد بالا گزینه صحیح را از لیست زیر انتخاب کنید.😎 @raspberry_python
در راستای توضیح قبلی برای دوستانی که کار با
برای مطالعه بیشتر لینک های زیر رو مطالعه کنید.
bitwise opertors,Comparison Operators
bin
و bitwise operator
ها و comparsion operators
ها رو هنوز یاد نگرفتن، چند مثال برای تبدیل عدد به باینری و برعکس به کمک متدهای (bin,int)
و هم چنین مثالهایی در موردbitwise operator
ها و Comparison
Operators
ها براتون تو vscode
به همراه خروجی اجرا کردم که قشنگ براتون جا بی افته.اگه بخوام یه توضیح کوچولو بدم هم میشه :خط اول که میاد عدد رو به کمک bin
به مبنای دو (همون 0 و 1 معروف )میبره . اگه خروجی رو دقت کنید مثلا برای 0 نوشته :0b0
یا برای 7 نوشته 0b111
. دو آیتم اول یعنی 0b
به باینری بودن عدد اشاره می کند . بعد تو خط بعدی عدد رو از مبنای 2 به مبنای 10 بردیم به کمک int()
. تو خطوط بعدی هم اومدیم از bitwiseoperator
ها استفاده کردیم برای اینکه مقدار & شده ی دو مقدار باینری رو به دست بیاریم . و در خطوط آخر هم اومدیم از Comparison Operators
استفاده کردیم برای اینکه مقدار عبارت هایی که داخل print
نوشتیم رو به دست بیاریم که همان طور که مشاهده میکنید حاصلش یه مقدار بولین true or false
هستش .برای مطالعه بیشتر لینک های زیر رو مطالعه کنید.
bitwise opertors,Comparison Operators
https://www.instagram.com/p/CSPn45rj-Th/?utm_medium=copy_link
یادگیری پایتون در 10 روز
@raspberry_python
یادگیری پایتون در 10 روز
@raspberry_python
Instagram
کدام یک از گزینه های زیر غلط است ؟
Anonymous Quiz
7%
(10).__str__()
12%
(10) .__str__()
9%
(10.2).__str__()
30%
10.2.__str__()
15%
10.__str__()
28%
10 .__str__()
🐍 Python & Raspberry 🐍
Map & Filter Functions https://www.instagram.com/p/CSV_IwWDEvw/?utm_medium=copy_link
لینک جوین به اینستاگرام کانال و گروه ☝️☝️☝️😍😍
Forwarded from OpenCV | Python
This media is not supported in your browser
VIEW IN TELEGRAM
کتاب آموزش صفر تا صد زبان برنامه نویسی پایتون منتشر شد💎
تعداد صفحات: ۲۷۰ | ابعاد: وزیری
یکبار و برای همیشه زبان برنامه نویسی پایتون را کامل یاد بگیرید 👌💪
📚لینک مشخصات و دریافت کتاب:
https://shop.ali110co.ir/downloads/python-zero-to-hero-book/
❤️ضمن تبریک عید غدیر، سلامتی و آرامش را برای همه شما آرزومندیم❤️
🔻برای دوستان خود ارسال کنین🔻
🔹@OpenCV_olc🔹
تعداد صفحات: ۲۷۰ | ابعاد: وزیری
یکبار و برای همیشه زبان برنامه نویسی پایتون را کامل یاد بگیرید 👌💪
📚لینک مشخصات و دریافت کتاب:
https://shop.ali110co.ir/downloads/python-zero-to-hero-book/
❤️ضمن تبریک عید غدیر، سلامتی و آرامش را برای همه شما آرزومندیم❤️
🔻برای دوستان خود ارسال کنین🔻
🔹@OpenCV_olc🔹
تکه کد زیر رو در نظر بگیرید :
1- اولین مورد که نظر خیلی ها هم هست readability هست! فرض کنید به جای تمام built-in فانکشن هایی که پایتون داره :
2- مورد مهم بعدی:
* وقتی متد شما توسط پایتون کال بشه، پایتون یه checking هم انجام میده !
یه بار دیگه با دیگه با str ببینیم این رو :
پایتون توی مورد اول میاد میگه ، من نمتونم تشخیص بدم که obj2 بزرگ تر از obj1 هست یا نه ، بذار ببینم میتونم جور دیگه نگاه کنم و تشخیص بدم که obj1 کوچیک تر از obj2 هست ؟ بله میتونم! چون obj1 متد
ولی توی مورد دوم همچین خبری نیست.
4- مورد آخر که کم اهمیت هست ولی جالب بود بگیم ، توی دیتا تایپ های built-in پایتون ، سرعت built-in فانکشن ها سریع تر هست :
# 0.6157927000000001
دلیلش هم اینکه فانکشن len با C نوشته شده ، با توجه به تایپی که بهش میدیم، مسیرش رو برای پیدا کردن انتخاب میکنه. ولی توی پایینی پایتون دنبال متد
lst = [1, 2, 3]
print(lst.__len__()) # 3
print(len(lst)) # 3
هردو جواب یکسان میدن، آیا تفاوتی دارند ؟ آیا میشه همیشه از مجیک متد های متناظر استفاده کرد؟ امروز میخوایم 4 تا از تفاوت ها رو بررسی کنیم.1- اولین مورد که نظر خیلی ها هم هست readability هست! فرض کنید به جای تمام built-in فانکشن هایی که پایتون داره :
str(), bool(), len(), repr(), hash(), ...
ما معادل magic method اون رو استفاده کنیم:__str__(), __bool__(), __len__(), __repr__(), __hash__(), ...
یه صفحه از کدمون میشه پر از underscore که هم زشته هم ناخوانا مخصوصا اگه ترکیب هم بشن باهم...2- مورد مهم بعدی:
class C:
def __len__(self):
return 'salam'
obj = C()
print(obj.__len__()) # Fine
print(len(obj)) # Error
پایتون سر دومین print ارور داد ! البته که باید هم میداد، دلیلش منطقی هست وقتی ما طول یه آبجکتی رو میخوایم انتظار "عدد" داریم نمیشه طول آبجکت ما "سلام" باشه ولی توی اولی کامل ignore شده.* وقتی متد شما توسط پایتون کال بشه، پایتون یه checking هم انجام میده !
یه بار دیگه با دیگه با str ببینیم این رو :
class C:
def __str__(self):
return 10
obj = C()
print(obj.__str__()) # Fine
print(str(obj)) # Error
3- مورد بعدی توی comparison operator ها (نه arithmetic operator ها مثل ضرب و ...):class C:
def __lt__(self, other):
print('called')
class D:
pass
obj1 = C()
obj2 = D()
obj2 > obj1
obj2.__gt__(obj2)
دو نمونه داریم به اسم obj1 و obj2 ، از طرفی میدونیم magic method عه متناظر با علامت < متد عه __gt__
هست. ما برای هیچکدوم از کلاس ها __gt__
رو پیاده سازی نکردیم ولی:پایتون توی مورد اول میاد میگه ، من نمتونم تشخیص بدم که obj2 بزرگ تر از obj1 هست یا نه ، بذار ببینم میتونم جور دیگه نگاه کنم و تشخیص بدم که obj1 کوچیک تر از obj2 هست ؟ بله میتونم! چون obj1 متد
__lt__
رو پیاده سازی کرده پس اون رو کال میکنه.ولی توی مورد دوم همچین خبری نیست.
4- مورد آخر که کم اهمیت هست ولی جالب بود بگیم ، توی دیتا تایپ های built-in پایتون ، سرعت built-in فانکشن ها سریع تر هست :
from timeit import timeit
print(timeit("len('salam')", number=10000000))
print(timeit("'salam'.__len__()", number=10000000))
# 0.4709385# 0.6157927000000001
دلیلش هم اینکه فانکشن len با C نوشته شده ، با توجه به تایپی که بهش میدیم، مسیرش رو برای پیدا کردن انتخاب میکنه. ولی توی پایینی پایتون دنبال متد
__len__
توی namespace عه اون نمونه میگرده. (توی 10 میلیون بار اجرا 0.2 ثانیه تفاوت یعنی هیچی).This media is not supported in your browser
VIEW IN TELEGRAM
یه نمونه portfolio خلاقانه و زیبا :
https://pranavprakasan07.github.io/Portfolio/
اگه با گوشی نیستین میتونین لینک بالا رو باز کنید و خودتون امتحان کنید.
https://pranavprakasan07.github.io/Portfolio/
اگه با گوشی نیستین میتونین لینک بالا رو باز کنید و خودتون امتحان کنید.