Media is too big
VIEW IN TELEGRAM
سلام دوستان
همونطور که میدونید علاقه زیادی به قوی بودن کامینیوتی برنامه نویسان ایرانی دارم و تا جایی که دانش داشته باشم و کمکی از دستم بر بیاد تلاش میکنم🙏.
ويدئو بالا برای یکی از اعضای کار درست کانال هستش که یه کتابخانه برای پیامرسان بله ساخته. خواستم با نشر این ویدئو و توضیحاتش هم حمایت کنم از این قبیل فعالیت ها و هم شما رو با این کتابخونه آشنا کنم
توضیحات دوست عزیزمون:
📌 معرفی و آموزش کتابخونه Aiobale
کتابخونهی Aiobale این امکان رو به شما میده که مشابه تلگرام، برای پلتفرم بله هم یوزربات بسازید.
این اولین کتابخونه برای ساخت یوزربات در بله هست که بهطور کامل روی gRPC API بله طراحی شده و استفاده ازش فوقالعاده سادهست ⚡️
اگر این پروژه براتون مفید بود، خوشحال میشیم یه ⭐️ بهش توی گیتهاب بدید 🙌
🔗 گیتهاب:
https://github.com/enalite/aiobale
📖 داکیومنت:
https://docs.aiobale.ir
لطفا مارو با دوستانتون به اشتراک گذارید❤️
🌐 کانال تلگرامی
👨💻 پیج اینستاگرام
👨💻 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
همونطور که میدونید علاقه زیادی به قوی بودن کامینیوتی برنامه نویسان ایرانی دارم و تا جایی که دانش داشته باشم و کمکی از دستم بر بیاد تلاش میکنم🙏.
ويدئو بالا برای یکی از اعضای کار درست کانال هستش که یه کتابخانه برای پیامرسان بله ساخته. خواستم با نشر این ویدئو و توضیحاتش هم حمایت کنم از این قبیل فعالیت ها و هم شما رو با این کتابخونه آشنا کنم
توضیحات دوست عزیزمون:
📌 معرفی و آموزش کتابخونه Aiobale
کتابخونهی Aiobale این امکان رو به شما میده که مشابه تلگرام، برای پلتفرم بله هم یوزربات بسازید.
این اولین کتابخونه برای ساخت یوزربات در بله هست که بهطور کامل روی gRPC API بله طراحی شده و استفاده ازش فوقالعاده سادهست ⚡️
اگر این پروژه براتون مفید بود، خوشحال میشیم یه ⭐️ بهش توی گیتهاب بدید 🙌
🔗 گیتهاب:
https://github.com/enalite/aiobale
📖 داکیومنت:
https://docs.aiobale.ir
لطفا مارو با دوستانتون به اشتراک گذارید❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
پایتون | python | برنامهنویسی | comma.code
سلام دوستان تو این ویدئو خاص، دوست عزیزم @Py_Sudo برای شما دوتا ابزار که در مهندسی معکوس فایلهای کامپایل شده py به exe کمک میکنه رو معرفی کرده. گیت هاب: Github.com/PySudo/PatchPYC Github.com/extremecoders-re/pyinstxtractor لایک و کامنت فراموش نشه 🙏❤️…
Media is too big
VIEW IN TELEGRAM
سلام داخل این ویدئو یک اسکریپت کوچیک راجب جلو گیری از چنین کارهایی رو براتون ارائه دادم .
https://t.me/comma_code_python1/581
لطفا مارو با دوستانتون به اشتراک بگذارید🙏
📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
https://t.me/comma_code_python1/581
داخل این ویدئو ما یک فایل رو با یک روش ساده رمزنگاری کردیم و بازگشایی و اجرای اون فایل رو به یک پسورد وابسطه کردیم
راحتر بخوام بگم فایل اجرایی رمزنگاری میشه و فقط زمانی باز میشه و فایل اجرایی درست میشه که رمز ورودی که همون کلید باز گشایی فایل هستش درست وارد بشه در واقع تا وقتی که کلید درست وارد نشه اصلا فایل اجرایی ساخته نمیشه که بخواد مهندسی معکوس روش انجام بشه
لطفا مارو با دوستانتون به اشتراک بگذارید🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
مینی پروژه مد نظرتون رو برای روز جمعه ساعت ۱۳:۳۰ کامنت کنید
به دلیل اینکه نظرات خیلی متفاوت بود و برخی هم به گونه ای بود که جزو حوزه هایی که کار کرده بودم نبود مجبور شدم یخورده اجراشون رو به تعویق بندازم
ولی امروز ساعت ۱۳:۳۰ یعنی ۱۰ دقیقه دیگه در گروه ویس چت داریم تا اگر کسی سوالی داشت و یا مطلبی برای ارائه داشت اونجا با هم دیگه به اشتراک بگذاریم
ولی امروز ساعت ۱۳:۳۰ یعنی ۱۰ دقیقه دیگه در گروه ویس چت داریم تا اگر کسی سوالی داشت و یا مطلبی برای ارائه داشت اونجا با هم دیگه به اشتراک بگذاریم
پایتون | python | برنامهنویسی | comma.code
به دلیل اینکه نظرات خیلی متفاوت بود و برخی هم به گونه ای بود که جزو حوزه هایی که کار کرده بودم نبود مجبور شدم یخورده اجراشون رو به تعویق بندازم ولی امروز ساعت ۱۳:۳۰ یعنی ۱۰ دقیقه دیگه در گروه ویس چت داریم تا اگر کسی سوالی داشت و یا مطلبی برای ارائه داشت…
Telegram
پایتون | python | برنامهنویسی | comma.code
به ⭐️گروه پایتونِ ما⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته
حرفی سخنی انتقادی: @ir_379
حرفی سخنی انتقادی: @ir_379
داشتم کتاب php رو میخوندم یهو گفتم شاید فکر کنید که یادگیری زبان برنامهنویسی دوم یا سوم سخت باشه.
به همین دلیل یک عکس گرفتم و براتون قرار دادم تا واضح تر توضیح بدم که منطق اکثر زبان های برنامهنویسی شبیه به همدیگه هستش و شما برای یادگیری زبان جدید فقط کافیه قواعد سینتکس اون زبان رو یاد بگیرید
در تصویر بالا هم قابل مشاهده هستش که شی گرایی در python و php چه شباهت هایی باهم دیگه دارن .
در کل از یادگیری هیچ ترسی نداشته باشید و برا خودتون چهارچوب های خیلی سفت و سخت نسازید و هر چیزی رو که هر لحظه احساس کردید نیاز دارید جستجو کنید و به مقدار نیازتون یاد بگیرید
طبیعی هستش که در شروع هر کاری نفهمید چه اتفاقی داره میوفته یا باید چیکار کنید . پس فقط شروع کنید و از یاد گیری مباحث جدید نترسید.
راسی جمعه هم طبق معمول داخل گوگل میت یه مینی پروژه انجام میدیم
(احتمالا یک بازی ساده با pygame )
به همین دلیل یک عکس گرفتم و براتون قرار دادم تا واضح تر توضیح بدم که منطق اکثر زبان های برنامهنویسی شبیه به همدیگه هستش و شما برای یادگیری زبان جدید فقط کافیه قواعد سینتکس اون زبان رو یاد بگیرید
در تصویر بالا هم قابل مشاهده هستش که شی گرایی در python و php چه شباهت هایی باهم دیگه دارن .
در کل از یادگیری هیچ ترسی نداشته باشید و برا خودتون چهارچوب های خیلی سفت و سخت نسازید و هر چیزی رو که هر لحظه احساس کردید نیاز دارید جستجو کنید و به مقدار نیازتون یاد بگیرید
طبیعی هستش که در شروع هر کاری نفهمید چه اتفاقی داره میوفته یا باید چیکار کنید . پس فقط شروع کنید و از یاد گیری مباحث جدید نترسید.
راسی جمعه هم طبق معمول داخل گوگل میت یه مینی پروژه انجام میدیم
(احتمالا یک بازی ساده با pygame )
❤4👍4
ساعت ۱۳:۳۰ امروز لینک میت رو قرار میدم
اول یه سر به سورس بازی دوز میزنیم و توضیح میدم
و بعدش سعی میکنیم با pygame یه بازی بسازیم
اول یه سر به سورس بازی دوز میزنیم و توضیح میدم
و بعدش سعی میکنیم با pygame یه بازی بسازیم
This media is not supported in your browser
VIEW IN TELEGRAM
سلام جلسه امروز هم تموم شد
ممنون از دوستانی که بودن
اول جلسه در خصوص بازی دوز که روز قبل ساختیم صحبت کردیم و بعدش این بازی مار رو تا اینجا ساختیم (البته باگ هایی داره که باید فیکس بشن)
فایل این بازی رو هم وقتی تموم شد قرار میدم
🙏
ممنون از دوستانی که بودن
اول جلسه در خصوص بازی دوز که روز قبل ساختیم صحبت کردیم و بعدش این بازی مار رو تا اینجا ساختیم (البته باگ هایی داره که باید فیکس بشن)
فایل این بازی رو هم وقتی تموم شد قرار میدم
🙏
🔥5🙏1
دوتا از عملگر هایی که خیلی کم بهش اشاره شده left shift و right shift هستن امروز اومدم راجب این دوتا عملگر توضیح بدم
این عملگر ها روی بیت های باینری اینتجر ها کار میکنن . عملگر left shift میاد بیت های باینری ما رو کلا به سمت چپ میکشه و اگر ما خط کش باینری بزاریم میبینم که عدد ما ضربدر ۲ شده و مقدارش ۲ برابر شده چون تمامی بیت های ما یکبار به سمت چپ شیفت و حرکت داده شدن . right shift هم دقیقا برعکس اینکار رو انجام میده و بیت های ما رو یه سمت راست حرکت میده .
نکته ای که باید اضافه کنم اینه که سرعت این کار خیلی بیشتر از استفاده عملگر ضرب برای دوبرابر کردن مقدار مد نظر هستش.
در ادامه دو مثال انجام میدیم:
left shift:
right shift:
#پایتون #تمرین #کاما_کد #برنامه_نویسی #چالش
#python #challenge #comma_code #programing
#python_challenge
📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
این عملگر ها روی بیت های باینری اینتجر ها کار میکنن . عملگر left shift میاد بیت های باینری ما رو کلا به سمت چپ میکشه و اگر ما خط کش باینری بزاریم میبینم که عدد ما ضربدر ۲ شده و مقدارش ۲ برابر شده چون تمامی بیت های ما یکبار به سمت چپ شیفت و حرکت داده شدن . right shift هم دقیقا برعکس اینکار رو انجام میده و بیت های ما رو یه سمت راست حرکت میده .
نکته ای که باید اضافه کنم اینه که سرعت این کار خیلی بیشتر از استفاده عملگر ضرب برای دوبرابر کردن مقدار مد نظر هستش.
در ادامه دو مثال انجام میدیم:
left shift:
num_1=4
#ساحت متغیر اول و مقدار دهی 4
num_2=num_1<<2
#انجام دوبار left shift روی متغیر اول و قرار دادن در متغیر دوم
#شیوه انجام عملیات
'''
خط کش باینری | 1 | 2 | 4 | 8 | 16 | 32
--‐--------------------------------------------
ترکیب اولیه | 0 | 0 | 1 | 0 | 0 | 0
اولین حرکت به چپ | 0 | 0 | 0 | 1 | 0 | 0
دومین حرکت به چپ | 0 | 0 | 0 | 0 | 1 | 0
'''
print(f"{num_1} << 2 = {num_2}")
#out:4 << 2 = 16
right shift:
num_1=4
#ساحت متغیر اول و مقدار دهی 4
num_2=num_1>>2
#انجام دوبار right shift روی متغیر اول و قرار دادن در متغیر دوم
#شیوه انجام عملیات
'''
خط کش باینری | 1 | 2 | 4 | 8 | 16 | 32
--‐--------------------------------------------
ترکیب اولیه | 0 | 0 | 1 | 0 | 0 | 0
اولین حرکت به راست | 0 | 1 | 0 | 0 | 0 | 0
دومین حرکت به راست | 1 | 0 | 0 | 0 | 0 | 0
'''
print(f"{num_1} >> 2 = {num_2}")
#out:4 >> 2 = 1
#پایتون #تمرین #کاما_کد #برنامه_نویسی #چالش
#python #challenge #comma_code #programing
#python_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
پایتون | python | برنامهنویسی | comma.code
به ⭐️کانال پایتونِ ما⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشدن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته
حرفی سخنی انتقادی: @ir_379
حرفی سخنی انتقادی: @ir_379
❤1👍1
سلام دوستان
این هفته جمعه جلسه آنلاین(انجام مینی پروژه نخواهیم داشت)
این هفته جمعه جلسه آنلاین(انجام مینی پروژه نخواهیم داشت)
💔5
همین الان تنظیم سرفصل های دوره پایتون ما هم تموم شد .
فصل اول :مبانی و پایه های پایتون (تقریبا ۱۳ قسمت خواهد که تا مباحث توابع پیش میریم)
فصل دوم: مقدماتی تا متوسط ( تقریبا ۱۱ قسمت خواهد بود و تا شی گرایی مقدماتی پیش میریم)
فصل سوم:پیشرفته(تقریبا ۱۰ قسمت )
فصل چهارم:کاربرد های تخصصی و اکوسیستم پایتون
فصل پنجم: ساخت چند پروژه و آشنایی با فریم ورک ها و مسیر های شغلی (تقریبا ۸ قسمت)
سرجمع چیزی حدود ۴۰ الی ۴۵ قسمت، که هر کدوم ۴۰ الی یک ساعته خواهد بود
این دوره و دوره مبانی کامپیوتر و برنامه نویسی رایگان هستن و از چنل یوتیوب ما پخش خواهند شد
منتظر حمایت های شما هستیم 🙏
#پایتون #تمرین #کاما_کد #برنامه_نویسی #چالش
#python #challenge #comma_code #programing
#python_challenge
📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
فصل اول :مبانی و پایه های پایتون (تقریبا ۱۳ قسمت خواهد که تا مباحث توابع پیش میریم)
فصل دوم: مقدماتی تا متوسط ( تقریبا ۱۱ قسمت خواهد بود و تا شی گرایی مقدماتی پیش میریم)
فصل سوم:پیشرفته(تقریبا ۱۰ قسمت )
فصل چهارم:کاربرد های تخصصی و اکوسیستم پایتون
فصل پنجم: ساخت چند پروژه و آشنایی با فریم ورک ها و مسیر های شغلی (تقریبا ۸ قسمت)
سرجمع چیزی حدود ۴۰ الی ۴۵ قسمت، که هر کدوم ۴۰ الی یک ساعته خواهد بود
این دوره و دوره مبانی کامپیوتر و برنامه نویسی رایگان هستن و از چنل یوتیوب ما پخش خواهند شد
منتظر حمایت های شما هستیم 🙏
#پایتون #تمرین #کاما_کد #برنامه_نویسی #چالش
#python #challenge #comma_code #programing
#python_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
پایتون | python | برنامهنویسی | comma.code
به ⭐️کانال پایتونِ ما⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشدن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته
حرفی سخنی انتقادی: @ir_379
حرفی سخنی انتقادی: @ir_379
🔥8❤5
سلام
فردا لینک میت رو ساعت ۱۳:۳۰ قرار میدم تا ادامه بازی مار رو با pygame بسازیم
شاید نگران کم شدن فعالیت کانال بشید باید بگم که چند روزیه بشدت سرم شلوغ شده و کارهای مختلف با موضوعات مختلف رو فعالیتم تاثیر گذاشتن ولی نگران نباشید که بزودی باز فعالیت هامون رو شروع میکنیم و با قدرت ادامه میدیم
فردا لینک میت رو ساعت ۱۳:۳۰ قرار میدم تا ادامه بازی مار رو با pygame بسازیم
شاید نگران کم شدن فعالیت کانال بشید باید بگم که چند روزیه بشدت سرم شلوغ شده و کارهای مختلف با موضوعات مختلف رو فعالیتم تاثیر گذاشتن ولی نگران نباشید که بزودی باز فعالیت هامون رو شروع میکنیم و با قدرت ادامه میدیم
❤5🔥3🤬2
This media is not supported in your browser
VIEW IN TELEGRAM
امروز هم روی بخش امتیاز و تایمر بازی کار کردیم
👍8🔥1
سلام
داشتم یه نکته ای رو در جایی میخوندم که دیدم جالبه و خواستم بگم. این نکته بهتون کمک میکنه در اکثر مواقع حجم استفاده برنامه شما از حافظه در چیزی حدود ۶۰ درصد کمتر بشه.
شما میدونید که وقتی دارید یک کلاس میسازید هر شی یه دیکشنری
نمونه این چنین کلاس ها:
در مقابل ما میتونم با
نمونه چنین کلاسی:
🔰تفاوت ها:
روش اول و حالت عادی
در این حالت نمونه ما کاملا پویا هستش و میتونیم ویژگی هایی بهش اضافه کنیم ولی حافظه بیشتری اشغال میکنه و همینطور جستجو کردن هم در ین مورد کندتر هستش
روش دوم و استفاده از slots
در این حالت نمونه ما پویا نیست و نمیشه بهش ویژگی اضافه کرد ولی از حافظه کمتری استفاده میکنه و همینطور سرعت جستجو بالاتر هستش. باید اضافه کنیم اگر ارث بری اتفاق افتاد و نیاز بود که کلاس فرزند ویژگی جدید داشته باشه باید slots خودش رو تعریف کنه
نکته: تفاوت حجم استفاده از حافظه در ساخت نمونه در تعداد پایین زیاد نیست و در این حالت پیشنهاد نمیکنم که از slots استفاده کنید ولی در ساخت تعداد نمونه زیاد برای مثال ۱۰۰۰۰ عددی این تفاوت کاملا حس میشه.
📊حالا بریم با یه اسکریپت تفاوت میزان فضای اشغالی این دو حالت رو در تعداد 100,000 عدد نمونه برسی کنیم.
امیدوارم براتون مفیده بوده باشه🙏😘
نظرات خودتون رو حتما کامنت کنید👌📝
#python #programing #memory_optimization #programming_tips #comma_code #comma_code_python
#پایتون #برنامه_نویسی #حافظه #بهینه_سازی #نکته #کاما_کد
📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
داشتم یه نکته ای رو در جایی میخوندم که دیدم جالبه و خواستم بگم. این نکته بهتون کمک میکنه در اکثر مواقع حجم استفاده برنامه شما از حافظه در چیزی حدود ۶۰ درصد کمتر بشه.
شما میدونید که وقتی دارید یک کلاس میسازید هر شی یه دیکشنری
__dict__ داره که ویژگی ها و مقادیر اون ویژگی ها رو نگهداری میکنه. باید بدونید این دیکشنری برای ساده ترین اشیا سربار حافظه قابل توجهی تولید میکنه .نمونه این چنین کلاس ها:
class N_user:
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
در مقابل ما میتونم با
__slots__ پیشاپیش ویژگی ها رو اعلام کنیم تا برای هر شی یک ساختار آرایه ای در نظر گرفته بشه که فقط فضا برای نگهداری ویژگی هایی که تعریف کردیم رو داشته باشه.این کار باعث میشه سربار حافظه مربوط به دیکشنری کامل حذف بشهنمونه چنین کلاسی:
class S_user:
__slots__=["name","age","loc"]
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
🔰تفاوت ها:
روش اول و حالت عادی
در این حالت نمونه ما کاملا پویا هستش و میتونیم ویژگی هایی بهش اضافه کنیم ولی حافظه بیشتری اشغال میکنه و همینطور جستجو کردن هم در ین مورد کندتر هستش
روش دوم و استفاده از slots
در این حالت نمونه ما پویا نیست و نمیشه بهش ویژگی اضافه کرد ولی از حافظه کمتری استفاده میکنه و همینطور سرعت جستجو بالاتر هستش. باید اضافه کنیم اگر ارث بری اتفاق افتاد و نیاز بود که کلاس فرزند ویژگی جدید داشته باشه باید slots خودش رو تعریف کنه
همچنین در این حالت اگر به قابلیت های خاص مثل dict یا weakref نیاز دارید میتونید اونها رو به slots اضافه کنید.نکته: تفاوت حجم استفاده از حافظه در ساخت نمونه در تعداد پایین زیاد نیست و در این حالت پیشنهاد نمیکنم که از slots استفاده کنید ولی در ساخت تعداد نمونه زیاد برای مثال ۱۰۰۰۰ عددی این تفاوت کاملا حس میشه.
📊حالا بریم با یه اسکریپت تفاوت میزان فضای اشغالی این دو حالت رو در تعداد 100,000 عدد نمونه برسی کنیم.
from sys import getsizeof as size
class N_user:
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
def age_up(self):
self.age+=1
class S_user:
__slots__=["name","age","loc"]
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
def age_up(self):
self.age+=1
range=range(100000)
N_users=[N_user("name",10,(10,10)) for _ in range]
S_users=[S_user("name",10,(10,10)) for _ in range]
n_memory=sum(size(i)+size(i.__dict__) for i in N_users)
s_memory=sum(size(i) for i in S_users)
print(f"n_users= {n_memory/1024/1024} MB")
print(f"s_users= {s_memory/1024/1024} MB")
print(f"frugality= {(1 - s_memory / n_memory) * 100:.1f}%")
امیدوارم براتون مفیده بوده باشه🙏
نظرات خودتون رو حتما کامنت کنید👌
#python #programing #memory_optimization #programming_tips #comma_code #comma_code_python
#پایتون #برنامه_نویسی #حافظه #بهینه_سازی #نکته #کاما_کد
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3❤2
شما در پایتون میتونید خطا های برنامه رو به کمک چندین کلمه کلیدی و بلوک کد کنترل کنید. برای راحتی توضیحات از یک مثال استفاده میکنیم و مدیریت خطا رو بر روی این مثال انجام میدیم .
مثال : ساخت فانکشنی که حاصل تقسیم دو ورودی را نمایش بدهد و اگر خطایی رخ داد بدون خاتمه یافتن برنامه خطا را به شکل فارسی برگرداند.
ما در مرحله اول باید بلوک try رو بسازیم. در این بلوک کدهایی که میتونن موجب خطا بشن رو قرار میدیم در اینصورت اگر در اجرای این کد ها خطایی پیش اومد برنامه خطا رو به بلوک های بعدی میده تا بتونیم کنترل کنیم. دستورات ما تا اینجا به این شکل میشه:
def division(a,b):
# step1
try:
result=a/b
حالا ما باید مشخص کنیم که در صورت بروز خطا باید چکار انجام بشه که اینکار توسط بلوک except انجام میشه.
همینطور ما میتونیم رفتار رو به نسبت نوع خطا هم انجام بدیم و اگر در بلوک مد نظر نوع خطا مشخص نکنیم بلوک با به وجود اومدن هر نوع خطایی اجرا میشه.
def division(a,b):
# step1
try:
result=a/b
# step2
except ZeroDivisionError:
result = "نمیتوان بر صفر تقسیم کرد"
except TypeError:
result = "این دو نوع دیتا را نمیتوان بر یکدیگر تقسیم کرد"
except:
result="خطای ناشناخته"
باید اضافه کنم که:
ما میتونیم به این شکل هم به خود آبجکت خطا هم دسترسی داشته باشیم و ازش استفاده کنیم.
except Exception as e:
'''
Exception = نوع خطا
که در این حالت تمامی خطاها در نظر گرفته میشه. شما میتونید بجای این کلمه از TypeError یا ZeroDivisionError یا هر نوع خطا دیگه استفاده کنید.
e = آبجکت خطا
این کلمه که دلبخواه هستش به آبجکت خطا اشاره میکنه و شما میتونید به کمکش به موارد مختلف خطا دست پیدا کنید برای مثال
type(e).__name__
'''
در این مرحله میتوان با بلوک else در صورت رخ ندادن هیچ یک از except ها کنترل بیشتری رو داشته باشیم و چون در این مثال نیازی به این بلوک نیست ما میسازیمش ولی داخلش رو خالی میزاریم
بلوک finally در هر صورت اجرا میشن.
def division(a,b):
# step1
try:
result=a/b
# step 2
except ZeroDivisionError :
result = "نمیتوان بر صفر تقسیم کرد"
except TypeError as e:
result =f"{type(e).__name__} :این دو نوع دیتا را نمیتوان بر یکدیگر تقسیم کرد"
except :
result="خطای ناشناخته"
# step 3
else: pass
# step 4
finally: return result
امیدوارم براتون مفید بوده باشه
حمایت فراموش نشه
#Python #ErrorHandling #ExceptionHandling #PythonExceptions
#TryExcept #PythonProgramming #CodingTips #Debugging
#PythonTips #CodeQuality #RobustCode #PythonDev
#ErrorManagement #CleanCode #PythonLearning #comma_code #programing #پایتون #مدیریت_خطا #مدیریت_استثنا #خطا_در_پایتون
#تری_اکسپت #برنامه_نویسی_پایتون #نکات_کد_نویسی #دیباگ
#نکات_پایتون #کد_تمیز #برنامه_نویسی_ایمن #یادگیری_پایتون
#خطایابی #کد_حرفه_ای #پایتون_پیشرفته
#کاما_کد #برنامه_نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍1👏1
دوست دارید راجب باگ اعشار شناور ويدئو آماده کنم؟ و توضیح بدم که چرا گاهی اوقات کار با اعداد اعشار اینقدر پیچیده میشه؟
Final Results
90%
بله. حتما اینکار رو انجام بده 👍
10%
خیر 👎
❤4🔥3👍2