Python

Python

【Python】ラムダ式とmap・filter・reduceの使い方

こんにちは、かつコーチです。他人が書いたPythonのコードを読んでいて、lambda x: x * 2のような記述に出くわし、手が止まった経験はないでしょうか。「lambdaって何」「mapやfilterは内包表記と何が違うの」そう感じて...
Python

【Python】プロパティ(@property)でgetter/setterを実装する方法

こんにちは、かつコーチです。他の言語からPythonに来た方が戸惑いやすいのが、getter/setterの書き方の違いです。「JavaみたいにgetName()、setName()って書かなくていいの?」「@propertyってdecor...
Python

【Python】デコレータの基本:関数を拡張する仕組みを解説

こんにちは、かつコーチです。Pythonのコードを読んでいると、関数の上に@から始まる記述がついているのを見かけることがあります。「この@login_requiredみたいなのは何?」「デコレータって難しそうで避けてきた」そう感じている方も...
Python

【Python】継承とオーバーライドの書き方をわかりやすく解説

こんにちは、かつコーチです。クラスの基本を覚えると、次に気になってくるのが継承です。「似たクラスを何個も作るのが面倒」「共通の処理はまとめたいけど、一部だけ変えたい」そんな悩みを解決してくれるのが、継承とオーバーライドという仕組みです。この...
Python

【Python】クラスとオブジェクト指向の基本をわかりやすく解説

こんにちは、かつコーチです。Pythonの学習を進めていくと、必ず出てくるのがクラスという概念です。「classって何のために使うの?」「selfって何を指しているの?」このあたりで挫折しかけた経験がある方も、少なくないのではないでしょうか...
Python

【Python】スライスの応用テクニック(逆順・間引き等)を解説

こんにちは、かつコーチです。Pythonのスライスは、リストの基本操作としてlistのような書き方をすでに使っている方も多いと思います。ただ、スライスにはという第3の要素があることをご存じでしょうか。「リストを逆順にしたい」「1つおきに要素...
Python

【Python】collections.defaultdictで初期値付き辞書を扱う

こんにちは、かつコーチです。Pythonで辞書にデータを追加していく処理を書いていると、KeyErrorに何度も遭遇した経験はありませんか。「キーが存在するかどうかを毎回チェックするのが面倒」そんな悩みを解決してくれるのがcollectio...
Python

【Python】collections.Counterで要素の出現回数を数える

こんにちは、かつコーチです。「リストの中で、どの要素が何回出てきたか数えたい」そんなとき、通常の辞書を使って自力でカウント処理を書いた経験はありませんか。実はcollections.Counterを使えば、その処理をたった1行で済ませられま...
Python

【Python】enumerate()でインデックス付きループを書く

こんにちは、かつコーチです。リストをループしながら「今何番目の要素か」を知りたい場面はよくあります。range(len(リスト))を使って何とか書いている方もいるのではないでしょうか。この記事では、range(len())との比較を交えなが...
Python

【Python】zip()で複数のリストをまとめて処理する

こんにちは、かつコーチです。「名前のリストと年齢のリストがあるけど、これを一緒にループしたい」そんな場面で役立つのがzip()です。インデックスを使って無理やり結合するコードを書いた経験がある方も多いのではないでしょうか。この記事では、zi...
Python

【Python】sorted()とsort()でリストを並び替える

こんにちは、かつコーチです。Pythonでリストを並び替えようとすると、必ず出てくるのがsorted()とsort()です。「名前が似ているけど、何が違うの?」「どっちを使えばいいのか毎回迷う」そんな悩みを持つ初心者の方は多いと思います。こ...
Python

【Python】Pythonの辞書内包表記・セット内包表記の書き方をリストとの違いから解説

こんにちは、かつコーチです。前回はリスト内包表記を解説しましたが、今回はその応用編として辞書内包表記とセット内包表記を取り上げます。Pythonでは、リストだけでなく辞書(dict)やセット(set)についても、内包表記を使って1行で作成で...
Python

【Python】Pythonのリスト内包表記の書き方と使いどころを徹底解説

こんにちは、かつコーチです。今回は、Pythonらしいコードを書くうえで欠かせないリスト内包表記を解説します。リスト内包表記とは、for文を使ったリストの生成処理を、1行で簡潔に書ける構文のことです。他の人が書いたPythonコードを読んで...
Python

【Python】Pythonの三項演算子とwalrus演算子(:=)の使い方をやさしく解説

こんにちは、かつコーチです。今回は、コードを短く読みやすくしてくれる2つの演算子、三項演算子とwalrus演算子(:=)を解説します。どちらも「知らなくても書けるが、知っていると一気にコードがスッキリする」タイプの構文です。私も最初にこの2...
Python

【Python】Pythonのモジュールとインポートの基本!import文と自作モジュールの作り方

こんにちは、かつコーチです。今回は、Pythonを学び始めると必ず出てくるimportについて、基本から丁寧に解説します。モジュールとは、変数や関数、クラスなどをまとめて保存したPythonのファイル1つのことです。Pythonでは、便利な...
Python

【Python】Pythonのスコープとは?グローバル変数・ローカル変数の違いとglobal文の使い方

こんにちは、かつコーチです。今回は、Pythonで関数を書き始めた人がほぼ全員一度はつまずく「スコープ」について解説します。スコープとは、変数が参照できる範囲のことです。「関数の中で定義した変数が、関数の外から見えない」「逆に、関数の外の変...
Python

【Python】関数の定義と引数(デフォルト引数・可変長引数)の使い方

こんにちは、かつコーチです。これまでリスト・タプル・辞書・セットとデータ構造を解説してきました。今回は、処理をひとまとまりにして再利用できる関数の定義方法を解説します。関数とは、特定の処理をまとめて名前を付け、何度でも呼び出せるようにしたも...
Python

【Python】セット(set)の基本と集合演算の使い方

こんにちは、かつコーチです。これまでリスト・タプル・辞書を解説してきましたが、今回はセット(set)を取り上げます。セットとは、重複した値を持たない、順序のないデータ構造のことです。「リストから重複を取り除きたいだけなのに、自分でループを書...
Python

【Python】辞書(dict)の基本:キーと値の扱い方

こんにちは、かつコーチです。これまでリストとタプルを解説してきましたが、今回は辞書(dict)を取り上げます。辞書とは、「キー」と「値」をペアにしてデータを管理できる構造のことです。リストがインデックス(番号)で要素を管理するのに対し、辞書...
Python

【Python】タプルの基本とリストとの違いを分かりやすく解説

こんにちは、かつコーチです。前回はリストの基本を解説しました。今回は、リストとよく似た見た目を持つタプルについて解説します。タプルとは、複数の値をまとめて格納できる、変更できないデータ構造のことです。「リストがあるのに、なぜタプルが必要なの...