paizaラーニングの新・Python入門編に「新・Python入門編25: イミュータブルとミュータブルを学習しよう」が追加されました。
新・Python入門編では、プログラミング未経験者でもPythonとの特徴や強み、標準出力やデータ型、数値演算、変数や文字列、リストやタプルなどの使い方を動画レッスンと演習課題で学べます。
今回は、「新・Python入門編25: イミュータブルとミュータブルを学習しよう」の内容をご紹介します。
paizaラーニングについて詳しくはこちら
【目次】
イミュータブルとミュータブルとは
値を変えるとidも変わるオブジェクトが「イミュータブルなオブジェクト」です。
たとえば以下のコードを実行すると、再代入の前後で変数aが示すオブジェクトのidが変わります。
def show_id(name, value): print(f"{name}: {id(value)}") a = 1 show_id("更新前の a", a) a += 1 show_id("更新後の a", a)
オブジェクトはidによって識別されるため、この場合は再代入の前後で変数aの示すオブジェクトも変わります。
逆に、idを変えずに値を変えられるオブジェクトが「ミュータブルなオブジェクト」です。
たとえば以下のコードを実行すると、再代入をしても変数aが示すオブジェクトのidは変わりません。
def show_id(name, value): print(f"{name}: {id(value)}") a = [1, 2, 3] show_id("更新前の a", a) a += [4, 5, 6] show_id("更新後の a", a)
ミュータブルなオブジェクトは、以下のように同じ値を持つオブジェクト同士でもidが異なる場合があります。
def show_id(name, value): print(f"{name}: {id(value)}") b, c = [1, 2, 3], [1, 2, 3] show_id("リスト 1", b) show_id("リスト 2", c)
詳しい使い方は新・Python入門編25: イミュータブルとミュータブルを学習しようで解説しています。
新・Python入門編に追加されたレッスンの内容
新・Python入門編25: イミュータブルとミュータブルを学習しよう
01:オブジェクトとはなにか
まずはオブジェクトとはなにかについて学びます。
02:オブジェクトのid
次にオブジェクトのidを調べる方法を学びます。
03:イミュータブルなオブジェクトとはなにか
イミュータブルなオブジェクトについて学びます。
04:ミュータブルなオブジェクトとはなにか
ミュータブルなオブジェクトについて学びます。
05:idと変数と代入
idの観点から変数と代入について学びます。
06:イミュータブルなオブジェクトが代入された変数
イミュータブルなオブジェクトが代入された変数の注意点を学びます。
07:ミュータブルなオブジェクトが代入された変数
イミュータブルなオブジェクトが代入された変数の注意点を学びます。
08:関数の引数
引数が関数にどのやって渡されるのか学びます。
そのほか初心者でもPythonを学べるコンテンツ
paizaのスキルチェック問題
paizaでは、PythonはもちろんPHP・Ruby・Java・C・C++・C#・JavaScriptなど、さまざまなプログラミング言語に対応したスキルチェック問題を公開しています。
問題を解いた結果により、S・A・B・C・D・Eの6段階でスキルランクを獲得できます。
問題はレベルごとに複数あるため
- 自分のプログラミングスキルを客観的に知りたい
- プログラミング問題を解いてみたい
という方はぜひチャレンジしてみてください。
コードガールこれくしょんのPythonコース
『コードガールこれくしょん』(ガルこれ)は、プログラミング問題を解いて「コードガール」を集めながらストーリーを進めていくプログラミング学習コンテンツです。
Pythonのほかには、Java・PHP・Ruby・C・C++・C#・JavaScriptといったプログラミング言語に対応しています。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら