Importing everything
Siz barcha funksiyalar va o‘zgaruvchilarni bir marta import qilishingiz ham mumkin.
Hamma narsani import qilish
Siz barcha funksiyalar va o‘zgaruvchilarni bir marta import qilishingiz ham mumkin. Biroq, buni qilish tavsiya etilmaydi. Sababi shundaki, hamma narsani import qilganingizda, siz nimani import qilganingizni doimo bilmay qolasiz. Bu holat namespacening ifloslanishiga olib kelishi mumkin, ya'ni siz biror funksiyani yoki o‘zgaruvchini import qilib, tasodifan ulardan birining nomini o‘zingizning o‘zgaruvchi yoki funksiyangiz bilan qayta ishlatib yoki ustiga yozib qo‘yishingiz mumkin.
Keling, oddiy bir misolga nazar tashlaymiz:
Bu yerda siz math
kutubxonasidan barcha narsalarni * wildkard orqali import qildingiz. Yulduzcha (*
) Pythonga moduldagi hamma narsani import qilishni aytadi.
So‘ngra siz tan
degan o‘zgaruvchini yaratishga qaror qildingiz. Ehtimol siz tan
funksiyasini math
modulidan import qilganingizni sezmagansiz. Agar siz tan
funksiyasini chaqirmoqchi bo‘lsangiz, TypeError xatosini olasiz, chunki siz tan
funksiyasini o‘z o‘zgaruvchingiz bilan ustiga yozib qo‘ydingiz. Bu holat shadowing deb nomlanadi.
from ... import *
foydalanish faqat modul maxsus ravishda shunga mo‘ljallangan bo‘lsa, ma'qul bo‘ladi. Umuman olganda, yulduzcha yordamida hamma narsani import qilishdan saqlanish tavsiya etiladi, chunki bu kabi xatolarni tuzatish juda qiyin bo‘lishi mumkin. Faqat bir nechta misollardan biri, bu holat ko‘pincha Python'da Tkinter
kutubxonasida uchraydi. Tkinter
Python uchun kross-platformali GUI kutubxonasidir va u yordamida siz desktop ilovalar yaratishingiz mumkin. Tkinter
dan import qilingan o‘zgaruvchilar, funksiyalar va sinflar odatda juda noyobdir, shuning uchun ularning nomlarini tasodifan o‘chirib yuborish ehtimoli kam. Ammo, hatto bu holatda ham yulduzcha yordamida hamma narsani import qilish tavsiya etilmaydi.