/python-advanced-concepts

Proof of concept: Implementation of advanced python concepts

Primary LanguagePythonMIT LicenseMIT

Python — Advanced Concepts

This repository is a proof of concept that I know how to read/write code in Python. I will also use this repository to revise some of the harder concepts in Python (like Generators and Decorators). Feel free to contribute to the repository if you feel like there are some concepts that need to be added into the repository.

Table of Contents

  1. Miscellaneous Concepts:

    1. *args & **kwargs: args_kwargs.py
    2. Closures in Python using nonlocal keyword: closure_nonlocal.py
  2. Object Oriented Programming:

    1. Defining classes: class.py
    2. Defining class, __init__ & objects: objects.py
    3. Difference between Class Object Attributes & Instance Attributes: attr_method.py
    4. @classmethod and @staticmethod in a class: decorator_class.py
    5. Inheritance of classes: inheritance.py
    6. Polymorphism: polymorphism.py
    7. Calling super class' constructor using super() and Object Introspection using dir(): super.py
    8. Operator Overloading & Function Overriding using Dunder/Magic Methods: dunder.py
    9. Making your own list objects using inheritance: super_list.py
  3. Functional Programming:

    1. Pure functions and map() function: map.py
    2. The filter() function: filter.py
    3. The zip() function: zip.py
    4. Using the reduce() function from functools: reduce.py
    5. Exercise on map(), filter() & reduce(): exercise_1.py
    6. Anonymous function definitions using lambda expressions: lambda.py
    7. Exercise on lambda expressions: exercise_2.py
    8. list comprehensions: list_comprehensions.py
    9. set and dict comprehensions: set_dict_comprehensions.py
    10. Exercise on comprehensions: exercise_3.py