paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

Python入門編に新講座追加 | 初心者でもイミュータブルとミュータブルを理解できる

paizaラーニングの新・Python入門編に「新・Python入門編25: イミュータブルとミュータブルを学習しよう」が追加されました。

新・Python入門編では、プログラミング未経験者でもPythonとの特徴や強み、標準出力やデータ型、数値演算、変数や文字列、リストやタプルなどの使い方を動画レッスンと演習課題で学べます。

今回は、「新・Python入門編25: イミュータブルとミュータブルを学習しよう」の内容をご紹介します。

paizaラーニングについて詳しくはこちら
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段階でスキルランクを獲得できます

問題はレベルごとに複数あるため

  • 自分のプログラミングスキルを客観的に知りたい
  • プログラミング問題を解いてみたい

という方はぜひチャレンジしてみてください。

paizaのスキルチェック

Python入門編(全編無料)

Python入門編では、Pythonを使った基本的なコードの書き方が全編無料で学べます。

コードガールこれくしょんのPythonコース

コードガールこれくしょん』(ガルこれ)は、プログラミング問題を解いて「コードガール」を集めながらストーリーを進めていくプログラミング学習コンテンツです。

Pythonのほかには、Java・PHP・Ruby・C・C++・C#・JavaScriptといったプログラミング言語に対応しています。





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

paizaのおすすめコンテンツ

Webセキュリティ入門 ハッカー入門 Webセキュリティ講座がスタート!CVは内田真礼さん! Python✕AI 機械学習入門講座 CVに上坂すみれさんを起用!人気の機械学習講座を公開中!
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.