A dictionary would be the best way to go here. Perhaps something like:
table_dict = {}
for i in range(4): # Create
table_name = "mytable" + str(i)
table_dict[table_name] = MyTable(table_name)
for i in range(4): # Query
session.query(table_dict["mytable" + str(i)])
Something like that is probably what you're looking for. This would also let you create the dictionary keys automatically, like in a for loop.
EDIT: I assumed you were making instances of the MyTable class, but looking again that does not appear to be the case. I don't know the specifics of SQLAlchemy but my guess is you'll want to create MyTable instances using the __init__ function.
EDIT EDIT: if you want to create multiple table objects, you could create a function to generate and return a new class. Maybe something like this:
Base = declarative_base()
def TableCreator(tablename):
class MyTable(Base):
__tablename__ = tablename
row_id = Column(INT, primary_key=True)
another_column = Column(CHAR(10))
return MyTable
Then you could call it with mytable1 = TableCreator("mytable1").