ಪೈಥಾನ್ ಮಾಡ್ಯೂಲ್ಸ್ ಮತ್ತು ಪ್ಯಾಕೇಜಸ್: ಸಂದರ್ಶನ ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಉತ್ತರಗಳು
1. ಪೈಥಾನ್ನಲ್ಲಿ ಮಾಡ್ಯೂಲ್ (Module) ಎಂದರೇನು?
ಉತ್ತರ:
ಮಾಡ್ಯೂಲ್ ಎನ್ನುವುದು ಪೈಥಾನ್ ಡೆಫಿನಿಷನ್ಗಳು ಮತ್ತು ಸ್ಟೇಟ್ಮೆಂಟ್ಗಳನ್ನು ಹೊಂದಿರುವ ಒಂದು ಫೈಲ್. ಫೈಲ್ನ ಹೆಸರು ಮಾಡ್ಯೂಲ್ನ
ಹೆಸರಾಗಿರುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, my_module.py). ಮಾಡ್ಯೂಲ್ಗಳು ಕೋಡ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಮತ್ತು ಪುನಃ ಬಳಸಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.
ಉದಾಹರಣೆ:
math ಒಂದು ಬಿಲ್ಟ್-ಇನ್ ಮಾಡ್ಯೂಲ್, ಇದರಲ್ಲಿ ಗಣಿತಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಫಂಕ್ಷನ್ಗಳಿವೆ.
2. ಪ್ಯಾಕೇಜ್ (Package) ಎಂದರೇನು?
ಉತ್ತರ:
ಪ್ಯಾಕೇಜ್ ಎನ್ನುವುದು ಸಂಬಂಧಿತ ಮಾಡ್ಯೂಲ್ಗಳ ಒಂದು ಸಂಗ್ರಹ. ತಾಂತ್ರಿಕವಾಗಿ, ಇದು __init__.py ಫೈಲ್ ಅನ್ನು ಹೊಂದಿರುವ ಒಂದು ಡೈರೆಕ್ಟರಿ.
ಪ್ಯಾಕೇಜ್ಗಳು ದೊಡ್ಡ ಪ್ರಾಜೆಕ್ಟ್ಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕ್ರಮಬದ್ಧವಾಗಿ ಸಂಘಟಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.
ಉದಾಹರಣೆ:
numpy ಮತ್ತು pandas ಡೇಟಾ ಸೈನ್ಸ್ನಲ್ಲಿ ಬಳಸುವ ಜನಪ್ರಿಯ ಪ್ಯಾಕೇಜ್ಗಳು.
3. import ಮತ್ತು from ... import ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು?
ಉತ್ತರ:
-
import <module_name>:- ಸಂಪೂರ್ಣ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡುತ್ತದೆ.
- ಮಾಡ್ಯೂಲ್ನಲ್ಲಿರುವ ಫಂಕ್ಷನ್ ಅಥವಾ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಲು, ನೀವು
module_name.item_nameಎಂದು ಬಳಸಬೇಕು. - ಉದಾಹರಣೆ:
import math; print(math.pi)
-
from <module_name> import <item_name>:- ಮಾಡ್ಯೂಲ್ನಿಂದ ನಿರ್ದಿಷ್ಟ ಫಂಕ್ಷನ್, ಕ್ಲಾಸ್, ಅಥವಾ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಮಾತ್ರ ಇಂಪೋರ್ಟ್ ಮಾಡುತ್ತದೆ.
- ಇಂಪೋರ್ಟ್ ಮಾಡಿದ ಐಟಂ ಅನ್ನು ನೇರವಾಗಿ ಅದರ ಹೆಸರಿನಿಂದ ಬಳಸಬಹುದು.
- ಉದಾಹರಣೆ:
from math import pi; print(pi)
4. __init__.py ಫೈಲ್ನ ಉದ್ದೇಶವೇನು?
ಉತ್ತರ:
__init__.py ಫೈಲ್ ಒಂದು ಡೈರೆಕ್ಟರಿಯನ್ನು ಪೈಥಾನ್ ಪ್ಯಾಕೇಜ್ ಎಂದು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಫೈಲ್ ಖಾಲಿಯಾಗಿರಬಹುದು, ಅಥವಾ
ಪ್ಯಾಕೇಜ್ ಇಂಪೋರ್ಟ್ ಆದಾಗ ಎಕ್ಸಿಕ್ಯೂಟ್ ಆಗಬೇಕಾದ ಇನಿಶಿಯಲೈಸೇಶನ್ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿರಬಹುದು.
ಉದಾಹರಣೆಗೆ, ಪ್ಯಾಕೇಜ್ನಿಂದ ನಿರ್ದಿಷ್ಟ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಸುಲಭವಾಗಿ ಇಂಪೋರ್ಟ್ ಮಾಡಲು ಇದನ್ನು ಬಳಸಬಹುದು.
ಈಗ, from my_package import function1 ಎಂದು ನೇರವಾಗಿ ಇಂಪೋರ್ಟ್ ಮಾಡಬಹುದು.
5. if __name__ == "__main__": ಬ್ಲಾಕ್ ಅನ್ನು ಏಕೆ ಬಳಸಲಾಗುತ್ತದೆ?
ಉತ್ತರ: ಈ ಬ್ಲಾಕ್ನೊಳಗಿನ ಕೋಡ್, ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನೇರವಾಗಿ ರನ್ ಮಾಡಿದಾಗ ಮಾತ್ರ ಎಕ್ಸಿಕ್ಯೂಟ್ ಆಗುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬೇರೆ ಮಾಡ್ಯೂಲ್ನಿಂದ ಇಂಪೋರ್ಟ್ ಮಾಡಿದಾಗ ಈ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಟ್ ಆಗುವುದಿಲ್ಲ.
ಉಪಯೋಗಗಳು:
- ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿದಾಗ ಅನಗತ್ಯ ಕೋಡ್ (ಉದಾ: ಟೆಸ್ಟಿಂಗ್ ಕೋಡ್) ರನ್ ಆಗುವುದನ್ನು ತಡೆಯಲು.
- ಒಂದು ಫೈಲ್ ಅನ್ನು ಮಾಡ್ಯೂಲ್ ಆಗಿಯೂ ಮತ್ತು ಸ್ವತಂತ್ರ ಸ್ಕ್ರಿಪ್ಟ್ ಆಗಿಯೂ ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಉದಾಹರಣೆ: