I am a complete newbie to python transiting from C++. 
While learning C++, I was explained that header files tells about the working of the function or define them to the compiler so that it understands what means what i.e., iostream contains the definition of cin (nd much more) so that the compiler knows that it is a keyword and understands its function.
However, python and java do not need header files.
 So basically how does the compiler understands the actual meaning/function of 'print' or 'input' in python?????
Java and Python have import which is similar to include.
Some inbuilt functions are built in and hence does not require any imports.
Why Python and java does not need any header file whereas C and C++ needs them