Python: the Most Advanced Programming Language for Computer Science Applications
Total Page:16
File Type:pdf, Size:1020Kb
Python: The Most Advanced Programming Language for Computer Science Applications Akshit J. Dhruv, Reema Patel and Nishant Doshi Computer Science and Engineering, Pandit Deendayal Petroleum University, Gandhinagar, Gujarat Keywords: Python, Python libraries, Memory allocation, Data Structure, Framework. Abstract: In last few years, there has been an advancement in programming languages due to different libraries that are introduced. All the developers in this modern era prefer programming language that provides a built-in module/library which can make their work easy. This paper describes the advancement of one such language “Python” and it’s increasing popularity through different statistical data and graphs. In this paper, we explore all the built-in libraries for all different computer science domains such as Data Science, Machine Learning, Image Processing, Deep Learning, Natural Language Processing, Data Visualization, Cloud Computing, Speech recognition, etc. We have also included Memory management in Python. Different frameworks for Python which can make the front-end work easier are also mentioned. 1 INTRODUCTION 2 DATA STRUCTURE In 1991, Python language was developed by Guido Data structure means organization, management of van Rossum. There is an interesting story behind data and also it is a storage format which provides giving the name “Python” to the programming efficient access and modification. In general, it language. At the time of development of python, the contains relation among them, and the functions or developer was reading the script “Monty’s Python operations that can be applied to the data. Flying which is a BBC series. While reading this • Cython: It helps in improving the speed of the book he got an idea to name the programming implementation of the code. language as “Python” to have a short and unique • PYTables: It is used in maintaining name. Python is object- oriented, interpreted, and hierarchical datasets and is also used to interactive programming language. It provides high- maintain an extremely large amount of data. level data structures such as list, tuples, sets, • Tree Dict: It works as a container for python associative arrays (called dictionaries), dynamic to simplify the bookkeeping surrounding typing and binding, modules, classes, exceptions, parameters, variables, and data. It is very automatic memory management, etc. It is also used stable and fast at work. for parallel computing system and has a comparatively simple and easy syntax for coding Table 1: Different Data Structure in Python. and still it is a powerful programming language. Type Definition Symbol Example Python has the interpreter for java known as It is defined JPython, which is similar to the interpreter for C A list is a by square mutable data List=[1,2,3] language. Python has many advantages over any List braces [ ]. other languages, like it has varieties of library which structure, ordered sequence of reduces the code to one-third for programmer and element. due to this Python has reached at the +highest peak in terms of Machine Learning. Difficulty is faced by many while solving problems(Lawan et al, 2015), this research will help providing knowledge about different libraries and motivate them to use Python. 292 Dhruv, A., Patel, R. and Doshi, N. Python: The Most Advanced Programming Language for Computer Science Applications. DOI: 10.5220/0010307902920299 In Proceedings of the International Conference on Culture Heritage, Education, Sustainable Tourism, and Innovation Technologies (CESIT 2020), pages 292-299 ISBN: 978-989-758-501-2 Copyright c 2021 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved Python: The Most Advanced Programming Language for Computer Science Applications Dictionary are the capability of adding rich media, also called observations, shell syntax, backup of HashMap or command history, and tab completion. associative arrays, It is defined by Dict= Dictionary which means that brackets {} (https://pypi.org) It is also used in debugging {1:”a”,2:”b” an element of the by using IPython as fix interpreter. The usage } list is associated of Mathematica or MATLAB makes it with the comfortable to work with IPython. It is also definition, rather like Map in Java. used in Data Structure. • Pygame: Video games are created easily using It is a collection of It is defined Pygame. The library has computer graphics Set={1,2,3 Set unordered and by brackets } and sound libraries which are specially made unique immutable {} for python programming language. objects. • SQLAlchemy: It provides a common interface for creating and executing database-agnostic code without the need of writing SQL 3 BUILT-IN LIBRARIES IN statements. It is also used in data structure. PYTHON FOR COMPUTER • Scrapy: This library is used to design web scraping, and also it can be used to get data SCIENCE APPLICATIONS using APIs or it is used as a general-purpose web crawler. 3.1 Data Science • Pywin32: This library is used to create COM objects and the Pythonwin environment. Data Science is to develop a different approach to • wxPython: GUI toolkit for the Python record, store, and analyse the data and using this programming language can be obtained by data to get effective information. Data science aims this library. Applications made using this has at achieving ideas and knowledge from any type of native appearance on all platforms. data. • Flask: It allows you to build websites and web Python provides number of libraries for the same apps very fast and efficiently. as listed below: • Nose: It runs tests or directories whose name • Matplotlib: 2D plot graphs can be made using includes “test” at the end of the word. To ease Matplotlib library. out the print- style debugging, it includes • Pandas: Data analysis in finance, statistics, captured stdout output from failing tests. social science, and engineering require • Sympy: It is used for symbolic mathematics. It different types of data structure and tools tries to keep the code as simple as possible in which are provided by Pandas. process of making a full-featured computer (https://pypi.org). algebra system (CAS). • NumPy: It is the basic library for scientific • Fabric: Fabric along which is acting as library computing in Python. (https://pypi.org) for Python, is also a command line interface Multidimensional arrays and matrices can be tool for increasing the use of SSH for the done using objects in NumPy, and also application arrangement or systems routines are provided which allows developers administrations. The main use of this library is to compute advanced mathematical and to create a module which contains one or more statistical functions on those arrays with code functions, and then executing them through if possible. It is also used in Data Structure. fab command-line tool. • SciPy: Manipulation and visualization of data • Pillow: Python Imaging Library which adds is done using a high-level command provided the support for different options like opening, in SciPy. Functions for solving Integrals manipulating data, and saving images as numerically, computing differential equations, different file formats. It is also used in Image and optimization are included in the package. processing. The library SciPy is also used in Image • Statsmodels: Statistical Models can be processing. estimated using this library. Also it can • IPython: Using Ipython, an efficient explore data and perform statistical test. It is interactive shell gets added along with the also used in machine-learning. functionality of Python’s interpreter that has 293 CESIT 2020 - International Conference on Culture Heritage, Education, Sustainable Tourism, and Innovation Technologies 3.2 Machine Learning 3.3 Deep Learning Machine learning can also be considered as a subset Deep Learning can also be called part of Machine or part of Artificial Intelligence that can learn learning. It has a layer of Artificial Neural Network automatically and make changes itself from the which can learn the unstructured or unlabelled data. experience without being externally programming it.( (Machine Learning and Deep Learning frameworks Machine Learning and Deep Learning frameworks and libraries for large-scale data mining). and libraries for large-scale data mining). • Apache MxNet: It permits to use mix • Keras: It is a neural networking API and it is to symbolic and crucial coding to increase execute for the machine learning beginners to productivity and efficiency Inside MxNet build and design neural networks. It is also there is a modern dependency scheduler that used in deep learning. will help to automatically parallelizes both • Shogun: For a wide range of efficient and symbolic and imperative operations quickly. unified machine learning methods, Shogun • Caffe: Expression, modularity, and speed are library is used which is an open source the key features of this library. library.[5] • Fastai: It simplifies the training of neural nets • XGBoost: XGBoost is decision tree that uses very quickly and with accuracy and using the the algorithm to solve the predictive modelling latest technique. It includes the support for problems, and this algorithm is efficient and text, vision, and tabular models. (Machine speedy. Learning and Deep Learning frameworks and • Scikit-learn: It is used for classical ML libraries for large-scale data mining). algorithms. It supports direct and indirect • CNTK: Neural networks are defined in a learning algorithms and also be used for data directed graph by a series of