#[Python]03章-01 turtleの作成
本章では、今まで学んだ変数やメソッドなどの知識を用いて、習得した範囲でのグラフィックを作成していきたいと思います。
今後、Pythonで学ぶオブジェクト指向の話やメソッドに関する話が深く問われてきます。それらを学ぶ上で、グラフィックを用いることにより、理解が深まると考えています。
グラフィックでよく用いられるのがTurtle(タートル:亀)グラフィックスです。TurtleはPythonの基本的な文法がわかっていれば、記述が可能です。
##小学校・中学校でもプログラミングが必須
2020年よりプログラミングが小学校・中学校で必須となりました。そこでよく用いられるのがスクラッチというプログラミングツールです。このプログラミングツールの目指すところはアルゴリズム(※)の能力を養成することにあります。
(※)アルゴリズムとは、プログラム等で行われる処理手順のことです。詳細は割愛しますが、プログラムを書いていくうえで重要な内容となってきます。
もし興味があれば操作ができますのでぜひ試してみてください。(無料)
スクラッチサイト
そのスクラッチでもそうですが、スクラッチは前述した通り、小中学校で使うツールです。グラフィックも特に難しくなく操作ができますが、ここではPythonで動かすことを考えていきましょう。
##turtleを作る
いくつか習っていないプログラムコードがありますが、コメントを添えつつ、また詳細は後述しますので、とりあえず今はおまじないと思っていてください。
今回のプログラムはプログラムコードをエディタで作成して実行していきたいと思います。フォルダchap03を作成し、その中にファイル名03-01-01.pyを作成します。
まずは、一番上に以下のコードを入力します。
import turtle
これはturtleプログラムを行う上で、プログラムの部品(モジュールという)を外部から読み込んでいる(インポートしている)ことを意味します。詳細は後の章で後述します。
とりあえず今は、turtleプログラムを動かすために外部からプログラムを取り込んでいるという認識で構いません。
#turtleプログラムを動かすために外部からプログラム部品を読み込んでいる
import turtle
次もまたおまじないのようなものになりますが、肝心のturtle(亀)を作らないといけません。
そこで、以下のようにturtleを作ります。なお、亀に何か名前を付けてみるのもいいかもしれません。(今回自分はtaroという名前にしましたが、ここは自由で構いません)
#turtleプログラムを動かすために外部からプログラムを読み込んでいる
import turtle
#taroという名前でturtle(亀)を作る。
taro = turtle.Turtle()
そして実行してみてください。すると一瞬、白い画面が出たかと思います。
これだと実行結果がすぐ閉じられてしまうので、以下の個所にturtle.done()と記載してください。
これにより、turtle.done()の時点でいったんプログラムを止めることができます。これは最後に書きます。
#turtleプログラムを動かすために外部からプログラムを読み込んでいる
import turtle
#taroという名前でturtle(亀)を作る。
taro = turtle.Turtle()
#いったんここでプログラムを止める。
turtle.done()
これだと矢印の形であり、亀の形をしていません。また亀は本来緑色のイメージなので、形と色を変えていきたいと思います。
##亀に対する処理命令
では亀の形と色を変えていきたいと思います。
以下のコードを入力してください。
#turtleプログラムを動かすために外部からプログラムを読み込んでいる
import turtle
#taroという名前でturtle(亀)を作る。
taro = turtle.Turtle()
#形を亀に、色を緑にする
taro.shape('turtle')
taro.color('green')
#いったんここでプログラムを止める。
turtle.done()
実行すると、以下のように亀の形と色の変更ができたと思います。
閉じるには、右上の「×」ボタンを押下してください。
さて、追加したこの2行、どこかで見たことないでしょうか?
2章で文字列のメソッドを扱った時のことを思い出してください。
str.count('r')
str.lower()
といったメソッドがあったと思います。実はこれらはstrに対する処理命令と2章で述べましたが、今回もtaroというturtle(亀)に対して、何かしらの処理命令を行っているのです。
今回は「shape(形)を'turtle'(亀の形)に、color(色)を'green'(緑)にしなさい」という処理命令を行っているのです。
実際に動かすのは次回にしたいと思います。しかし結局動かすのはメソッドとなりますので、turtleを動かすための基本的なメソッドを次回習得していきたいと思います。
##最後に
今回はいくつか見慣れないプログラムコードがありますが、これらについては重要であるため必ず後の章で説明します。
今回学んだ、taro.shape()とtaro.color()のメソッドについて、ほかにもいろいろな形や色があります。
以下のサイトに詳細がありますので、形を変えてみたり、色を変えてみたりしてみてください。
shape()メソッド
###【目次リンク】へ戻る