Modulni yaratish va foydalanish. Modul yaratish uchun matnli faylga Python kodini kiritish va uni .py kengaytmasi bilan saqlash kerak. Bunday fayl, sukunat bo'yicha, Python moduli hisoblanadi. Modulning yuqori darajasida tayinlangan barcha nomlar uning atributlariga (modul ob'ekti bilan bog'langan nomlar) aylanadi va mijozlar foydalanishi mumkin bo'ladi.
Modul yaratishga misol
# module1 (file module1.py)
def times(x, y):
return x * у
def add(x, у):
return х + у
bu modul ikkita funksiyani o`z ichiga oladi: times va add.
Ushbu moduldan asosiy main.py faylida foydalanamiz. Buning uchun import konstruksiyasidan foydalaniladi:
# main (file main.py)
import modulel
print module1.add(5, 2), module1.times(’Modul ’, 5)
Dastur natijasi quyidagicha
7 Modul Modul Modul Modul Modul
Asosiy modulda import konstruksiyasi bajarilishi natijasida to'liq modul ob'ektiga yo`l ko`rsatuvchi nom (module1) dan foydalanish mumkin bo'ladi. Uning atributlariga (times va add funksiyalari) murojaat qilganda, siz modul nomini nuqta bilan ishlatishingiz kerak (module1.add () va modul1.times ()).
Import qilingan modulga havola nomini o'zgartirish uchun import ... as konstruktsiyasidan foydalaniladi.
# main (file main.py)
import module1 as m1
s=m1.add('Import ', 'as ')
print(m1.add(s,' m1'))
Dastur natijasi
Import as m1
Ba'zan modulni to'liq emas, balki uning sohasidagi alohida nomlarni import qilish qulayroqdir. Bunday holda, from ... import iborasi ishlatiladi. Bizning misolimizda
# main (file main.py)
from module1 import add
print add('Import', 'add')
Import qilinadigan nom (add) from ... import ko'rsatmasini o'z ichiga olgan sohagaga ko'chiriladi va uni o'z ichiga olgan modul nomini ko'rsatmasdan foydalanish mumkin.
Import qilinadigan nomlari ro'yxati o'rniga * belgisidan foydalangan holda from...import ko'rsatmasining maxsus shakli mavjud. Bunday holda, barcha nomlar import qilinadi:
# main (file main.py)
from module1 import *
print(add('Import ', 'all'), times('!',4))
Import all !!!!
Modulda qanday nomlar aniqlanganligini bilish uchun siz dir() funksiyasidan foydalanishingiz mumkin. U satrlarning tartiblangan ro'yxatini qaytaradi:
# main (file main.py)
import module1
print(dir(module1))
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',
'__package__', '__spec__', 'add', 'times']
Import qilish interpretator tomonidan faqat bir marta birinchi import yoki from ... import instruksiyasi bilan amalga oshiriladi. Keyingi import qilish operatsiyalari allaqachon yuklangan modulning ob'ektini oladi. Modullarni qayta yuklash reload funksiyasi tomonidan amalga oshiriladi.
Do'stlaringiz bilan baham: |