I'm using Python with cx_Oracle, and I'm trying to do an INSERT....SELECT.   Some of the items in the SELECT portion are variable values.   I'm not quite sure how to accomplish this.   Do I bind those variables in the SELECT part, or just concatenate a string?

  v_insert = ("""\
    INSERT INTO editor_trades
      SELECT " + v_sequence + ", " + issuer_id, UPPER(" + p_name + "), " + p_quarter + ", " + p_year +
            ", date_traded, action, action_xref, SYSDATE
      FROM " + p_broker.lower() + "_tmp") """)

Many thanks!
With Oracle DB, binding only works for data, not for SQL statement text (like column names) so you have to do concatenation. Make sure to allow-list or filter the variables (v_sequence etc) so there is no possibility of SQL injection security attacks.  You probably don't need to use lower() on the table name, but that's not 100% clear to me since your quoting currently isn't valid.
Dynamic Select Statement In Python