Top-Down 2D rotation issue. [SOLVED]

I have a code which rotates the object to look at the player:

Quaternion look = Quaternion.LookRotation(this.transform.position - player.transform.position, Vector3.right);

look.x=0.0f;

look.y=0.0f;

transform.rotation = Quaternion.Lerp(transform.rotation,look,Time.deltaTime*2);

it does rotate slowly its right side towards the player, but if the player x-position is lower than the objects x-position it turns its left side towards the player.

the point is that the object will move in one direction (to its right) and slowly rotate towards the target. so it will have an ark movement.

here is an example, the dark-red line is the look direction:

but if the target is on the other side this happens:

What I need is that it points its right side to the the target.

I thank you in advance!

Here is your code solution:

private void Udate()
{
     Vector2 Dir = Player.transform.position - transform.position;
     this.transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 0, Mathf.Atan2(Dir.y, Dir.x) * Mathf.Rad2Deg), Time.deltaTime * 2);
}