In python3, when I run
>>> exec("","","")
TypeError: exec() arg 2 must be a dict, not str
>>> exec( "print('Hello')", print("World"), print("!") )
World
!
Hello
>>> type(print("World"))
World
<class 'NoneType'>
I mean in the Python3, the arg2 of exec() expects a dict, but we can still put a print() function which is not a dict. why?