Python virtuoso de la operación: siete tipos de condiciones declaración escrita

Sin comenzando en público: "El tiempo de programación Python"
un enfoque en el desarrollo de la alta calidad del conocimiento columna de salida de Python

Algunas personas dicen que Python es una entrada fácil, pero para dominar el lenguaje difícil, que estoy muy de acuerdo.

Hay muchos lenguaje Python (y cada vez más) de características avanzadas, es muy parecido a los entusiastas de Python. A los ojos de estas personas, que por lo general son capaces de escribir funciones avanzadas desarrolladores no entienden, es el maestro, es el gran Dios.

Pero usted sabe, el trabajo en equipo, el virtuoso es tabú.

¿Por qué dice? Dije que bajo sus propios puntos de vista:

  1. El más código concisa, la lógica clara, menos propenso a error;
  2. En un equipo, no sólo el mantenimiento del código y reducir otros para leer / entender el costo de la lógica de código es un buen carácter
  3. código simple, sólo utilice el azúcar sintáctica más básico, características avanzadas complejas, habrá más dependiente (tales como versiones de idioma)

En esta serie, voy a enumerar lo que aquellos operación virtuoso que he visto, un resumen de hoy, primero en un calentamiento, para escribir sobre un muy simple declaración condicional en la que la gente quiere tener un funcionamiento virtuoso squalling aquí Si usted es un amantes de Python, puede aprender algo de fresco escribir el código de habilidades de escritura, pero el aprendizaje de ir a aprender, espero que utiliza la distinción entre las escenas.

código original

Este es un código muy simple que el juicio por la edad de una persona es un adulto, debido al excesivo número de líneas de código, algunas personas están menos dispuestos a escribir, porque no puede reflejar la habilidad de sus muchos años de Python.

if age > 18:
    return "已成年"
else:
    return "未成年"

A continuación he enumerado seis tipos de variación en la redacción de este código, de un 6 separar mejor entendida, en el código del proyecto, estas personas nunca utilizaron el estudio de la ley, debe ser obligado a ver una mirada de ignorantes, Una vez que entienda, sino también inadvertidamente gritó: ranura horizontal, también se puede escribir esto? Y luego comenzar chillando: Se trata de los carteles del código? (Aparte de la primera)

el primer

sintaxis:

<on_true> if <condition> else <on_false> 

ejemplo

>>> age1 = 20
>>> age2 = 17
>>> 
>>> 
>>> msg1 = "已成年" if age1 > 18 else "未成年"
>>> print msg1
已成年
>>> 
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> print msg2
未成年
>>> 

la segunda

gramática

<condition> and <on_true> or <on_false>

ejemplo

>>> msg1 = age1 > 18 and "已成年" or "未成年"
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> 
>>> print(msg1)
已成年
>>> 
>>> print(msg2)
未成年

la tercera

gramática

(<on_true>, <on_false>)[condition]

ejemplo

>>> msg1 = ("未成年", "已成年")[age1 > 18]
>>> print(msg1)
已成年
>>> 
>>> 
>>> msg2 = ("未成年", "已成年")[age2 > 18]
>>> print(msg2)
未成年

cuarto

gramática

(lambda: <on_false>, lambda:<on_true>)[<condition>]()

ejemplo

>>> msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
>>> print(msg1)
已成年
>>> 
>>> msg2 = (lambda:"未成年", lambda:"已成年")[age2 > 18]()
>>> print(msg2)
未成年

quinto

sintaxis:

{True: <on_true>, False: <on_false>}[<condition>]

Ejemplos:

>>> msg1 = {True: "已成年", False: "未成年"}[age1 > 18]
>>> print(msg1)
已成年
>>> 
>>> msg2 = {True: "已成年", False: "未成年"}[age2 > 18]
>>> print(msg2)
未成年

sexto

gramática

((<condition>) and (<on_true>,) or (<on_false>,))[0]

ejemplo

>>> msg1 = ((age1 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg1)
已成年
>>> 
>>> msg2 = ((age2 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg2)
未成年

El código anterior, son relativamente simples, un vistazo de cerca puede entender, no explico.

Ver aquí, no hay ninguna postura, y aprendió tanto tiempo Python, tantos operación Sao, lo que realmente está viviendo más ver. . La redacción de seis, que más recomienda el uso de la primera, y él está constantemente en uso, simple y directo, sin embargo, pocas líneas de código. Y aunque otra redacción podría escribir, pero no va a usar, no quieren encontrarse con colegas utilizará estos escritos en el código común en el resto de mi vida allí.

Sin la atención del público de los últimos productos secos!

Supongo que te gusta

Origin www.cnblogs.com/wongbingming/p/12604421.html
Recomendado
Clasificación