タグ

2024年5月20日のブックマーク (3件)

  • パターンマッチング構文( match case )の使い方

    Python の構造的パターンマッチング 1 の使い方についてかんたんにまとめました。 構造的パターンマッチングは一見シンプルですがさまざまな使い方ができる非常に強力な機能です。 正しく理解してうまく活用できれば Pythonic なコードを書くのに役立つものと思います。 目次 構造的パターンマッチングとは 構造的パターンマッチングがサポートするパターン 構造的パターンマッチングとは 構造的パターンマッチング( Structual Pattern Matching )は、 Python 3.10 で新たに導入された(される)構文です。 2 つのキーワード match と case を使用します。 単純な値での分岐の他に、データ構造やアトリビュートのパターンでの分岐なども可能となっています。 見た目は他のオブジェクト指向型の言語によくある switch case に似た印象を与えますが、どち

    パターンマッチング構文( match case )の使い方
    teddy-g
    teddy-g 2024/05/20
    PythonのSwitch~CaseにあたるMach~Caseについて。備忘。
  • [Python入門]関数のローカル変数とスコープ

    名前解決 プログラム実行時に何かの名前(変数名や関数名など)を発見すると、Pythonはそれを解決するために、3つ(またはそれ以上)のスコープを「ローカルスコープ→グローバルスコープ→ビルトインスコープ」の順にたどっていく。つまり、関数の実行時に名前が見つかると、まずは関数のローカルスコープからその名前を検索する。ローカルスコープにその名前があれば、それ(ローカル変数やパラメーターなど)の値を利用する。見つからなければ、グローバルスコープ→ビルトインスコープという順番で、その名前を検索していき、見つかったところでその値を利用する。最終的に名前が見つからなければ、先ほどの画像にあった「NameError」を発生させる。 以下では、名前を解決する順序についてコード例と共に見ていこう。 ローカルスコープのみ ここでmyfunc関数についてもう一度見てみよう。 def myfunc(): a =

    [Python入門]関数のローカル変数とスコープ
    teddy-g
    teddy-g 2024/05/20
    Pythonの変数スコープについて。備忘。
  • 関数がネストされたPythonコードで関数の内側で変更した変数を関数の外側から参照する方法を調べてみた | DevelopersIO

    こんにちは、CX事業部の若槻です。 関数がネストされたPythonコードで、関数の内側で変更(定義)した変数の値を外側から参照したい場合があります。 例えば以下のコードでは、inner()の外側(outer()の内側)でvar = 'Initial Var'とし、inner()の内側でvar = 'New Var'としています。 def outer(): var = 'Initial Var' def inner(): var = 'New Var' return(var) print(inner()) print(var) この場合outer()を実行した際の出力は # 出力 >> python outer() New Var Initial Var となり、inner()の内側で行った変更が外側に反映されず、print(inner())とprint(var)の出力結果が異なる結果とな

    関数がネストされたPythonコードで関数の内側で変更した変数を関数の外側から参照する方法を調べてみた | DevelopersIO
    teddy-g
    teddy-g 2024/05/20
    Pythonの変数のスコープについて。備忘。