how to add circle to existing mesh by python script
Using bmesh

Suggest getting to know bmesh as soon as possible.   There are a number of create primitive operators in bmesh.ops including bmesh.ops.create_circle(..)

import bpy
import bmesh
context = bpy.context
scene = context.scene
me = bpy.data.meshes.new("Circles")
obj = bpy.data.objects.new("Circles", me)
bpy.context.scene.objects.link(obj)
#new bmesh
bm = bmesh.new()
# load in a mesh
bm.from_mesh(me)

for i in range(1, 10):
    # create circle
    geom = bmesh.ops.create_circle(bm, 
                segments=16, 
                diameter=1 / i)
    verts = geom["verts"]
    # translate verts
    for v in verts:
        v.co.z += i / 4

# write back to mesh
bm.to_mesh(me)
# make context
scene.objects.active = obj
obj.select = True
scene.update()


Note there is a more involved example on bmesh API re circles