Pythonのプロセス制御と例外

目次

ブール型

ブール型の使用

プロセス制御 

if ステートメント

while ループ

for ループ

while ループと for ループの違い

範囲ステートメント

range ステートメントと for ループ

変数スコープ

休憩と継続

異常な

序文

例外キャプチャ

異常な推移性

ブール型

ブール型:主に現実のロジックを表すために使用されます。

ブール型の使用

構文:変数名 = ブール型リテラル

知らせ:

  • bool型リテラルには2種類あります(True:True、False:False)
  • True は基本的に数値であり、1 として記録され、False は 0 として記録されます。
  • ブール型は定義によって取得できるだけでなく、比較演算子の内容を比較することによっても取得できます。
  • ブール型の True と False の最初の文字は大文字にする必要があります
#定义变量存储布尔类型的数据
flag=True
print(f"flag变量的内容是:{flag},类型是{type(flag)}")
#flag变量的内容是:True,类型是<class 'bool'>

プロセス制御 

まえがき:プロセス制御では、スペース (通常は 4 つのスペース) に従って、ステートメントがどのプロセスに属するかを決定します。

if ステートメント

#单分支
if 要判断的条件:
    条件成立时要做的事情

#双分支
if 条件:
    满足条件要执行的事情
else:
    不满足要执行的条件

#多分支
if 条件1:
    满足条件1要执行的语句
elif 条件2:
    满足条件2要执行的语句
else:
    条件都不满足要执行的事情

知らせ:

  • Elseは条件判定を行う必要はなく、if条件が満たされない場合に実行されます。 
  • スペースとインデントを忘れないでください
  • 多分岐における判定は相互に排他的かつ逐次的であり、順序は最初から最後までであり、前者が満たされる場合、後者は無視されます。
height=int(input("请输入您的身高(cm):"))
vip_level=int(input("请输入您的VIP等级(1-5):"))
if height<120:
    print("身高小于120cm,可以免费")
elif vip_level>3:
    print("VIP级别大于3,可以免费")
else:
    print("不好意思,掏钱吧你")

while ループ

while 条件:
    条件满足时需要做的事

知らせ:

  • 条件は bool 型である必要があります。続行する場合は True、終了する場合は False です。
  • スペースとインデントを忘れないでください
  • ループ終了条件を計画します。それ以外の場合は無限ループになります。 

例: i を 0 から 10 まで出力します 

i=0
while i<=10:
    print(f"i为{i}")
    i+=1

for ループ

while ループと for ループの違い

  • while ループのループ条件はカスタムです。ループ条件を自分で制御します
  • for ループは、コンテンツのバッチを 1 つずつ処理するポーリング メカニズムです。
for 临时变量 in 待处理数据集:
    循环满足时执行的语句

知らせ:

  • while ループとは異なり、for ループはループ条件を定義できず、処理されたデータセットから内容を取り出して処理することしかできません。 
  • for ループ内のステートメントもスペースでインデントされます。
name="hello world"
for x in name:
    print(x)

理解:名前の内容をスペースも含めて 1 つずつ取り出します

範囲ステートメント

はじめに: for ループ構文で処理するデータセットは厳密にはシーケンス型と呼ばれ、文字列、リスト、タプルなど、内容を 1 つずつ取り出せる型を指します。

構文 1: range(数値)

意味: 0 から始まり num で終わる一連の数値を取得します (num 自体を除く)。

構文 2: range(num1,num2)

意味: num1 から始まり num2 で終わる一連の数値を取得します (num2 自体を除く)。

構文 3: range(num1,num2,step)

意味: num1 から始まり num2 で終わる一連の数値を取得します (num2 自体を除く)。数値間のステップ サイズはステップに基づきます (ステップのデフォルトは 1 で、負の値にすることもできます)

range ステートメントと for ループ

#让for循环执行10次
for x in range(10):
    具体的语句

range文の役割: forループと連携してforループの実行回数を素早くロックする

変数スコープ

for i in range(10):
    print(f"for循环内部的i:{i}")
print(f"for循环外部的i:{i}")#可以访问到

知らせ:

  • 一時変数はプログラミング仕様上、for ループ内のみに限定されており、for ループ外で一時変数にアクセスした場合、実際にはアクセス可能ですが、プログラミング仕様上は禁止されています。
  • したがって、for ループの一時変数に外部からアクセスしたい場合は、コードに影響を与えず、プログラムがより仕様に沿ったものになるように、for の前に変数を定義するようにしてください。

休憩と継続

  • continue:このループを中断し、次のループに直接進みます。
  • Break:現在のループを直接終了します

注:ネストされたループでは、Continue と Break は、それが配置されているループ内でのみ機能し、上のループでは機能しません。

異常な

意味:エラーが検出されると、Python インタープリターは実行を続行できなくなりますが、代わりにいくつかのエラー プロンプトが表示されます。これはいわゆる例外であり、私たちがよくバグと呼ぶものです。

序文

  • 世の中には完璧なプログラムはありません。プログラムの実行中には、プログラムが完全に実行できない例外 (バグ) が発生する可能性があります。起こり得るバグを事前に準備して処理することを、この動作を例外キャプチャと呼びます。
  • 小さなバグが原因でプログラム全体がクラッシュすることは望ましくないので、例外キャプチャが必要です
  • 例外キャプチャの役割は、どこかで例外が発生することを想定して事前に準備し、例外が発生した場合にはそれを救済するためのフォローアップ手段を用意することです。

例外キャプチャ

文法:

try:
    可能出现异常的代码
except (异常类型1,异常类型2,异常类型3) as 异常别名:
    print("异常")
else:
    没有异常需要执行的代码
finally:
    无论如何都要执行的代码

知らせ:

  • try が例外をキャッチした場合、次のプログラムは実行を継続します。
  • Except はすべての例外の親クラスです。Except の後の型が例外の場合、以下のコマンドは省略できます
  • 例外の後にはタプルが続くか、例外タイプが 1 つだけ続きます (カンマや括弧を書く必要はありません)。
  • finally は、ファイルを閉じるなどの例外があるかどうかに関係なく、コードが実行されることを示します。
  • else とfinally はオプションです
try:
    f=open("D:/test/app.txt","r",encoding="UTF-8")
except:
    print("出现异常了,文件不存在")
print("后续的代码继续执行")

異常な推移性

まえがき:関数がネストされている場合、関数 1 で例外が発生し、その例外が処理されない場合、その例外は関数 2 に渡されます。関数 2 と関数 2 が例外をキャッチしない場合、メイン関数が例外をキャッチします。これは例外の推移性です

def func1():
    print("func1开始执行")
    num=1/0 #肯定有异常
    print("func1结束执行")
def func2():
    print("func2开始执行")
    func1()
    print("func2结束执行")
def main():
    func2()
main()

注:例外は渡すことができます。例外は一番下の関数からずっと上の関数に渡されます。

おすすめ

転載: blog.csdn.net/m0_60027772/article/details/132116389