A Repository that encompasses all my works on Python
Table of contents
- Basics
- OOPS
- Graphics
- Arcade Module
- Random Module
- SMTP Module
- Errors And Exceptions
- File Handling
- Linked List
- Thread Programming
- Socket Programming
- Magic Methods
- Coroutines
- Regular Expressions
- Numerical Computation
- Comprehensions
- Generators
- Databases using SQLite3
- Graphs
- Descriptors
- Meta Programming
- Miscellaneous
- Contributing
- License
Most of these programs run by just executing them through cmd or by double tapping them. However, if you want to modify them on an IDE, open the folder(topic) seperately instead of opening PyHub. This is done mainly to load assets present in the sub-folder.
Python Basics for Beginners.
• Hello World.py | A simple Hello World program. • Numbers.py | Int, Float and Complex Numbers. • Variables.py | Variables in python. • CondStatements.py | Conditional Statements. • Loops.py | For And While Loops. • Statements.py | Break and Continue Statements. • Strings.py | Strings and String Functions. • Sets.py | Implementing Sets. • BoolVar.py | Understanding Boolean Variables. • Lists.py | Implementing Lists. • Dictionary.py | Implementing Dictionary. • Functions.py | Creating and Using Functions. • Arrays.py | Implementing 1D and 2D Arrays. • Copy.py | Understanding Normal, Shallow and Deep Copy. • Operators.py | Covered all python Operators. • Tuples.py | Implementing Tuples.
Implementation of Object-oriented programming System(OOPS) Concepts in Python.
• Abstract.py | Creating an Abstract Class and Method. • ClassAtr.py | Accessing Class Attributes. • Constructors.py | Understanding Constructors in Python. • DocStrings.py | Using Python's documentation strings. • MainFunc.py | Understanding the use of Main Function. • MethodOverloading.py | Method Overloading in Python. • Objects.py | Understanding Objects in OOPS. • OperatorOverloading.py | Operator Overloading in Python. • Polymorphism.py | Implementing Polymorphism in Python.
• Inherit.py | Basic Understanding of Inheritance in Python. • Hierarchical.py | Hierarchical Inheritance • Hybrid.py | Hybrid Inheritance. • Multi-Level.py | Multi-Level Inheritance
• LibMod.py | Using a Standard Python Library Module. • Operations.py | A program that is to be imported. • Importing.py | Importing Operations.py.
• Instance.py | Understanding Instance Methods. • Static.py | Understanding Static Methods • Class.py | Understanding Class Methods
Collection of all different sorting algorithms.
• BogoSort.py | Bogo Sort. • Bubblesort.py | Bubble Sort. • CountingSort.py | Counting Sort. • HeapSort.py | Heap Sort. • InsertionSort.py | Insertion Sort. • MergeSort.py | Merge Sort. • QuickSort.py | Quick Sort. • RecursiveBubbleSort.py | Bubble sorting using recursion. • SelectionSort.py | Selection Sort. • ShellSort.py | Shell Sort.
Utilising Python's Tkinter module to build Graphical User Interface(GUI)
• Widgets.py | Understanding and using various Widgets. • Buttons.py | Creating and Modifying Buttons. • Frame.py | Setting up Frames. • Window.py | Creating a GUI Window using Tkinter Module. • Images.py | Importing Images onto the window through Labels. • Canvas.py | Using the canvas to create Arcs and Polygons. • TextField.py | Creating a text field. • CheckBox.py | Implementing Check Boxes. • RadioButtons.py | Implementing Radio Buttons. • Events.py | Building Event Triggers. • Dialogbox.py | Understanding and Creating Dialog Boxes. • Menus.py | Understanding and Implementing Menus • MessageBox.py | Creating different types of Message Boxes. • Simple Calculator.py | Creating a GUI based Calculator.
Creating Still Images and Animations, Moving Objects and more using Python's Arcade Module
• Smiley.py | Creating a Smiley using the Arcade Module. • Still Imaging.py | Creating a Still 2D image. • Snow.py | Creating Snow particle effect. • Timer.py | A countdown timer that notifies when countdown reaches zero. • Clock.py | Building a simple analog clock. • Movement.py | Moving a 2D object in an arcade window.
Using the Random module in python to generate numbers or pick elements in Lists.
• RandomFn.py | Understanding the random function. • SeedFn.py | Using and understanding the seed function. • Range.py | Using randint and randrange. • Lists.py | Picking an element from a list in random.
Using the SMTP Module to send E-mails.
• SendingEmails.py | Sending a plain text message through Gmail. • HTML_Emails.py | Sending HTML based messages via Gmail. • Attachements.py | Attaching .txt files to Email.
Learning about various Python Errors and different ways to handle them.
• Try and Except.py | Understanding the Try and Except Blocks. • Else Block.py | Using the Else block for Error Handling. • Own Exceptions.py | Creating our very own Error Exceptions. • Finally Clause.py | Implementing and Understanding the Finally Clause.
Reading and Writing Files in Python.
• Reading.py | Reading from a file. • Renaming.py | Renaming a file using the OS module. • Creating.py | Creating a new file and understanding modes in open fn. • Writing Dictionary.py | Writing a Dictionary into a JSON or Pickle File. • Append.py | Using Append mode to write into files. • Copying.py | Copying data from one file to another. • With Statement.py | Understanding and using the with statement • Writing.py | Understanding the Write only mode.
Understanding Single and Doubly Linked List in Python.
• Creation.py | Creating and Traversing a Single Linked List. • Insertion.py | Inserting at beginning,ending and between nodes. • Deletion.py | Deleting a node from Single Linked List. • DoublyLinkedList.py | Complete Implementation of a Single Linked List.
• Creation.py | Creating and Traversing a Doubly Linked List. • Insertion.py | Inserting at beginning, ending and between nodes. • Deletion.py | Deleting a Node in Doubly Linked List. • DoublyLinkedList.py | Complete Implementation of Doubly Linked List.
Understanding Thread Programming in Python.
• Main Thread.py | Understanding and renaming the main thread. • Thread using Function.py | Threading a function. • Multi-Function Threading.py | Threading multiple functions. • Extending Thread Class.py | Threading a class and a function within the class. • Without Extending Thread.py | Threading without extending thread class. • Multi-Threading.py | Threading the same function multiple times. • Sleep.py | Understanding the sleep function . • Flight Reservation.py | A sample program to understand need for threading. • Synchronization With Locks.py | Synchronising thread programs.
A Simple GUI based Chat Room Application.
• Server.py | Building a server using sockets in python. • Client.py | Creating a client side to access the server. • Sending Files.py | Sending files through sockets. • Receiving Files.py | Requesting and receiving files from server. • Chat Room Application : • Server Side.py | A server side to recieve and send messages. • Client Side.py | A GUI based client side.
Overlaoding various types of operators using Dunder or Magic Methods
• Intro.py | Understanding uses of magic methods. • Binary Operators.py | Binary Operator overloading using magic methods. • Comparison Operators.py | Comparison operators overloading. • Extended Assignment.py | Overloading extended assignmenet operators. • Unary Operators.py | Overloading Unary Operators. • Example.py | Concatenating dictionary objects. • repr method.py | Created a Length Convertor using magic methods.
Understanding, Creating and Using Coroutines in Python.
• Creating.py | Creating and understanding coroutines. • Pipelining.py | Pipelining in couroutines. • Closing.py | Creating and closing a coroutine.
Understanding various functions and operations of the re module in python.
• Regular Functions.py | Understanding and using all the different functions in the re module. • Match Function.py | Using the match function and all its special characters. • Matching Vs Searching.py | Finding the difference between matching and searching. • Greedy Vs Non-Greedy.py | Understanding the difference between greedy and non greedy functions. • Modifiers.py | Learning the uses of different flags\modifiers. • Password Validator.py | A simple example program to validate passwords using regex.
Understanding the various functions and operations of the NumPy Library in Python.
• Array Operations.py | NumPy Operations for Array manipulations. • Numerical Computations.py | Mathematical and Numerical Computations. • Numpy.ipynb | Basic functions and operations using Numpy
• Sin.py | Sin Graph. • Cos.py | Cos Graph. • Tan.py | Tan Graph. • Comparing Sin and Cos.py | Comparing the Sin and Cos Graphs. • Square Root.py | Square Root Graph. • Exponent.py | Exponent Graph.
• Bitcoin.ipynb | Bitcoin gross product analysis. • Winequality.ipynb | Wine quality frequency graph.
• PyTorch.ipynb | Brief introduction to PyTorch.
Understanding the different uses of list and dictionary comprehensions.
• List.py | List Comprehensions. • Dictionary.py | Dictionary Comprehensions.
Understanding the functions and uses of Python Generators.
• Yield Statement.py | Understanding the uses of Yield Statements. • Generators.py | Exploring generators and their functions. • Generator Expressions.py | Using Generator expressions.
Using Python's SQLite3 module to create, insert and manipulate data in a database.
• Creating a Database.py | Creating a Database using SQLite3. • Creating Attributes.py | Creating columns for the table. • Extracting Data.py | Extracting data from a table. • Inserting Records.py | Entering data into a table. • Order By Clause.py | Sorting data in a table. • Where Clause.py | Extracting relevant data using where clause. • IN and NOT IN Clause.py | Understanding the In and Not In clause. • Distinct Data.py | Obtaining distinct values from the table. • Like Clause.py | Extracting relevant data using like clause. • Limit Clause.py | Understanding the limit and ofset clauses . • Delete Clause.py | Deleting records or columns from a table. • Updating Data.py | Updating records in the table. • GLOB Operator.py | Understanding and implementing the glob operator. • Aggregate Functions.py | Finding average, sum, maximum and other values. • Alter Table.py | Altering contents of a table.
Using the Matplotlib Library in Python to draw different types of graphs.
• Line Graph.py | Drawing a Line graph. • Multiple Line Graphs.py | Drawing multi lined graph for comparison. • Bar Chart.py | Creating a bar graph. • Histogram Graph.py | Drawing a Histogram Graph. • Pie Chart.py | Building a pie chart.
Using python's descriptors to create managed attributes.
• Get, Set and Del.py | Understanding the get,set and del descriptors. • Calling a descriptors.py | Different methods of a calling a descriptor.
Understanding and utilising function decorators
• Fn Inside a Fn.py | Creating a nested function. • Passing Fn as Arg.py | Passing a function as an argument to another function. • Fn returning Fn.py | Returning a function in a function. • Encapsulating nested fn.py | Function to call a nested function to provide data. • Adding new attributes.py | Adding new attributes using decorators to an existing function.
Using Class decorators
• Class Decorators.py | Understanding class decorators in Python.
Creating and understanding metaclasses in OOPS
• Meta Classes.py | Understanding and using meta classes.
A random collection of program with various functionalities.
• List appender.py | A simple program to help you append data to a list. • Batch file rename.py | Renaming multiple files at once. • XOR calculator.py | Calculate maximal XOR value between two numbers. • Hashtags.py | Adds a hashtag to each word. • Case Swapper.py | Creates a sequence of altering upper and lower cased string. • ReadMe List.py | A README list creator. • Happy Numbers.py | Check for happy numbers. • Check_even_odd.py | Check for even or odd numbers. • Prime_Checker.py | Check for prime numbers. • keypad_combinations.py | Displays different possible keypad combinations. • print_min_of_array.py | Displays the minimum value of array. • Hangman.py | Hangman word guessing game! • Image_Compressor.py | Image Compression using Machine Learning.
To contribute to the programs, fork the repository, create a new branch and send us a pull request. Make sure you read CONTRIBUTING.md before sending us Pull requests.
Also, thanks for contributing to Open-source!
This repository is under The MIT License. Read the LICENSE file for more information.