Python nonlocal keyword | not global | nearest enclosing scope #kody_az

preview_player
Показать описание
Python-da nonlocal açar sözü iç-içə yazılmış funksiyada ən yaxın yuxarı səviyyədəki dəyişənlərə müraciət etmək üçün istifadə olunur (lakin qlobal səviyyədəki dəyişənlərə deyil). Bu, daxili funksiyadan kənar funksiyada müəyyən edilmiş bir dəyişəni dəyişdirməyə imkan verir.

Bir funksiya başqa bir funksiyanın içərisində (yəni iç-içə) olduğu zaman, daxili funksiya kənar funksiyanın lokal dəyişənlərinə daxil ola bilər, lakin onları dəyişdirə bilməz, istisna olaraq həmin dəyişənlər nonlocal açar sözü ilə elan edilsə. Əgər nonlocal istifadə etməsəniz və dəyişəni dəyişdirmək istəsəniz, Python onu daxili funksiyanın lokal dəyişəni kimi qəbul edəcək və kənar dəyişən dəyişməz qalacaq.

nonlocal Python-a bildirir ki, bu dəyişən daxili funksiya üçün lokal deyil və ən yaxın yuxarı səviyyəli funksiyada axtarılmalıdır.

nonlocal üçün qaydalar:

1. Qlobal Deyil: Yalnız ən yaxın yuxarı səviyyədəki funksiyaya aid dəyişənlərə aiddir, qlobal səviyyəyə aid deyil.
2. Lokal Deyil: Bu, yalnız kənar dəyişənləri dəyişdirmək üçün istifadə edilir.
3. Yeni Dəyişən Yaratmaq Mümkün Deyil: Yalnız artıq elan edilmiş dəyişənlər üçün istifadə oluna bilər, yeni dəyişən yarada bilməz.

nonlocal nə zaman İstifadə olunur:

• İç-içə funksiyalar və ya bağlanışlar (closures) ilə işləyərkən.
• Daxili funksiyanın kənar funksiyadakı dəyişəni dəyişdirməsini istəyərkən.
• İç-içə funksiyalar arasında vəziyyəti saxlamaq üçün bir yol lazım olduqda.

global və nonlocal arasındakı fərqlər

• global: Qlobal səviyyədəki dəyişənlərə müraciət edir və hər hansı bir funksiyanın xaricində olan dəyişənləri dəyişdirir.
• nonlocal: Ən yaxın yuxarı səviyyəli funksiyadakı dəyişənlərə müraciət edir və həmin səviyyədəki dəyişənləri dəyişdirir.

=====

In Python, the nonlocal keyword is used within a nested function to refer to variables in the nearest enclosing scope (but not the global scope). It allows you to modify a variable that is defined in an outer function from within an inner (nested) function.

When a function is nested inside another function, the inner function can access variables in the outer function’s local scope, but it cannot modify them unless they are declared with the nonlocal keyword. If you don’t use nonlocal and attempt to modify the variable, Python will treat it as a local variable inside the inner function, and the outer variable will remain unchanged.

The nonlocal keyword tells Python that the variable is not local to the inner function and should be looked for in the nearest enclosing scope.

Rules for nonlocal:

1. Not Global: It only works for variables in the closest enclosing function, not the global scope.
2. Not Local: It allows access to variables from the outer scope, so you can modify them.
3. Cannot Create New Variables: You can only use nonlocal for variables that are already defined in the outer scope.

When to Use nonlocal:
• You are working with closures or nested functions.
• You want the inner function to modify a variable in the outer function.
• You need a way to preserve state across function calls within a nested function structure.

Differences Between global and nonlocal

• global: Refers to variables in the global scope, modifying variables outside of any function.
• nonlocal: Refers to variables in an enclosing function’s scope, modifying variables in the nearest enclosing scope.

#python #kody_az #kodyaz #viral #viralcode #viralvideo #random #code #coder #azerbaycan #azerbaijan #azərbaycan #baku #baki #programming #programmer #codes #hazırlıq #hazirliq #kurs #kurslar #course #courses #online #onlinecourses #test #quiz
Рекомендации по теме
Комментарии
Автор

6:05 Müəllim burda global data yazmasaydız sonda print-dəki data dəyişəni PYTHON olacağdı?

Gahramanofff
visit shbcf.ru