Python 基礎 4 日目 構造の選択 - if 構造

インフラストラクチャなら

単一の if ステートメント

if 条件:
条件が true の場合にコードのブロックを実行します。

条件が true の場合、対応するコード ブロックが実行されます。

if-else ステートメント

if 条件:
# 条件が true の場合にコード ブロックを実行
else:
# 条件が false の場合にコード ブロックを実行

条件が true の場合、コードの最初のブロックが実行され、条件が false の場合、コードの 2 番目のブロックが実行されます。

if-elif-else ステートメント

if 条件 1:
# 条件 1 が true のときにコード ブロックを実行
elif 条件 2:
# 条件 2 が true のときにコード ブロックを実行
elif 条件 3:
# 条件 3 が true のときにコード ブロックを実行
...
else:
# すべてを実行上記の条件が満たされない場合のコードブロック

条件 1 が true の場合は、コードの最初のブロックが実行されます。それ以外の場合は、条件 2 のチェックを続けます。条件 2 が true の場合、2 番目のコード ブロックが実行され、以下同様に続きます。すべての条件が満たされない場合、else コード ブロックが実行されます。

ネストされた if ステートメント

if 条件1:
    # 执行条件1为真时的代码块
    if 条件2:
        # 执行条件1和条件2同时满足时的代码块
    else:
        # 执行条件1为真而条件2不满足时的代码块
else:
    # 执行条件1不满足时的代码块

if コード ブロック内に別の if ステートメントをネストして、より複雑な条件付きロジックを処理できます。

if の高度な使用法

比較演算子を使用する

if a == b:
# a が b に等しい場合に実行されるコードのブロック

if a != b:
# a が b と等しくない場合に実行されるコードのブロック

if a > b:
# a が b より大きい場合に実行されるコードのブロック

if a < b:
# a が b 未満の場合に実行されるコードのブロック

if a >= b:
# a が b 以上の場合に実行されるコード ブロック

if a <= b:
# a が b 以下の場合に実行されるコードのブロック

比較演算子は、2 つの値の大小関係を比較するために条件ステートメントで使用されます。

論理演算子を使用する

if 条件 1 と条件 2:
# 条件 1 と条件 2 が同時に満たされた場合にコード ブロックが実行される

if 条件 1 または 条件 2:
# 条件 1 または条件 2 のいずれかが満たされたときに実行されるコードのブロック

if not 条件:
# 条件が満たされない場合に実行するコードのブロック

論理演算子は、複数の条件を組み合わせて複合条件の判定を行うために使用します。

in キーワードを使用する

if element in iterable:
# 要素が iterable に存在する場合に実行されるコードのブロック

in キーワードは、反復可能なオブジェクトに要素が存在するかどうかを確認するために使用され、多くの場合 range と組み合わせて使用​​されます。

一般的な反復可能なオブジェクト: リスト (List)、タプル (Tuple)、範囲オブジェクトなど。

range() は、指定された範囲内の整数のシーケンスを生成する Python の組み込み関数です。これは、for ループなどのループ構造でよく使用され、指定された開始値、終了値、ステップ サイズに従って整数を繰り返し生成します。

range() 関数

範囲(スタート、ストップ、ステップ)

パラメータの説明:

start: オプション。シーケンスの開始値を示します。デフォルトは 0 です。
stop: 必須。シーケンスの停止値を示します (シーケンスには含まれません)。
step: ステップ サイズを示すオプション (デフォルトは 1)。ステップ サイズには、正の整数、負の整数、またはゼロを指定できます。

range() 関数は、整数のシーケンスを表す反復可能オブジェクトを返します。シーケンス内の各要素は、反復可能オブジェクトをトラバースすることで取得できます。

例:

 #  生成从 0 到 4 的整数序列
for num in range(5):
    print(num)  # 输出:0, 1, 2, 3, 4

#  生成从 2 到 9(不包含 9)的整数序列,步长为 3
for num in range(2, 9, 3):
    print(num)  # 输出:2, 5, 8

#  生成递减的整数序列,从 10 到 1(不包含 1)
for num in range(10, 1, -1):
    print(num)  # 输出:10, 9, 8, 7, 6, 5, 4, 3, 2

range() 関数によって生成されるシーケンスには終了値が含まれないことに注意してください。ストップ値を含める必要がある場合は、ループ内で stop + 1 を使用するか、リストなどの他のデータ構造に変換できます。

is キーワードを使用する

is キーワードは、2 つのオブジェクトが同じメモリ アドレスを参照しているかどうかを確認するために使用されます。

if 对象 is None:
    # 当对象为 None 时执行的代码块

pass ステートメントを使用する

if 条件:
    pass

pass ステートメントは何も行わず、後で追加する必要があるコードのプレースホルダーとしてよく使用されます。

三項演算子

Python の三目运算符簡潔なバージョン条件表达式。 とも呼ばれます条件运算符

文法

[条件が満たされた場合に返される値] if [条件] else [条件が満たされなかった場合に返される値]

ここで、[条件] はブール値として評価される式です。条件が true の場合は [条件が満たされた場合に返される値] を返し、それ以外の場合は [条件が満たされない場合に返される値] を返します。

x = 10
result = "正数" if x > 0 else "非正数"
print(result)  # 输出:正数

上記の例では、x が 0 より大きい場合は「正の数値」が結果に割り当てられ、それ以外の場合は「正でない数値」が結果に割り当てられます。

知らせ

三項演算子を使用すると、特に単純な条件判断シナリオのコードを簡素化できます。ただし、使いすぎるとコードが理解しにくくなる可能性があるので注意してください。

補充する

Python では正式にサポートされている 4 倍演算子はありません。三項演算子は唯一Pythonにあります条件表达式1 つの式の条件に基づいて異なる値を返すように選択できます。

クアッドプレットは Python の組み込み構文ではありませんが、他の方法を使用してその機能を実現できます。
一般的なアプローチは、次を使用して嵌套的三目运算符4 倍演算子をシミュレートすることです。

x = 10
result = "正数" if x > 0 else ("零" if x == 0 else "负数")
print(result)  # 输出:正数

上の例では、ネストされた 3 項演算子を使用して 4 項演算子の効果を実現しています。まず x > 0 を判定し、true の場合は「正の数」を返し、それ以外の場合は引き続き x ==
0 を判定し、true の場合は「ゼロ」を返し、そうでない場合は「負の数」を返します。

知らせ

この方法では 4 項演算子と同様の機能を実現できますが、ネストされた 3 項演算子によりコードの理解とデバッグが容易に困難になる可能性があります。
したがって、実際のプログラミングでは、 if...elif...else構造を使用するなど、より明確で分かりやすい条件判定ロジックの表現を推奨します。

おすすめ

転載: blog.csdn.net/m0_74921567/article/details/132470670
おすすめ