داغ ترین ویدیو بابلز لرن : هک کلاس های مجازی توسط متین برونسی

ویژگی تصویر

بررسی مفهوم محدوده دسترسی یا همان scope در python

  /  پایتون   /  محدوده دسترسی به متغیرها در پایتون
بنر تبلیغاتی الف

در این بخش به بررسی مفهوم محدوده دسترسی به متغیرها در پایتون می پردازیم. یک متغیر فقط در محدوده ای که تعریف شده است قابل دسترس می باشد به این scope می گویند.

محدوده دسترسی یا همان scope محلی

به عنوان مثال هنگامی که یک متغیر داخل یک تابع تعریف می شود به محدوده محلی آن تابع تعلق دارد یعنی فقط می تواند داخل آن تابع استفاده شود.

مثال

در اینجا متغیر x فقط داخل تابع myfunc قابل دسترس می باشد و بیرون از تابع نمی توانید از آن استفاده کنید:

تماشا در حالت تمام صفحه

تابع داخل تابع

همانطور که قبلاً اشاره شد متغیر x فقط داخل تابعی که در آن تعریف شده قابل دسترس می باشد، با این حال اگر داخل تابع myfunc یک تابع دیگری تعریف کنید می توانید داخل آن تابع به متغیر x دسترسی داشته باشید.

مثال

همانطور که در این مثال مشاهده می کنید، می توانیم داخل تابع myinnerfunc به متغیر x دسترسی داشته باشیم:

تماشا در حالت تمام صفحه

محدوده دسترسی سراسری (Global Scope)

متغیری که داخل بدنه سورس کد پایتون تعریف می شود یک متغیر سراسری یا همان Global است. متغیر های سراسری (global) هم به صورت محلی هم سراسری در تمام بخش ها قابل دسترس هستند.

مثال

در اینجا یک متغیر خارج از تابع در بدنه اصلی سورس کد پایتون تعریف کرده ایم و این یعنی می توانیم داخل هر تابعی به آن دسترسی داشته باشیم چون متغیر x سراسری (global) است.

تماشا در حالت تمام صفحه

نحوه نام گذاری متغیرها

شما اگر دو متغیر با نام x یکی را داخل بدنه سورس کد پایتون به صورت سراسری (global) و دیگری را داخل یک تابع به صورت محلی (local) تعریف کنید، پایتون این دو متغیر x را جدا از هم تشخیص می دهد. (یعنی دو متغیر مجزا در نظر گرفته می شوند)

مثال

در اینجا تابع myfunc مقدار متغیر x که به صورت محلی (local) داخل خودش تعریف شده را چاپ می کند و خط آخر مقدار متغیر x را که به صورت سراسری تعریف شده است را چاپ می کند:

تماشا در حالت تمام صفحه

خروجی:

200
300

کلمه کلیدی Global

اگر قصد دارید داخل یک تابع متغیر سراسری (global) بسازید که خارج از تابع به آن متغیر دسترسی داشته باشید می توانید از کلمه کلیدی global استفاده کنید.

کلمه کلیدی global یک متغیر سراسری می سازد.

مثال

در اینجا داخل تابع myfunc یک متغیر x از نوع سراسری (global) ایجاد کرده ایم و در نهایت خارج از تابع آن را چاپ می کنیم:

تماشا در حالت تمام صفحه

خروجی:

300

همچنین اگر می خواهید داخل یک تابع متغیر سراسری x را که خارج از تابع داخل بدنه سورس کد پایتون تعریف شده است را صدا بزنید می توانید از کلمه کلیدی global استفاده کنید.

مثال

در اینجا مقدار متغیر سراسری x را داخل تابع myfunc تغییر می دهیم:

تماشا در حالت تمام صفحه

خروجی:

200

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج