Component Integration
Python इतनी Flexible Scripting Language है कि हम बड़ी ही आसानी से इसमें C/C++ के Program Codes Embed कर सकते हैं और Special प्रकार की जरूरतों को C/C++ Codes द्वारा पूरा कर सकते हैं जिसे Python Scripting द्वारा Directly Implement करना काफी जटिल हो सकता है।
उदाहरण के लिए हम अपने Python Script में किसी C Library को Integrate कर सकते हैं जो Python को उस C Library के Components को Launch व Test करने के लिए Enable कर देता है। इसी तरह से हम किसी Onsite Project के Customization के लिए Python Script को उसमें Embed कर सकते हैं और बिना उस सम्पूर्ण Project को Recompile किए हुए उसे Python Script के माध्यम से Customize कर सकते हैं।
SWIG व SIP Code Generators जैसे Tools, Compiled Components को Python Script में Use करने के लिए जरूरी सभी Tasks को Automatically Fulfill कर देते हैं। जबकि Cython System, Programmer को Python व C/C++ जैसे Codes को आपस में Mix करके Use करने की सुविधा देता है।
Python का COM Support, Java-based Implementation Jython और .NET-based Implementation IronPython द्वारा हमें Windows Components को Script करने का एक Alternate तरीका Provide करता है। यानी Python Scripts ऐसे Frameworks Use कर सकता है जिनके माध्यम से हम Windows Platform के MS-Word, MS-Excel आदि को Script कर सकते हैं, जो कि Python के COM Support की वजह से ही सम्भव है।
Database Programming
वर्तमान समय में जितने भी जितने भी Commonly Use होने वाले Relational Database Systems जैसे कि Oracle, MySql, MSSQL Server, Sybase, Informix, Oracle, ODBC, PostgreSQL, SQLite आदि हैं, उन सभी के लिए Python Interface उपलब्ध हैं। यानी हम किसी भी प्रकार के RDBMS के साथ Python को Connect कर सकते हैं और उसमें Data Store, Access व Manipulate कर सकते हैं।
Python में Python Scripts से SQL Database Systems को Access करने के लिए एक Portable Database API भी Define किया गया है जो कि सभी प्रकार के Underlying Database को समान रूप से समान Code द्वारा Access and Manipulate करने की सुविधा Provide करता है।
उदाहरण के लिए यदि हम हमारे Application के लिए Backend Database के रूप में Oracle Use कर रहे हैं, लेकिन कुछ समय बाद हम अपने Underlying Backend Database को Oracle से Change करके MySql पर Shift करना चाहते हैं, तो इस Portable Database API को Use करने की स्थिति में हमें Underlying Backend Database को Change करने के लिए केवल अपने Python Program में Database Connectivity से सम्बंधित केवल एक Line के Program Code को Modify करते हुए Underlying Database System के Name, Database व Credentials को Change करना होता है और बाकी के सभी जरूरी Changes को वह API स्वयं अपने स्तर पर Handle कर लेता है। जबकि यदि हम इस API को Use न करें, तो उस स्थिति में Underlying Database System को Change करना एक Complex, Time Consuming व Buggy प्रक्रिया बन जाती है।
Default रूप से Python 2.5 से ही In-Process SQLite Embedded SQL Database Engine को Standard Part के रूप में Include कर लिया गया है जो कि Prototyping व Basic Program Storage दोनों तरह की जरूरतों को पूरा करने के लिए उपयोगी है। इसलिए छोटी-मोटी जरूरतों को पूरा करने के लिए जब हमें Database की जरूरत होती है, तब हम इस Embedded SQLite Database को सफलतापूर्वक उपयोग में ले सकते हैं। हालांकि जब हमें बड़े Applications Develop करने होते हैं, जहां Underlying Database हमारे Application का एक बहुत ही महत्वपूर्ण Part होता है, तब हम इस Embedded SQLite Database पर पूरी तरह से निर्भर नहीं हो सकते।
जब हम Non-SQL आधारित तरीके से अपने Application के Data को Handle करना चाहते हैं, तब Python का pickle Module हमें एक Simple Object Persistence System Provide करता है, जिसका प्रयोग करके हम आसानी से Entire Python Object को किसी File या File जैसे Object मे Save कर सकते हैं व बाद में जरूरत पड़ने पर फिर से उस File / File Object से Restore कर सकते हैं।
Web पर हमें ZODB व DURUS नाम के Third-Party Open Source Systems मिलते हैं, जो हमें Python Script के लिए Complete Object Oriented Database System Provide करते हैं।
इसी तरह से SQLObject व SQLAlchemy नाम की दो Third-Party Libraries हैं, जो Relational Object Mappers (ORM) Implement करते हैं और Python के Model Classes को Underlying Database की Relational Tables के साथ Map कर देते हैं।
PyMongo Interface द्वारा हम MongoDB Database के साथ Interact करने की सुविधा प्राप्त करते हैं। MongoDB एक High-Performance, Non-SQL, Open-Source JSON Style का Document Database है जो कि Data को Python के List व Dictionary Data Structure के Format में Key-Value Pair के रूप में Store करता है। इसीलिए इसके Data को Python के Standard Library में उपलब्ध json Module द्वारा Parse करके आसानी से Access and Manipulate किया जा सकता है।
इसके अलावा Google के App Engine की तरह Data को Python का प्रयोग करते हुए Store करने के कुछ और Specialized तरीके भी हैं जो कि Data को Python Classes के साथ Model करता है और Extensive Scalability Provide करता है। इसके अलावा Azure, PiCloud, OpenStack व Stackato जैसे कुछ और Emerging Cloud Storage Options भी हैं, जिनका प्रयोग Python के माध्यम से Data को Store, Access व Manipulate करने के लिए किया जा सकता है।
Rapid Prototyping
Python में लिखे गए Programs व Components काफी हद तक C Program की तरह ही दिखाई देते हैं। जिसकी वजह से किसी नए System का Prototype बनाने के लिए Initially Python को Use करना ज्यादा आसान व सुविधाजनक होता है और जब एक बार Python Components का प्रयोग करते हुए Prototype बना लिया जाता है, उसके बाद उस Prototype को बनाने के लिए Use किए गए Selected Components को C/C++ जैसी Compiled Languages द्वारा Compile कर लिया जाता है और Final System को Deliver कर दिया जाता है।
कुछ अन्य Prototyping Tools की तरह Python में Create किए गए Prototype को Complete होने के बाद, फिर से पूरी तरह से C/C++ जैसी Compiled Language में Translate करना जरूरी नहीं होता। बल्कि केवल उन Components को ही Compile करना होता है, जिन्हें Compile करने के लिए Select किया गया है और Python Prototype के जिन हिस्सों या Components को Efficiency के लिए Compile करना जरूरी नहीं होता, उन्हें Compile नहीं किया जाता। जिसके कारण Python का प्रयोग करते हुए Develop किए गए Prototype को Manage, Extend, Maintain व Deploy करना ज्यादा आसान रहता है।
Scientific and Numeric Programming
Numeric Programming एक ऐसा क्षैत्र है, जहां सामान्यत: किसी न किसी Compiled Programming Language को Main Programming Language के रूप में प्राथमिकता देते है क्योंकि Numerical Programming में ढ़ेर सारी Calculations होने की वजह से Code Efficiency व High Performance की अत्यधिक जरूरत रहती है।
लेकिन Scripting Language होने के बावजूद अब Python इतना सक्षम है कि किसी भी अन्य Compiled Programming Language के समान ही इसका प्रयोग भी किसी भी तरह की Numeric Programming के लिए उनती ही सफलता के साथ किया जा सकता है, जितना C/C++ जैसी Modern High Level Compiled Programming Language को और इन्हीं के समकक्ष Code Efficiency व High Performance को भी प्राप्त किया जा सकता है।
NumPy, Python के लिए Develop किया गया ऐसा ही एक High Performance Numeric Programming Extension है। Python को High Speed Performance प्राप्त करने के लिए Compiled Languages Numeric Routines Codes के साथ Integrate करके NumPy, Python को एक Easy to Use Numeric Programming Tool बना देता है जो कि अक्सर FORTRAN या C++ जैसी Compiled Language में Developed Codes की Performance के लगभग समान Performance देने में सक्षम हो जाता है।
हम जब भी कभी Python का प्रयोग करते हुए किसी प्रकार का Animation, 3D-Visualization, Parallel Processing या Graphics से सम्बंधित Application Develop करते हैं, तब हमें कई तरह के Numeric Tools Use करने की जरूरत पड़ती है क्योंकि इस तरह के Applications में Internally ढ़ेर सारी Mathematical Calculations Perform होती हैं। इस तरह के Applications Develop करने के लिए जरूरी Tools हमें Python के SciPy व ScientificPython Extension से प्राप्त होते हैं।
उदाहरण के लिए हम NumPy को Core Component की तरह Use कर सकते हैं और अपने Application की जरूरत के अनुसार NumPy के साथ SciPy व ScientificPython Extensions को Use करके Additional प्रकार की जरूरतों से सम्बंधित Features प्राप्त कर सकते हैं।
NumPy के अलावा Python के PyPy Implementation को Use करके भी हम Numeric Programming कर सकते हैं और इस तरह के Scientific व Numerical Calculation Heavy Applications Develop कर सकते हैं, जो कि NumPy की तुलना में 10 से 100 गुना ज्यादा तेज गति से Numerical Calculations Perform करता है।
Designing, Image Processing and Game Programming
Python का प्रयोग करते हुए हम Games भी Develop कर सकते हैं। जब हम Python का प्रयोग करते हुए Game Programming करना चाहते हैं, तब हम pygame, cgkit, piglet, PySoy, Panda3D जैसे Python Extensions को Use कर सकते हैं।
इसी तरह से PIL व इसके नए Extension Pillow, PyOpenGL, Blender व Maya का प्रयोग करते हुए Image Processing से सम्बंधित Applications Develop कर सकते हैं।
Media File Content व Metadata Tag Processing के लिए हम Python के PyMedia, ID3, PIL/Pillow Extensions का प्रयोग कर सकते हैं।
Hardware, System and Embedded Programming
Python का प्रयोग करते हुए हम pySerial Extension का प्रयोग करके Window व Linux के लिए Serial Port Communication से सम्बंधित Device Driver Programming कर सकते हैं।
इसी तरह से PyRo Toolkit का प्रयोग करते हुए हम Robot Control Programming कर सकते हैं। जबकि Artificial Intelligence व Machine Learning से सम्बंधित Applications Develop करते समय Natural Language Analysis करने के लिए हम NLTK Package का प्रयोग कर सकते हैं।
Raspberry Pi व Arduino Boards की Programming के लिए भी हम Python को सफलतापूर्वक Use करते हुए Embedded Programming कर सकते हैं।
Artificial Intelligence के लिए हम PyBrain Nural Net Library और Machine Learning के लिए हम Python के साथ Milk Library को Use कर सकते हैं।
Expert System Programming के लिए PyCLIPS, Pyke, Pyrolog व pyDatalog Libraries को Use किया जाता है।
Android व iOS Platform पर आधारित Mobile व Tablet PC के Apps Develop करने के लिए भी हम Python को Use कर सकते हैं।
Document and Data Processing Programming
Data Processing और Report Generation के लिए हम ReportLab, Sphinx, Cheetah, PyPDF Use कर सकते हैं।
इसी तरह से Data Visualization के लिए हम Mayavi, matplotlib, VTK, VPython Use कर सकते हैं।
जबकि json व csv Modules का प्रयोग करके हम JSON व CSV File Processing कर सकते हैं।
साथ ही DataNitro या PyXLL का प्रयोग करते हुए Excel Spreadsheet Function व Macro Programming भी कर सकते हैं।
इसी तरह से Data Mining के लिए हम Orange Framework, Pattern Bundle, Scrapy Use कर सकते हैं, अथवा हम अपने स्वयं के Custom Codes भी लिख सकते हैं।
इन सभी के अलावा हम हमारे Day to Day Tasks को Accomplish करने के लिए अपने स्वयं के Custom Python Code Script भी लिख सकते हैं। उदाहरण के लिए System Administration करने, Emails Processing करने, अपने Documents व Media Library को Manage करने जैसे Day to Day Tasks को Complete करने के लिए हम अपने स्वयं की Custom Python Script भी लिख सकते हैं। (Where is Used Python?)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF