Silva is in line to make his 400th appearance for City in their Premier League game at Bournemouth on Sunday.
It is the 33-year-old’s final season in England, having won four league titles, four League Cups and two FA Cups.
“Happily, I was wrong”, said Guardiola, who described Silva as “one of the most intelligent players I have ever seen”.
He added: “Moving in these small spaces, he’s really good, one of the best.
“But he’s tiny, a little player, not a box-to-box player and my image of England from the outside, I thought ‘maybe he’s going to suffer’.
“That was my first impression. You can play a good season but he’s done it for 10 seasons, it is almost incredible. He’s a huge competitor. How he reacts to the bad moments – his specific qualities help him survive in the Premier League. He should be so proud.”
Spaniard Silva was recently chosen by his team-mates to take over the armband following former captain Vincent Kompany’s departure.
“He has a lot of experience, knows exactly what the team needs, what he has to do,” said Guardiola. “Every captain is different, has a different personality. He has to do what he believes.”