When making my tkinter app project, sometimes I need to quickly know the current values of the variables I made, for debugging purposes, so I make a line like this:

root.bind("< F1>", lambda e: print(f"var1: {var1} \n var2: {var2} \n [etc]"))

which basically prints out the values of the variables I specifically list in, when I press F1.
The problem with this is that manually typing each variable is a pain when you have a lot, so surely there is a smarter and automatic way of doing this. I'm guessing maybe there is a dictionary like "globals()" excluding the built-ins (meaning only the variables made by the user)? If there isn't such a thing, can someone give me an alternative?
Thanks
Ekrem's answer is good enough for most cases, but it will also conflict with any imported modules, etc. There is simply no way of knowing what is user-made and what is imported, but you can filter globals to remove functions, classes, modules, and other items that are clearly not user-defined variables. However, if you have any lines like from module import some_constant, then it's nearly impossible to clearly categorize it as user-defined without explicitly marking a variable as user-defined (by adding it to a list or dictionary).
Is there a built-in dictionary like globals() but only for user-made variables?