Empty parentheses mean that the function you are calling takes no arguments or it has default arguments pre-defined.
When a function is part of a class, we call it "method".
Example:
Python has a built-in class called str (string), to represent a sequence of characters. It has several methods (functions inside that class), one of which is isupper(). This method takes no arguments and will return True if the string is uppercase and False otherwise. Example:
"hello".isupper()  # this returns false.
What you are calling at the end of your code, plt.show() is a method (again, a function inside a class that takes no arguments, or has pre-defined defaults) of matplotlib.pyplot.
You can check the documentation to see all the available functions for pyplot https://matplotlib.org/3.1.1/api/pyplot_summary.html if you go there, click on any function, then click the [source] link, and you will see how the function is built.