Python: Selecting object by name in 2.8
According to the API changes:


  In 2.7x, you could directly (de)select an Object from its select property. This has been removed in 2.8x, in favor of some get/set functions. 


bpy.data.objects['Cube'].select = True    # 2.7x
bpy.data.objects['Cube'].select_set(True) # 2.8+


Proof using the Console:

&gt;&gt;&gt; bpy.context.scene.objects["Cube"].select_set(True)
&gt;&gt;&gt; bpy.context.scene.objects["Cube"].select_get()
True


API Link: docs.blender.org/api/current/bpy.types.Object.html#bpy.types.Object.select_set



Example on how to select a certain object in the scene and make it the active object:

ob = bpy.context.scene.objects["Cube"]       # Get the object
bpy.ops.object.select_all(action='DESELECT') # Deselect all objects
bpy.context.view_layer.objects.active = ob   # Make the cube the active object 
ob.select_set(True)                          # Select the cube


Example on how to select multiple objects by name:

for o in ("Cube", "Camera", "Light"):
   obj = bpy.context.scene.objects.get(o)
   if obj: obj.select_set(True)


Example on how to select all objects of a certain collection:

col = bpy.data.collections.get("Collection")
if col:
   for obj in col.objects:
       obj.select_set(True)