Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

こわくないPython 補足資料

1,604 views

Published on

第8回 3DCG Meetup 補足資料

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

Published in: Education
  • Be the first to comment

こわくないPython 補足資料

  1. 1. こわくないPython 補足資料
  2. 2. 自己紹介 3DCG Meetup主催。 ! デザイン、スクリプト、3D、 映像等色々やってます。 ! ! 拙著:はじめてのZBrush ! Facebook:新井克哉 ! Twitter:@kickbase ! ! めんたいこと呼ばれています。
  3. 3. セッション内の説明で変数は「箱」と考えるより「タグ付け」と 考えたほうがいいよというお話をしたんですが、その補足資料です。 なんで「タグ付け」なの?
  4. 4. Pythonの仕組みを見てみよう -コンピューターは忘れっぽい?-
  5. 5. コンピューターはものすごく計算が速いですが、 実はものすごく忘れっぽくつくられています。 「コンピューターが忘れっぽいって?」と お思いになるかと思いますが、その仕組みを説明しましょう。
  6. 6. コンピュータは計算場所でガンガン計算をします。
  7. 7. でも、計算が終わったら計算結果も含めて消してしまうのです! それは計算する領域を確保しておくためです。
  8. 8. でも、計算結果まで含めて消されてはたまりません。 なんのために計算したのかわからなくなっちゃいますね。
  9. 9. そこで変数の登場です。
  10. 10. 保存場所(消さないでおく場所)に変数を用意し、 計算場所にあるデータにひも付けます。
  11. 11. なんと、変数とひも付いたデータは消されないのです!
  12. 12. プログラムの言葉を使えば、 変数とデータ(値)を紐付けることを「参照する」。 コンピュータが自動的にデータを消すことを ガベージコレクションと呼びます。 ! どの変数からも参照されていないデータ(ゴミ)は、 ガベージコレクション(ゴミ収集)されるというわけです。
  13. 13. 参照のイメージは「箱に入れる」よりも「タグ付け」に 近いと思いませんか? ! そのため「タグ付け」という説明をしたのです。
  14. 14. 続けて実際のPythonコードを見ながら 参照についてもう少し学びましょう。 ! きっとタグ付けの方がイメージしやすいと思います。
  15. 15. 出力結果は [1,10,100] [1,10,100] True となります。isというのは「同じかどうか」を調べるものです ※上記isの説明は少し嘘があるので、あとで訂正します
  16. 16. 納得の出力結果ですね。
  17. 17. 出力結果は [1,10,100] [1,10,100] False となりました。
  18. 18. Why????? Pythonこわい
  19. 19. これもタグ付けで説明できます
  20. 20. aはデータ[1,10,100]を参照し、 bはaを参照しています。
  21. 21. aはデータ[1,10,100]を参照し、 bは別のデータである[1,10,100]を参照しているのです。 別のデータを参照していたので、a is bはFalseだったんですね。
  22. 22. つまりis演算子は、 「同じものを参照しているかどうか」 を表す機能なのです。 ! この「同じ値でも参照元が別にある」という状況は、 変数を「箱」ととらえると説明しにくいのです。
  23. 23. 以上、タグ付けの補足でした。 By Katsuya Arai a.k.a めんたいこ

×