【 Effective Python, 2nd Edition 】引数として受け取った値を関数内で複数回「消費」する場合には要注意! イテレータ ( iterator ) とコンテナ ( container ) の違いをちゃんと認識しよう!
Published 2020/6/29 by mootaro23
関数が引数としてリストをとる場合、そのリストを関数内部で複数回参照することはよくあります。
例えば、台湾旅行に行った日本人が訪れた観光地ごとの訪問者数のリストがあるとします (千人/年)。
そして人気度をみるために、それぞれの観光地が占める割合を計算したいとしましょう。
そのためには、まず訪問者数の合計を求め、続けて、それぞれの観光地の訪問数をその合計で割ることになりますね。
def normalize(n…
【 Effective Python, 2nd Edition 】リストを返す関数を作るなら、ジェネレータを返しちゃダメか1回立ち止まって考えよう、の巻
Published 2020/6/27 by mootaro23
結果としてシーケンスを返す関数を作成する場合、最も一般的な選択肢は「リストを返す」ということでしょう。
次の例は、受け取った文字列について、文字列中の各単語の先頭インデックス番号と該当する…
【 Effective Python, 2nd Edition 】assignment expression (walrus operator, :=) を利用して内包表記におけるサブ書式の重複を回避しよう!
Published 2020/6/26 by mootaro23
内包表記内の複数の箇所で同じ計算結果を参照したい、ということはよくあることです。
例えば、文房具を扱う会社の受注プログラムを作成するとします。
注文がきた時点で、発送可能な出荷単位以上の…
【 Effective Python, 2nd Edition 】内包表記に含める for 文や if 文の数は2つ位までに抑えておかないと読解性が極端に悪くなりますよ、という話
Published 2020/6/25 by mootaro23
内包表記 (comprehension) には複数の for 文を含めることができます。
例えば、for ステートメントを2つ含んだリスト内包表記で matrix をフラットなリストに変換…
【 Effective Python, 2nd Edition 】再帰関数の実行順序をトレースするデコレータを実装しよう - デバック用途にも重宝します!
Published 2020/6/24 by mootaro23
今回もデコレータに関連する話題ですが、デコレータの詳細については 前回 取り上げましたので、
今回は復習も兼ねながらちょっと面白いプログラムをご紹介します。
このプログラムは、再帰関数 …
【Python 雑談・雑学】 デコレータ (decorators) を理解しよう - デコレータ、オリジナル関数からの引数の渡し方、受け取り方
Published 2020/6/23 by mootaro23
デコレーター (decorators) は関数を引数として受け取り、他の関数に置き換えた上で、最終的にオリジナルの関数を実行します。
他の関数に置き換えることで、オリジナルの関数の機能を補完、変更…
【 Effective Python, 2nd Edition 】keyword-only arguments (キーワード指定のみ引数) と positional-only arguments (位置指定のみ引数) を使いこなして、コードの読解性と将来的な拡張性を高めよう!
Published 2020/6/22 by mootaro23
Python では、関数を呼び出す際にキーワード引数 (keyword arguments) を利用することで、引数の役割が明確になりコードの読解性、メンテナンス性が高まったり、将来的に、関数側で新…
直近 48 時間のアクセスランキング (2024/12/05 11:45 現在)
準備中