¿Por qué x=(y=1) es ilegal en Python?
x=(y=1) parece x= y=1 para el intérprete. El intérprete interpretará y=1 primero, pero y=1 es una declaración de asignación y no tendrá un valor de retorno. , entonces x es igual a un valor nulo.
Python fue diseñado por Guido van Rossum de la Asociación Holandesa de Matemáticas e Informática a principios de la década de 1990 como una alternativa a un lenguaje llamado ABC. Python proporciona estructuras de datos eficientes de alto nivel, así como una programación orientada a objetos simple y efectiva. La sintaxis y la escritura dinámica de Python, así como la naturaleza de un lenguaje interpretado, lo convierten en un lenguaje de programación para secuencias de comandos y desarrollo rápido de aplicaciones en la mayoría de las plataformas.
Información ampliada:
Los desarrolladores de Python intentan evitar optimizaciones prematuras o sin importancia. Los parches que aceleran partes sin importancia del sistema generalmente no se combinan con Python. Por eso mucha gente piensa que Python es lento. Sin embargo, según la regla 28/20, la mayoría de los programas no tienen requisitos de alta velocidad. En algunos casos donde la velocidad es importante, los diseñadores de Python tienden a utilizar técnicas JIT o reescribir partes del programa en C/C.
Python es un lenguaje completamente orientado a objetos. Las funciones, módulos, números y cadenas son todos objetos. Es totalmente compatible con herencia, sobrecarga, derivación y herencia múltiple, lo cual es muy útil para mejorar la reutilización del código fuente.
Python admite operadores sobrecargados y escritura dinámica. En comparación con el lenguaje de programación funcional tradicional Lisp, Python proporciona sólo un soporte limitado para el diseño funcional. Hay dos bibliotecas estándar (functools, itertools) que proporcionan herramientas de programación funcional probadas de Haskell y Standard ML.