what is implicit wait and explicit wait in selenium code example

Example 1: What happens if you mix implicit wait and explicit wait in a Selenium

Mixing both of them can cause unpredictable wait times.

Implicit wait is defined only once in the code.
It will remain same throughout the driver object instance.

Explicit wait is defined whenever it is necessary in the code. 
This wait will call at the time of execution. It is a conditional wait.

Explicit wait will override the implicit wait whereever
explicit wait is applied. So, Explicit Wait gets first preference
then Implicit Wait.

Example 2: explicit wait in selenium

2- Explicit Wait
explicit is waiting for
explicit condition to happen
Like:
-elementIsDisplayed
-titleIs()
-visibilityOf
-elementToBeClickable

We need to create object from 
webdriverwait class

Example 3: mixing implicit wait and explicit wait in selenium

As per the official Selenium documentation,
it is suggested not to mix both Implicit waits and Explicit Waits
. Mixing both of them can cause unpredictable wait times.

Implicit wait is defined only once in the code.
It will remain same throughout the driver object instance.

Explicit wait is defined whenever it is necessary in the code. 
This wait will call at the time of execution. It is a conditional wait.

Explicit wait will override the implicit wait whereever
explicit wait is applied. So, Explicit Wait gets first preference
then Implicit Wait.