if __name__ == '__main__':این عبارت یک بلوک کد را مشخص میکند که فقط زمانی که فایل به طور مستقیم به عنوان یک اسکریپت اجرا میشود، اجرا میشود. این عبارت از یک متغیر خاص به نام
__name__ استفاده میکند که مقدار آن بستگی به نحوه اجرای فایل دارد:__name__ برابر با '__main__' خواهد بود.__name__ برابر با نام آن ماژول خواهد بود.با استفاده از این بررسی، میتوانید کدی را بنویسید که فقط زمانی که اسکریپت اجرا میشود اجرا شود، نه زمانی که به عنوان یک ماژول import میشود.
در اینجا یک مثال از نحوه استفاده از عبارت
if __name__ == '__main__': آورده شده است:def main():
print("این کد فقط زمانی که اسکریپت به طور مستقیم اجرا میشود اجرا میشود.")
if __name__ == '__main__':
main()
در این مثال، تابع
main() فقط زمانی که اسکریپت به طور مستقیم اجرا میشود چاپ میشود. اگر این اسکریپت به عنوان یک ماژول import شود، تابع main() اجرا نمیشود.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Please open Telegram to view this post
VIEW IN TELEGRAM
😍15🔥3👍2❤🔥1
سادهترین و معروفترین کتابخونه برای ساخت رابط کاربری در پایتون. از قبل در پایتون موجوده و نیاز به نصب جداگانه نداره. مناسب برای پروژههای کوچیک و متوسط.
یه کتابخونه قویتر و پیچیدهتر که امکان ساخت رابطهای کاربری پیشرفتهتر و زیباتر رو فراهم میکنه. یادگیریش کمی سختتره و باید ابتدا Qt رو نصب کنی.
عالی برای زمانی که میخوای برنامهت روی موبایل هم اجرا بشه. خیلی انعطافپذیره و مناسب برای اپلیکیشنهای چندپلتفرمی و تعاملی.
یه کتابخونه قدرتمند برای ساخت رابطهای کاربری ویندوزی. شبیه به PyQt ولی برای بعضی کاربران ممکنه سادهتر باشه.
یه گزینه جدید و مدرن که خیلی سریع و کار کردن باهاش آسونه. مناسب برای بازیها و اپلیکیشنهای گرافیکی.
هر کدوم از این کتابخونهها میتونن بهتون کمک کنن تا رابطهای کاربری جذاب و کارآمدی بسازید. انتخاب با شماست که کدوم رو بر اساس نیازتون استفاده کنید!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
✔️ SOLID چیه و چه کاربردی داره؟
SOLID مجموعهای از اصول طراحی شیءگرا است که توسط Robert C. Martin معرفی شده و به توسعهدهندگان کمک میکند تا کدهای قابل فهم، قابل نگهداری و انعطافپذیر بنویسند. این اصول شامل پنج بخش اصلی است:
1⃣ اصل مسئولیت یکتا (SRP): هر کلاس باید تنها یک وظیفه مشخص داشته باشد.
🔢 اصل باز/بسته (OCP): کلاسها باید برای توسعه باز و برای تغییر بسته باشند.
🔢 اصل جایگزینی لیسکوف (LSP): کلاسهای فرزند باید بتوانند جایگزین کلاسهای والد خود شوند بدون اینکه رفتار برنامه مختل شود.
🔢 اصل جداسازی اینترفیس (ISP): اینترفیسها باید کوچک و اختصاصی باشند.
🔢 اصل وارونگی وابستگی (DIP): ماژولهای سطح بالا نباید به ماژولهای سطح پایین وابسته باشند، هر دو باید به آبسترکشنها وابسته باشند.
▪️مزایای اصول SOLID:
✔️ کاهش پیچیدگی کد
✔️ افزایش قابلیت نگهداری
✔️ تسهیل در تستپذیری
✔️ بهبود قابلیت توسعه
▪️ابزارها و فریمورکهای مفید:
- Spring (جاوا)
- Angular (وب)
- Django (پایتون)
شرکتهای بزرگی مثل گوگل و فیسبوک از اصول SOLID برای مدیریت پروژههای بزرگ خود استفاده میکنند.
➖➖➖➖➖➖
💻 @Teachify | برنامه نویسی
SOLID مجموعهای از اصول طراحی شیءگرا است که توسط Robert C. Martin معرفی شده و به توسعهدهندگان کمک میکند تا کدهای قابل فهم، قابل نگهداری و انعطافپذیر بنویسند. این اصول شامل پنج بخش اصلی است:
▪️مزایای اصول SOLID:
▪️ابزارها و فریمورکهای مفید:
- Spring (جاوا)
- Angular (وب)
- Django (پایتون)
شرکتهای بزرگی مثل گوگل و فیسبوک از اصول SOLID برای مدیریت پروژههای بزرگ خود استفاده میکنند.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1
🎨 Winter is Coming Theme
🎨 Tokyo Night
🎨 One Dark Pro
🎨 Darcula Theme
🎨 Dracula Official
🎨 SynthWave
▪️روش نصب تم در وی اس کد:
1. ابتدا وارد VSCode شوید.
2. در سمت چپ، روی گزینه Extensions کلیک کنید (آیکون چهار مربع).
3. در منوی باز شده، یک قسمت برای تایپ در بالای صفحه وجود دارد.
4. عنوان تم مورد نظر را در آنجا تایپ کنید (عناوین تمها در همین پست آمدهاند).
5. در لیست نمایش داده شده، روی تم مورد نظر کلیک کرده و سپس روی Install بزنید.
6. پس از نصب، منوی تمها باز میشود و میتوانید تم را انتخاب و تنظیم کنید.
امیدوارم از این تمها استفاده کنید و لذت ببرید.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Forwarded from کالی بویز | ترفند | تکنولوژی
در این آموزش، جنبههای مختلف توابع لامبدا در پایتون، از جمله نحو، موارد استفاده و محدودیتهای آنها را بررسی خواهیم کرد. با درک نحوه استفاده موثر از توابع لامبدا، می توانید کد پایتون مختصر و کارآمدتری بنویسید. استفاده از این توابع مهارت های برنامه نویسی شما را افزایش داده و کدهای شما را تمیزتر و مدیریت آن را آسان تر می کند.
#lambda #python #پایتون #لامبدا
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣26👀2👍1
✔️ چطوری خروجی تمیز تری توی ادیتور داشته باشیم؟
اگه بخواییم خروجی تمیز تری داشته باشیم میتونیم از کد زیر توی کدها استفاده کنیم که خودش میاد و cls رو برامون اجرا میکنه:
💻 @Teachify | برنامه نویسی
اگه بخواییم خروجی تمیز تری داشته باشیم میتونیم از کد زیر توی کدها استفاده کنیم که خودش میاد و cls رو برامون اجرا میکنه:
import os
os.system('cls')Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💩2👀2
Forwarded from 💹 قیمت طلا، تتر، بیتکوین و ارز دیجیتال
https://t.me/notcoin_bot?start=er_12520397
#notcoin
#notcoin_addlist
#ادلیست_ناتکوین
#ناتکوین
Please open Telegram to view this post
VIEW IN TELEGRAM
#html #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥1💩1
1. raise:
- کلمه کلیدی
raise برای پرتاب کردن (ایجاد) یک استثنا استفاده میشود. شما میتوانید از آن برای ایجاد استثناها به صورت دستی در کد خود استفاده کنید.- نحوه استفاده:
raise ExceptionType("Error message")- مثال:
if x < 0:
raise ValueError("x must be non-negative")
2. عبارت try:
- کلمه کلیدی
try برای شروع یک بلوک کد استفاده میشود که ممکن است حاوی کدی باشد که استثنا پرتاب میکند.- هدف از
try این است که به پایتون بگوید که در این بلوک کد، امکان وقوع یک خطا وجود دارد و آن خطا باید مدیریت شود.- مثال:
try:
result = 10 / x
3. عبارت except:
- کلمه کلیدی
except برای مدیریت (گرفتن) استثناهایی استفاده میشود که در بلوک try پرتاب شدهاند.- شما میتوانید یک یا چند بلوک
except داشته باشید تا انواع مختلف استثناها را مدیریت کنید.- مثال:
try:
result = 10 / x
except ZeroDivisionError:
print("You can't divide by zero!")
except TypeError:
print("Invalid type for division")
یک مثال کاملتر از استفاده از این سه کلمه کلیدی:
try:
x = int(input("Enter a number: "))
if x < 0:
raise ValueError("Number must be non-negative")
result = 10 / x
except ValueError as ve:
print(f"ValueError: {ve}")
except ZeroDivisionError:
print("You can't divide by zero!")
except Exception as e:
print(f"An error occurred: {e}")
else:
print(f"Result is {result}")
finally:
print("Execution completed.")
در این مثال:
- بلوک
try تلاش میکند تا یک عدد از کاربر بگیرد و عملیات تقسیم را انجام دهد.- اگر عدد منفی وارد شود، با
raise یک ValueError پرتاب میشود.- بلوکهای
except برای مدیریت انواع مختلف استثناها تعریف شدهاند.- بلوک
else زمانی اجرا میشود که هیچ استثنایی پرتاب نشده باشد.- بلوک
finally همیشه اجرا میشود، چه استثنا پرتاب شده باشد و چه نشده باشد.Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣18👨💻5👍2👎1
مشکل اصلی که در نرمافزار CrowdStrike رخ داد، به دلیل دسترسی نادرست به حافظه از طریق یک اشارهگر تهی (NULL pointer) در زبان برنامهنویسی C++ بود. حافظه در کامپیوتر به صورت یک آرایه بزرگ از اعداد سازماندهی شده است. اگر برنامهای تلاش کند به یک آدرس حافظه نامعتبر دسترسی پیدا کند، سیستمعامل بلافاصله برنامه را متوقف میکند و این موضوع منجر به خرابی سیستم میشود.
در این حالت خاص، برنامه سعی کرد به آدرس حافظه 0x9c (که معادل 156 در مبنای 10 است) دسترسی پیدا کند. این آدرس حافظه نامعتبر است و دسترسی به آن باعث میشود که سیستمعامل برنامه را متوقف کند. این مسئله به دلیل عدم بررسی اشارهگر تهی توسط برنامهنویس اتفاق افتاد.
برای مثال:
struct Obj {
int a;
int b;
};
Obj* obj = NULL;
print(obj->a);در این مثال، اشارهگر obj تهی (NULL) است. هنگامی که برنامه سعی میکند به عضو a از شیء obj دسترسی پیدا کند، به دلیل تهی بودن اشارهگر، به یک آدرس نامعتبر دسترسی پیدا میکند و باعث خرابی برنامه میشود.
این مشکل بهخصوص خطرناک بود زیرا در یک درایور سیستمی رخ داد. درایورهای سیستمی دسترسیهای سطح بالایی به منابع سیستم دارند و خرابی در این درایورها میتواند منجر به توقف کل سیستمعامل و نمایش صفحه آبی مرگ (BSOD) شود.
برای جلوگیری از چنین مشکلاتی، برنامهنویسان باید همیشه قبل از دسترسی به اشارهگرها، آنها را بررسی کنند. استفاده از زبانهای برنامهنویسی مدرن مانند Rust که از دسترسیهای نادرست به حافظه جلوگیری میکنند، میتواند به کاهش این خطرات کمک کند.
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11