I've said this before, but the racism is in 300 is intentional and important to the plot. This is a framing device, being told by a surviving Spartan as means to rouse up patriotic support for war. He isn't going to portray the Persians in a fair, accurate way. He needs to demonize them.