Selma Hayek as the Mexican artist Frida Kahlo