وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

نحوه حذف یک متغیر جهانی در پایتون

0 2
زمان لازم برای مطالعه: 2 دقیقه


معرفی

در پایتون، متغیرهایی که خارج از تابع یا در فضای جهانی اعلام شده اند، به عنوان متغیرهای جهانی شناخته می شوند. این متغیرها توسط هر تابعی در برنامه قابل دسترسی هستند. با این حال، ممکن است مواردی وجود داشته باشد که بخواهید یک متغیر سراسری را در یک تابع حذف یا تغییر دهید. این بایت شما را در فرآیند انجام این کار راهنمایی می کند.

متغیرهای جهانی در پایتون

قبل از اینکه به چگونگی حذف یا تغییر یک متغیر سراسری بپردازیم، اجازه دهید لحظه ای را برای درک اینکه متغیر جهانی چیست، صرف کنیم. در پایتون، متغیری که خارج از یک تابع اعلام شده است، به عنوان متغیر جهانی شناخته می شود. این به این معنی است که متغیر را می توان از هر نقطه ای از کد – چه در یک تابع و چه خارج از آن – دسترسی داشت.

در اینجا یک مثال ساده از یک متغیر جهانی آورده شده است:

x = 10

def print_global():
    print("The global variable is: ", x)

print_global()

خروجی:

The global variable is:  10

اینجا، x یک متغیر سراسری است زیرا خارج از آن تعریف شده است print_global تابع، اما هنوز هم می توان به آن در داخل تابع دسترسی داشت.

چرا یک متغیر جهانی را حذف کنیم؟

بنابراین ممکن است از خود بپرسید، چرا ما همیشه می خواهیم یک متغیر سراسری را حذف کنیم؟ خوب، در برنامه های بزرگ، متغیرهای سراسری می توانند منابع حافظه قابل توجهی را مصرف کنند، به خصوص اگر حاوی ساختارهای داده یا اشیاء بزرگ باشند. یا شاید لیست شما از متغیرهای جهانی (از طریق globals()) بیش از حد به هم ریخته شده است.

پیشنهاد می‌کنیم بخوانید:  کوروتین ها در پایتون

یکی از مزیت‌های حذف متغیرهای سراسری که دیگر به آن نیاز ندارید این است که می‌تواند به آزاد کردن حافظه، بهبود ردپای و کارایی کد شما کمک کند.

صبر کن! حذف یک متغیر سراسری باید با احتیاط انجام شود، زیرا اگر بخش‌های دیگر برنامه شما همچنان در تلاش برای دسترسی به آن هستند، می‌تواند منجر به خطا شود.

چگونه یک متغیر جهانی را حذف کنیم

حذف یک متغیر سراسری در پایتون بسیار آسان است – ما فقط از آن استفاده می کنیم del کلمه کلیدی. با این حال، اگر سعی کنید یک متغیر سراسری را مستقیماً در یک تابع حذف کنید، با خطا مواجه خواهید شد. این به این دلیل است که پایتون متغیرها را به‌طور پیش‌فرض در توابع به‌عنوان محلی در نظر می‌گیرد.

در اینجا یک مثال است:

x = 10

def delete_global():
    del x
    print(x)

delete_global()

این خروجی خواهد داشت:

UnboundLocalError: local variable 'x' referenced before assignment

برای حذف متغیر سراسری در تابع، باید جهانی اعلام کنند در داخل تابع با استفاده از global کلمه کلیدی:

x = 10

def delete_global():
    global x
    del x

delete_global()

print(x)

این خروجی خواهد داشت:

NameError: name 'x' is not defined

همانطور که می بینید، پس از تماس با delete_global عملکرد، تلاش برای چاپ x منجر به الف NameError زیرا متغیر سراسری x حذف شده است.

نتیجه

در این بایت، ما در مورد متغیرهای سراسری در پایتون و اینکه چرا ممکن است بخواهید آنها را حذف کنید، یاد گرفتیم. ما همچنین نحوه حذف یک متغیر سراسری در یک تابع را با استفاده از del و global کلید واژه ها. فقط همیشه مطمئن شوید که متغیر قبل از حذف در جای دیگری از کد شما مورد نیاز نیست.

پیشنهاد می‌کنیم بخوانید:  بایت ها را به رشته در پایتون تبدیل کنید





منتشر شده در 1402-12-27 01:52:11

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید