見出し画像

オブジェクトのidについて【Python🐍】

こんにちは!
パソコンインストラクター歴12年目の
チサです。(*´∀`)

今日は
Python🐍
オブジェクトのidについて

書こうと思います。
φ(..)メモメモ

昨日、
こんなnoteを書いたのですが…👇

オブジェクトには
後から変更できる ミュータブル

後から変更できない イミュータブル
がある。

という話です。

でもね。。
そもそも…

オブジェクトって
一体なに??

って思いません??
(´・ω・`)?
(わたしは思う💦)

ワードとかパワポだったら
オブジェクトって
▲とか●とか
図形を表す言葉だけど。。

なんと⁉️
Python🐍では
ほとんどすべてのものがオブジェクト
Σ( °ω° )ビクッ

らしいのです。

namae = "チサ"
(変数namaeに
文字列のチサを入れるという意味)

だったら…
namae っていう変数も オブジェクト
”チサ” という文字列も オブジェクト

らしい…
(º ロ º๑)

オブジェクトですよ‼️
という証拠❓は

後に .(ドット)を付けたら
いろいろメソッドが出てくること
👇

(例)

文字列のチサのあとに
.(ドット)を入力したら
続く言葉(メソッド)一覧が出てきました!
( ´∀` )

でね…
すべてのオブジェクトは
・同一性(identity) 
・型
・値

この3つをもっている!
とのことり

同一性っていうのは
他の誰もおなじのをもってない
idと同じ認識でOK。

たとえば
"チサ"っていう文字列の場合
・id
・型
・値

がどんなかんじなのか?
調べてみますね!

こんな感じで書いてみました👇

結果はコチラ👇

idは数字の羅列ですね。
チサ っていう文字は
メモリの2686076375216 に入っていますよ!
いう意味らしいです。

これまで
型や値については知っていましたが…

オブジェクトにidが存在する
ってことを知らなかったので
驚きでした🫢

Pythonでいろいろ物を作るとき

idを知っておくと
何かいいことがあるのかな?
。。。o(゚^ ゚)ウーン

idの扱いは

・ミュータブル(変更可能)…
   リスト型 辞書型

・イミュータブル(変更不可)…
   文字列型 数値型 タプル型

この2パターンで
扱いが変わるとのこと。


イミュータブルな場合
同じ値のオブジェクトの場合
idも一緒👇

ためしに
同じ値を別の変数に入れてみると…

やっぱり同じ


『チサ』っていう文字は
文字列型だから…
変化できないイミュータブル‼️

だから
idも1個あれば十分!
みたいな感じなのかな?

(・・?

ではこんな場合は?
どうなる??

同じkazokuっていう文字列型の変数だけど
値が変わったら
idも変わるのかな??
結果はコチラ👇

似てるけど…(笑)
真ん中あたりの数字が
ちょっと違う!🤣


イミュータブル(変化できない)な場合
値が変わればidも変わる
‼️

୨୧・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・୨୧

でも!
ミュータブル(変化できる)の場合は
同じ値でも
その都度idが変わります
👇

別のidが振られている!
オォォ(,,º໐º,,*)*ᕷ˖°

oyatu もoyatu1 も
リスト型でミュータブル(変化できる)

だから
同じidだとまずい!!
ってかんじで
oyatu も oyatu1 も
別のidを持たせるのかな??
( ˙꒳​˙  )ホウ

じゃあ!
つぎの問題です!👇

チョコ🍫とアイス🍨とポテチ🍟
が入ったoyatuリストに

クッキー🍪を追加したら
idは変わるのでしょうか??
🤔

変わる??
変わらない??

どっち??
(*˙꒳ ˙* 三 *˙꒳ ˙*)

答えは!!!!!!

変わらない!!

中の値が
変わったから…
リストのidも変化するのかな?
(・・?

って思ったけど違った💦
同じidでした。

どうやら。
ミュータブルの値が変わった時
そのつど
値のidを見に行っているようで
ミュータブルのidは固定されてる模様。。

ミュータブルが親
イミュータブルが子👶🏻
みたいな感じになるのかな?

親はオロオロしないで
でーーんと構えてる。。
みたいな??
🤔

とにかく。。

ミュータブルなオブジェクトidは
その要素が変化しても
オブジェクトのidはおなじ。

୨୧・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・୨୧

じゃあじゃあ!
ダメ押し最後の1問!

oyatuリストの0番目の"チョコ"

oyatu1リストの0番目の"チョコ"

idは一緒?違う??
さて?どっち!!

答えは

同じ!

チョコは文字列型だから
イミュータブル(変化しない)
だからidも一緒!

いろいろ問題作って
idが変わるのか?わからないのか?
試してみるのもおもしろいですね♪
𐤔wʷ 🤣 𐤔w𐤔



ではでは
またあした!
(´꒳`)/



【Amazonで販売中のKindle📕】

➊パソコンに関する📕 2冊

https://amzn.to/3iGt2D8

➋Kindle出版に関する📕 2冊

➌節約に関する📕 1冊

➍読書に関する📕 1冊

➎海外の方向けの📕 3冊

気になる本があれば
試し読みだけでも♪
(´▽`)

この記事が気に入ったらサポートをしてみませんか?