23
こわくないPython 補足資料

こわくないPython 補足資料

Embed Size (px)

Citation preview

Page 1: こわくないPython 補足資料

こわくないPython補足資料

Page 2: こわくないPython 補足資料

自己紹介3DCG Meetup主催。

!デザイン、スクリプト、3D、 映像等色々やってます。

!!

拙著:はじめてのZBrush !

Facebook:新井克哉 !

Twitter:@kickbase !!

めんたいこと呼ばれています。

Page 3: こわくないPython 補足資料

セッション内の説明で変数は「箱」と考えるより「タグ付け」と

考えたほうがいいよというお話をしたんですが、その補足資料です。

なんで「タグ付け」なの?

Page 4: こわくないPython 補足資料

Pythonの仕組みを見てみよう-コンピューターは忘れっぽい?-

Page 5: こわくないPython 補足資料

コンピューターはものすごく計算が速いですが、

実はものすごく忘れっぽくつくられています。

「コンピューターが忘れっぽいって?」と

お思いになるかと思いますが、その仕組みを説明しましょう。

Page 6: こわくないPython 補足資料

コンピュータは計算場所でガンガン計算をします。

Page 7: こわくないPython 補足資料

でも、計算が終わったら計算結果も含めて消してしまうのです!

それは計算する領域を確保しておくためです。

Page 8: こわくないPython 補足資料

でも、計算結果まで含めて消されてはたまりません。

なんのために計算したのかわからなくなっちゃいますね。

Page 9: こわくないPython 補足資料

そこで変数の登場です。

Page 10: こわくないPython 補足資料

保存場所(消さないでおく場所)に変数を用意し、

計算場所にあるデータにひも付けます。

Page 11: こわくないPython 補足資料

なんと、変数とひも付いたデータは消されないのです!

Page 12: こわくないPython 補足資料

プログラムの言葉を使えば、

変数とデータ(値)を紐付けることを「参照する」。

コンピュータが自動的にデータを消すことを

ガベージコレクションと呼びます。

!

どの変数からも参照されていないデータ(ゴミ)は、

ガベージコレクション(ゴミ収集)されるというわけです。

Page 13: こわくないPython 補足資料

参照のイメージは「箱に入れる」よりも「タグ付け」に

近いと思いませんか?

!

そのため「タグ付け」という説明をしたのです。

Page 14: こわくないPython 補足資料

続けて実際のPythonコードを見ながら

参照についてもう少し学びましょう。

!

きっとタグ付けの方がイメージしやすいと思います。

Page 15: こわくないPython 補足資料

出力結果は

[1,10,100] [1,10,100]

True

となります。isというのは「同じかどうか」を調べるものです

※上記isの説明は少し嘘があるので、あとで訂正します

Page 16: こわくないPython 補足資料

納得の出力結果ですね。

Page 17: こわくないPython 補足資料

出力結果は

[1,10,100] [1,10,100]

False

となりました。

Page 18: こわくないPython 補足資料

Why????? Pythonこわい

Page 19: こわくないPython 補足資料

これもタグ付けで説明できます

Page 20: こわくないPython 補足資料

aはデータ[1,10,100]を参照し、

bはaを参照しています。

Page 21: こわくないPython 補足資料

aはデータ[1,10,100]を参照し、

bは別のデータである[1,10,100]を参照しているのです。

別のデータを参照していたので、a is bはFalseだったんですね。

Page 22: こわくないPython 補足資料

つまりis演算子は、

「同じものを参照しているかどうか」

を表す機能なのです。

!

この「同じ値でも参照元が別にある」という状況は、

変数を「箱」ととらえると説明しにくいのです。

Page 23: こわくないPython 補足資料

以上、タグ付けの補足でした。

By Katsuya Arai a.k.a めんたいこ