Genel değişken yeniden atanamaz. Her zaman aynı nesneye işaret eder. Bununla birlikte, değer değişebilirse içeriği değişebilir (örneğin, bir listenin içeriği). Yerel değişkenlerde bu kısıtlama yoktur.
a = [1, 2]
a[1] = 3
b = 3
b = 4 # forbidden
ERROR: /path/ext.bzl:7:1: Variable b is read only
Bir işlevi yeniden tanımlamaya çalışırsanız benzer bir hata alırsınız (işlevin aşırı yüklenmesi desteklenmez), örneğin:
def foo(x): return x + 1
def foo(x, y): return x + y # forbidden