Dalam banyak sumber saya menemukan "ruang lingkup" dan "ruang nama" digunakan secara bergantian, yang tampaknya sedikit membingungkan karena mereka bermakna berbeda.
- Lingkup mendefinisikan wilayah kode tempat nama tersedia.
- Aturan LEGB menentukan cara nama dilihat.
- Namespace adalah tempat Anda mencari nama.
Lalu saya membaca:
- "Nama-nama diikat ke namespace sesuai dengan tempat mereka ditugaskan ..." (yang saya percaya adalah kesepakatan dengan ruang lingkup dalam pelingkupan leksikal).
- "fungsi menambahkan lapisan namespace tambahan ke program Anda" [ ref. ] (bukankah mereka menambahkan lingkup lokal tambahan?)
- "Semua nama yang ditetapkan dalam definisi fungsi dimasukkan ke dalam ruang lingkup lokal (namespace yang terkait dengan panggilan fungsi)."
- "Ruang lingkup global - yaitu, namespace tempat variabel dibuat (ditugaskan) di tingkat atas file modul."
* semua kutipan berasal dari belajar python 5th edition ch17
Apakah ruang nama dalam Python cara lingkup diterapkan? Apakah mereka sama? Adakah yang bisa menyadarkan saya?