*args **kwargs : *args and **kwargs are mostly used in function definitions. *args and **kwargs allow you to pass a variable number of arguments to a function. What does variable mean here is that you do not know before hand that how many arguments can be passed to your function by the user so in this case you use these two keywords. *args is used to send a non-keyworded variable length argument list to the function. **kwargs allows you to pass keyworded variable length of arguments to a function. You should use **kwargs if you want to handle named arguments in a function.
Tuple: A tuple is a sequence of immutable Python objects. Tuples are sequences, just like lists. The differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use parentheses, whereas lists use square brackets. Creating a tuple is as simple as putting different comma-separated values.

Object Oriented Programming (OOP) : Python is an “object-oriented programming language.” Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data, in the form of fields (often known as attributes), and code, in the form of procedures (often known as methods). A feature of objects is an object’s procedures that can access and often modify the data fields of the object with which they are associated (objects have a notion of “this” or “self”). In OOP, computer programs are designed by making them out of objects that interact with one another
More topics covered:
- *args are send with comma: i.e. foo (1,2,3,4)
- **kwargs are send by key-value: i.e. foo (coolKey = ‘cool value’)
- *args are turned into a tuple automatically
- **kwargs are turned into a dictionary automatically
- tuple have few methods: index, count, indexing (like list)
- list could be turned into a tuple, i.e. tuple( [1, 2] )
- class keyword
- __init__ method is automatically called when creating a class instance
- we can define function inside a class
- iphoneX = IPhone( ) creates an iphoneX object (instance) from class IPhone
- function defined inside a class are called via the instance
Links: