Siete formas de escribir declaraciones condicionales de Python, ¿cuántas conoces?

Algunas personas dicen que Python es un lenguaje fácil de comenzar, pero un lenguaje difícil de dominar. Estoy muy de acuerdo con esto.

Hay muchas (y cada vez más) funciones avanzadas en el lenguaje Python, que son muy populares entre los entusiastas de Python. A los ojos de estas personas, aquellos que pueden escribir funciones avanzadas que los desarrolladores normales no pueden entender son maestros y dioses.

Pero tienes que saber que en el trabajo en equipo, lucir habilidades es un tabú.

¿Por qué dices eso? Déjame hablar de mi opinión:

Cuanto más simple sea el código y más clara sea la lógica, es menos probable que cometa errores;
en el trabajo en equipo, su código no solo lo mantiene usted, y reducir el costo de lectura / comprensión de la lógica del código por parte de otros es un
código simple con buen carácter moral . Utilizará el azúcar sintáctico más básico, funciones avanzadas complejas y tendrá más dependencias (como versiones de idiomas)

En esta serie, resumiré y enumeraré las deslumbrantes habilidades que he visto. Entremos hoy y escribamos una declaración de juicio condicional muy simple que haga que la gente quiera regañar a las calles. Aquí Si eres un entusiasta de Python, puedes aprender algunas habilidades geniales de escritura de código, pero aprender es aprender, espero que lo uses en diferentes escenarios.

Código original

Este es un código muy simple que juzga si una persona es un adulto por edad. Debido a la cantidad de líneas de código, algunas personas son reacias a escribir de esta manera, porque no refleja sus años de habilidades en Python.

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

A continuación, he enumerado seis variantes de este código. Una es 6 más que una. Es más fácil de entender si lo publica por separado. Si lo coloca en el código de ingeniería, las personas que nunca han usado estos métodos definitivamente se verán confundidas. Después de entender, grité sin darme cuenta: Maldita sea, ¿puedes escribir así? Y luego voy a empezar a maldecir la calle: ¿Es este el código para que la gente vea? (Excepto el primer tipo)

El primero

gramática:

<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
未成年
>>> 

El segundo

gramática

<condition> and <on_true> or <on_false>

ejemplo

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> msg1 = age1 > 18 and "已成年" or "未成年"
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> 
>>> print(msg1)
已成年
>>> 
>>> print(msg2)
未成年

El tercero

gramática

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

ejemplo

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> msg1 = ("未成年", "已成年")[age1 > 18]
>>> print(msg1)
已成年
>>> 
>>> 
>>> msg2 = ("未成年", "已成年")[age2 > 18]
>>> print(msg2)
未成年

El cuarto

gramática

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

ejemplo

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
>>> print(msg1)
已成年
>>> 
>>> msg2 = (lambda:"未成年", lambda:"已成年")[age2 > 18]()
>>> print(msg2)
未成年

El quinto

gramática:

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

ejemplo:

>>> 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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> msg1 = ((age1 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg1)
已成年
>>> 
>>> msg2 = ((age2 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg2)
未成年

El código anterior es relativamente simple y se puede entender mirando con atención, no lo explicaré.

Al ver esto, ¿hay alguna postura? He aprendido Python durante mucho tiempo y hay tantas operaciones de demostración. Es realmente mucho tiempo para ver. . Entre las seis formas de escribir, recomiendo la primera, que suelo utilizar, concisa y sencilla, con pocas líneas de código. Aunque se pueden escribir otros métodos de escritura, no se utilizarán. No quiero encontrarme con colegas que utilizarán estos métodos de escritura en código público por el resto de mi vida.

Supongo que te gusta

Origin blog.csdn.net/sinat_38682860/article/details/109312858
Recomendado
Clasificación