こわくないPython 補足資料

365 Views

November 02, 15

スライド概要

第8回 3DCG Meetup 補足資料

変数がタグ付けのイメージであるという説明をもう少し深く。

profile-image

Houdinist。プロフィールは下記サービスにまとめてます。 https://4me.bio/kickbase

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

こわくないPython 補足資料

2.

自己紹介 3DCG Meetup主催。 ! デザイン、スクリプト、3D、 映像等色々やってます。 ! ! 拙著:はじめてのZBrush ! Facebook:新井克哉 ! Twitter:@kickbase ! ! めんたいこと呼ばれています。

3.

なんで「タグ付け」なの? セッション内の説明で変数は「箱」と考えるより「タグ付け」と 考えたほうがいいよというお話をしたんですが、その補足資料です。

4.

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

5.

コンピューターはものすごく計算が速いですが、 実はものすごく忘れっぽくつくられています。 「コンピューターが忘れっぽいって?」と お思いになるかと思いますが、その仕組みを説明しましょう。

6.

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

7.

でも、計算が終わったら計算結果も含めて消してしまうのです! それは計算する領域を確保しておくためです。

8.

でも、計算結果まで含めて消されてはたまりません。 なんのために計算したのかわからなくなっちゃいますね。

9.

そこで変数の登場です。

10.

保存場所(消さないでおく場所)に変数を用意し、 計算場所にあるデータにひも付けます。

11.

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

12.

プログラムの言葉を使えば、 変数とデータ(値)を紐付けることを「参照する」。 コンピュータが自動的にデータを消すことを ガベージコレクションと呼びます。 ! どの変数からも参照されていないデータ(ゴミ)は、 ガベージコレクション(ゴミ収集)されるというわけです。

13.

参照のイメージは「箱に入れる」よりも「タグ付け」に 近いと思いませんか? ! そのため「タグ付け」という説明をしたのです。

14.

続けて実際のPythonコードを見ながら 参照についてもう少し学びましょう。 ! きっとタグ付けの方がイメージしやすいと思います。

15.

出力結果は [1,10,100] [1,10,100] True となります。isというのは「同じかどうか」を調べるものです ※上記isの説明は少し嘘があるので、あとで訂正します

16.

納得の出力結果ですね。

17.

出力結果は [1,10,100] [1,10,100] False となりました。

18.

Why????? Pythonこわい

19.

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

20.

aはデータ[1,10,100]を参照し、 bはaを参照しています。

21.

aはデータ[1,10,100]を参照し、 bは別のデータである[1,10,100]を参照しているのです。 別のデータを参照していたので、a is bはFalseだったんですね。

22.

つまりis演算子は、 「同じものを参照しているかどうか」 を表す機能なのです。 ! この「同じ値でも参照元が別にある」という状況は、 変数を「箱」ととらえると説明しにくいのです。

23.

以上、タグ付けの補足でした。 By Katsuya Arai a.k.a めんたいこ