YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 06-07 Defining __init__

06-07 Defining __init__

Get Embed Code
7 Languages

Showing Revision 2 created 08/06/2014 by Udacity.

  1. ではコードに戻りましょう
  2. Movieクラスがあります
  3. ます__init__関数を定義することから始めます
  4. この関数はかなり変わっていますね
  5. initの両側にアンダースコアが2つずつあります
  6. このアンダースコアが何を意味しているかというと
  7. __init__は基本的にPythonに予約されたもので
  8. 特殊な関数やメソッドだということです
  9. __init__の特徴は初期化やメモリに
    スペースを作ることで
  10. そこにタイトルやあらすじなど
  11. Movieファイルを作るための情報が記憶されます
  12. さて__init__関数は情報や引数を受け取ります
  13. 最初は常にPythonの予約語selfで始まります
  14. ではこのselfとは何のことかというと
  15. 作成されたインスタンス自体のことです
  16. このコード行を別のPythonファイルで実行します
  17. ちなみに今回の場合は
  18. 今作ろうとしてるtoy_storyですね
  19. このコード行を実行すると
  20. Movieクラスの中にある
    __init__関数が呼び出されます
  21. selfは今回の場合toy_storyを指します
  22. 私がオブジェクト指向プログラミングを
    初めて勉強したのは
  23. 数年前の大学時代のことです
  24. 実はselfを理解するのは非常に難しいと感じました
  25. もし今そう感じている方も大丈夫です
  26. このあとコードの全体像を習えば
  27. だいぶ分かりやすくなります
  28. selfも必ず単語リストに追加してください
  29. ではMovieクラスに話を戻しましょう
  30. __init__関数の定義を続けます
  31. それでは__init__関数でタイトルやあらすじなどの
  32. クラスに記憶させたい情報を初期化しましょう
  33. コードはself.title self.storylineと記述します
  34. 次にself.poster_image_urlと書いて
  35. 最後にself.trailer_youtube_urlと書きます
  36. それではこの変数を初期化しましょう
  37. __init__関数でこの情報を受け取ります
  38. 特にこの4つの情報を取得します
  39. 最初の情報はmovie_title、次はmovie_storylineです
  40. 次にposter_imageと続き
  41. 最後にtrailer_youtubeです
  42. __init__関数の引数として
    この4つの情報を取得したら
  43. Movieの変数の初期化が可能になります
  44. やり方としてはself.titleにはmovie_titleと書き
  45. self.storylineにはmovie_storyと書きます
  46. 次がposter_imageで
    最後がtrailer_youtubeとなります
  47. 率直に言って
  48. たくさんコードを書きましたが
  49. 新しくて見慣れないでしょう
  50. 私に言えることは1つです
  51. 一呼吸置いて深く息を吸いましょう
  52. これから皆さんには
  53. ビデオを止めて自分でコードを書いてもらいます
  54. プログラムを実行すればコードの意味が分かります
  55. コードを実行する前に
  56. 重要なことをお伝えしておきます
  57. 他のPythonのファイルである
    entertainment_center.pyを開いて
  58. このコードを実行するとエラーが返ってきます
  59. インスタンスtoy_storyを作る時に
  60. __init__関数が呼び出されるためです
  61. この関数が引数や情報を探しているのに
  62. こちらからは情報を送っていません
  63. これを変更しましょう
  64. __init__関数の最初の引数はselfです
  65. Pythonの初期設定なので変更しません
  66. 次はmovie_titleです
  67. ここに「トイ・ストーリー」と記述します
  68. 次は映画のあらすじですから隣にこのように書きます
  69. “少年と”
  70. “生命が吹き込まれたおもちゃの物語”
  71. 次のposter_imageはポスターの画像です
  72. Wikipediaで事前に見つけた
    「トイ・ストーリー」のポスターのリンクを追加します
  73. 最後のtrailer_youtubeにも
    YouTubeにある予告編のリンクを追加します
  74. 以上です スクロールして戻ると
  75. コードの最初から確認できます
  76. この画面ではコードが一部見えないので
  77. コード全体をコピーして講師メモに載せました
  78. 確認したい方はご覧ください
  79. それでは最後に
    「トイ・ストーリー」のあらすじを出力します
  80. まずこのファイルを保存します
  81. 続いてMovieクラスのファイルに戻って
    これも保存します
  82. そしてもう一度entertainment_center.pyに戻ります
  83. プログラムが正しく実行されれば
  84. あらすじが出力されますのでやってみましょう
  85. 見てください 無事に出力されました
  86. 次はコードを実行する時
    裏で何が起きているかを見ていきます