Python条件文を書く7つの方法、あなたはいくつ知っていますか?

Pythonは始めるのは簡単な言語ですが、習得するのは難しい言語だと言う人もいます。私はこれに非常に同意します。

Python言語には多くの(そしてますます多くの)高度な機能があり、Python愛好家は非常に気に入っています。これらの人々の目には、通常の開発者が理解できない高度な機能を書くことができるのは、マスターと神です。

しかし、チームワークでは、スキルを披露することはタブーであることを知っておく必要があります。

なんでそんなこと言うの?私の意見について話させてください:

コードが単純でロジックが明確であるほど、間違いを犯しにくくなります。
チームワークでは、コードは自分だけで維持されるだけでなく、他の人がコードロジックを読んだり理解したりするコストを削減することは、道徳的な性格の良い
シンプルなコードです。最も基本的な構文シュガー、複雑な高度な機能を使用し、より多くの依存関係(言語バージョンなど)があります

このシリーズでは、私が見たまばゆいばかりのスキルを要約してリストします。今日はウォームアップして、人々が通りを叱りたくなるような非常に簡単な条件付き判断ステートメントを書きましょう。ここに、Python愛好家であれば、いくつかのクールなコード作成スキルを学ぶことができますが、学習は学習です。さまざまなシナリオで使用してください。

元のコード

これは、年齢に基づいて人が大人であるかどうかを判断する非常に単純なコードです。コードの行数が多いため、Pythonの長年のスキルを反映していないため、この方法で書くことを躊躇する人もいます。

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

以下に、このコードの6つのバリエーションを示します。1つは6つ以上です。別々に出すと理解しやすくなります。エンジニアリングコードに入れると、これらの方法を使用したことがない人は間違いなく混乱しているように見えます。理解した後、私はうっかり叫んだ:くそー、あなたはこのように書くことができますか?、そして私は通りを叱るところです:これは人々が見るためのコードですか?(最初のタイプを除く)

最初

文法:

<on_true> if <condition> else <on_false> 

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

二番目

文法

<condition> and <on_true> or <on_false>

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

第3

文法

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

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

第4

文法

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

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

五番目

文法:

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

例:

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

6番目

文法

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

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

上記のコードは比較的単純で、注意深く見ると理解できます。説明はしません。

これを見て、姿勢はありますか?Pythonを長い間学び、多くのショー操作を行った後、見るのは本当に長い時間です。6つの書き方の中で、私がよく使う最初の書き方をお勧めします。これは、数行のコードで、簡潔でわかりやすいものです。他の書き方も書けますが、使われません。これからずっと公の場で使う仲間に会いたくありません。

おすすめ

転載: blog.csdn.net/sinat_38682860/article/details/109312858