pythonでprint文を実行したらエラーに!?メソッドとオブジェクトの考え方について解説!
前回はpythonを使った簡単なグラフィックの描写を行ないましたが、
今日は文字の出力を行なってみたいと思います!
文字の出力といえば、いわずと知れたprint文です。
今日はこの予約語を軸にpythonの基本的な考え方を抑えておきましょう。
pythonでprint文を実行したらエラーに!?
先ずはprint文の良くあるエラーについてです。
print文は最もポピュラーでシンプルな予約語です。
と投入することで標準出力(コマンドプロンプトの画面)に”文字列”をそのまま表示してくれます。
そんな、なんとも親しみやすいprint文ですが、このprint分においてパイソン初学者が最初につまずきやすいのがpython3系で
- >>>print "Hello World"
と投入してしまい以下のエラーが出力されてしまうパターンです。
ちなみに同じ文をpython2系で投入してもエラーになりません。
それでは、何故3系で上記のようなprint文を投入するとエラーになってしまうのか?
これはpythonの2系と3系に互換性が無い為です。
では今度は、print文でオブジェクトを実行してみましょう!
pythonで重要なオブジェクトという考え方
オブジェクトという単語が出てきましたが、オブジェクトとは「命令とデータのセットでもつもの」のことをいいます。
このオブジェクトという考え方が、先ず難しいと思いますので例を挙げて説明します。
今ココに
lunch という変数に”Ra-men Cha-han Set"という文字列を代入しました。
lunchという変数はこの時点でオブジェクトになります。
オブジェクトはデータと命令をセットで持つものですので、オブジェクトは自身がデータであるのと同時に命令を持つことが出来ます。
それを次の様に表します。
>>>lunch.index("men")
3
index()は()の中の文字列が引数となった文字列の先頭から数えて何番目にあるかを示す、命令です。
この命令のことをメソッドといいます。
つまりオブジェクトとは、メソッドとセットで用いることが出来るデータのことです。
pythonで重要なメソッドという考え方
ココでメソッドについて何点か触れておきましょう。
前章でお伝えした通りですが、メソッドとは命令のことです。
オブジェクトに対して何かしらの処理を行ないます。
lowerメソッド
➡こちらは文字をすべて小文字で表示するというメソッドです。
'ra-men cha-han set'
このようにlowerメソッドはlunchといういオブジェクトを引数に文字列を小文字にして表示するという命令を行ないます。
countメソッド
➡こちらは指定した文字列がいくつオブジェクトの中に入っているか、計測するメソッドです。
3
となります。
ちなみに" "で囲まないと
Traceback (most recent call last):
File "", line 1, in
NameError: name 'a' is not defined
とようなエラーになってしまいますので注意してくださいね。
まとめ
いかがでしたか?
本日はpythonを今後、学習していく中で重要な3点についてお伝えしました。
・pythonは2系、3系があって互換性がない部分が多々あるので注意する
・pythonで扱うデータはすべてオブジェクトである
・メソッドをセットで持つデータをオブジェクトという
メソッドとオブジェクトについてはご理解頂けましたでしょうか?
言語を勉強するのが初めてのひとはピンと来なかった人もいるかもしれませんが、今後演習の中でゆっくり咀嚼していきましょう^^