Ներածություն Python-ի իմպորտին
Python-ում կարելի է իմպորտել ոչ միայն
ստանդարտ մոդուլները, ինչպես, օրինակ, re
(ռեգուլյար արտահայտությունների հետ աշխատելու համար), այլև ստեղծել
սեփական նոր մոդուլներ օգտագործողի
ֆայլերից:
Ենթադրենք, մենք ունենք lib.py ֆայլ, որն
գտնվում է նույն կատալոգում, ինչ մեր
աշխատանքային test.py ֆայլը:
- lib.py
- test.py
Եկեք դրանում ստեղծենք ֆունկցիա, որն կոնսոլում կտպի բացականչական նշան.
def func():
print('!')
Այժմ անցնենք test.py ֆայլին և
իմպորտենք դրանում այդ ֆունկցիան: Ֆայլի վերևի
տողում գրում ենք import հրամանը,
որից հետո նշում ենք պահանջվող ֆայլի
(մոդուլի) անունը: Քանի որ երկու ֆայլերն էլ գտնվում են մեկ
կատալոգում, import-ից հետո բավական է
նշել միայն մոդուլի անունը՝ առանց դրա ընդլայնման.
import lib
Ապա կանչենք իմպորտված ֆունկցիան: Դրա համար
մոդուլի անունից հետո կետի միջոցով նշենք
ֆունկցիայի անունը func.
lib.func()
Կոդի կատարման արդյունքը.
'!'
Մոդուլը իմպորտելիս աշխատանքային ֆայլում դառնում են մատչելի ոչ միայն ֆունկցիաները, այլև դրա մնացած ամբողջ պարունակությունը, օրինակ, փոփոխականները:
Մոդուլի իմպորտը կատարելուց հետո աշխատանքային
կատալոգում ավտոմատ կերպով հայտնվեց սպասարկման
__pycache__ պանակը: Ուշադրություն դարձրեք
նրան, որ Python-ում բոլոր սպասարկման ֆայլերի և
պանակների անունները ունեն կրկնակի ստորին
ընդգծում.
- /__pycache__/
- lib.py
- test.py
Լինում են դեպքեր, երբ անհրաժեշտ է իմպորտել
մոդուլ, որը գտնվում է այլ պանակում, օրինակ,
/dir/lib.py հասցեով.
- /__pycache__/
- /dir/
- lib.py
- test.py
Այդ դեպքում պանակի և ֆայլի անունը իմպորտի ժամանակ գրվում է կետով, և նույն կերպ գրվում է իմպորտված ֆունկցիան.
import dir.lib
dir.lib.func()
Ստեղծեք file.py ֆայլ: Դրանում ստեղծեք
ֆունկցիա, որն կոնսոլում կտպի
թիվ: Իմպորտեք այդ ֆունկցիան ձեր
աշխատանքային կոդի ֆայլում:
test1.file1.py ֆայլում ստեղծեք
ֆունկցիա, որը կտպի ինչ-որ հաղորդագրություն:
Իմպորտեք այն ձեր աշխատանքային ֆայլում: