title: Should I use `app.exec()` or `app.exec_()` in my PyQt application?
body: <p>I use Python 3 and PyQt5. Here's my test PyQt5 program, focus on the last 2 lines:</p>
  
  <pre><code>from PyQt5.QtCore import *
  from PyQt5.QtWidgets import *
  import sys
  
  class window(QWidget):
  def __init__(self,parent=None):
      super().__init__(parent)
      self.setWindowTitle('test')
      self.resize(250,200)
  
  app=QApplication(sys.argv)
  w=window()
  w.show()
  sys.exit(app.exec())
  #sys.exit(app.exec_())
  </code></pre>
  
  <p>I know <code>exec</code> is a language keyword in Python. But code on <a href="http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html#object-destruction-on-exit" rel="noreferrer">Official PyQt5 Documentation</a> <em>(specifically the <strong>Object Destruction on Exit</strong> part)</em>. I see that example shows use of <code>app.exec()</code> which confuses me.</p>
  
  <p>When I tested it on my machine. I found there is no any visible difference from my end. Both with and without <code>_</code> produces the same output in no time difference.</p>
  
  <p>My question is:</p>
  
  <ul>
  <li>Is there anything wrong going when I use <code>app.exec()</code>? like clashing with Python's internal <code>exec</code>? I suspect because both <code>exec</code>'s are executing something.</li>
  <li>If not, can I use both interchangeably?</li>
  </ul>