Ditto is a pokemon every trainer will need to encounter as part of in game research. It’s a unique pokemon in as much as it morphs itself into whatever pokemon it comes into contact with
In order to catch a Ditto in pokemon Go you have to encounter one that Ditto disguises itself as another pokemon. Only after you have caught its disguise will it reveal itself in a separate animation screen.
Currently there is 8 pokemon ditto can disguise itself as. These are:
A Ditto that disguises itself as one of the eight listed pokemon appears for all trainers not just one, so letting your friends know when you find one can be the fastest way of everyone encountering it
A Ditto typically has a lower catch rate than the pokemon listed above.
Unfortunately, Ditto doesn’t make a very strong battler for PvP because when it morphs into another pokemon it keeps its own HP stat therefore making it very fragile and unviable as a choice.