HOME/ AINOW編集部 /ゼロからPython塾 第4回【Chapter3】プログラミング勉強スタート!
2017.05.29

ゼロからPython塾 第4回【Chapter3】プログラミング勉強スタート!

最終更新日:

こんにちはこんにちは。佐野です。

 BACK NUMBER 

前回(第3回)の記事はこちら。まだ読んでない人はぜひ!

 

前回は、簡単なものですがやっとプログラムを書きましたね。計算しただけなので、これが本当にプログラムと呼べるものなのか?と思った方もいるかもしれません。心配ありません、あれでもプログラムです。こんなに簡単なのは最初の方だけですので、今のうちにPython簡単だよ!と周りに言いふらして、仲間を増やすのもいいかもしれませんね。

それでは早速、前回の解説から入っていきましょう!

 目次 

【Chapter3】プログラミング勉強スタート!

print関数ってなによ
こういう使い方もできるよ

変数・型
数値と文字列

 

print関数(print文)

これからプログラム(Pythonに限らず)をするにあたって、「関数」というものはつきものです。一番最初に出てくる関数で、一番簡単なprint関数から勉強していきましょう!


Python2系と3系があるという話を第1回のIntroductionでしましたね。それがここで関わってきます。print関数のことをprint文という人もいます。「print文」というのはPython2系での呼び名であり、Python3系になると、print文ではなく「print関数」と関数化されました。違いはなんだと思うかもしれませんが、勉強し始めの今はこんなこと気にしなくていいので、ふーんって感じで大丈夫です。

print関数ってなによ

前回の最後に出てきたプログラムはこうでしたね。

print((1+2+3)*4-5)

で、結果がこうでした。

19

print(○○)の○○に書いてあるプログラムの計算結果が表示される仕様でしたね。

勘のいい人はprintという名前から気づいたかもしれません。そうです、カッコ内にあるものがprintされるのです。つまりカッコ内の計算結果が印刷されて出てきたのです。プログラミング業界ではこの現象を「出力」といい、今回は「計算結果がこのprint関数によって出力された」といいます。ではここでprint関数をもっと使ってみましょう。

いろいろ使ってみよう

先ほどは出力したのは数字でしたが、文字を出力することも可能です。

print ('To start Python from scratch')
To start Python from scratch

改行したくなったら、こうやってみましょう。

print ('To')
print ('start')
print ('Python')
print ('from')
print ('scratch')
To
start
Python
from
scratch

単純ですね。でも5回もprintって書くのは面倒ですよね。そんなとき、改行したい区切りのところに「\n」と打ち込んで見てください。

print ('To\nstart\nPython\nfrom\nscratch')

プログラム自体は見にくくなりましたが、先ほどよりも楽に改行することができましたね。

もちろん日本語だって出力できます。やってみましょう。

print ('ゼロからPython塾')
� ������Python�m

おかしいですね。文字化けしてしまいました。ちょっと設定をいじる必要があります。

①「ファイル」→「起動スクリプト」を選択

②このような画面がで出てくるはずので、一番下の12行目に「process.env.PYTHONIOENCODING = “utf-8”;」と入力しましょう。

# Your init script
#
# Atom will evaluate this file each time a new window is opned. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hacl to log to the console when each text editor is saved/
#
# atom.workspace.observeTextEditors (editor) ->
#   editor.onDidSave ->
#     console.log "Saved! #{editor.getPath()}"
process.env.PYTHONIOENCODING = "utf-8";

③保存して、ATOMを閉じてもう一回開きましょう(ATOM再起動)。

このような作業を行い、ATOMの再起動が終わったら、もう一回実行してみましょう。次は文字化けでなく、ちゃんと出力されるはずです。

ゼロからPython塾

数字だけでなく、いろいろな文字が出力できることが分かりましたね。次はちょっとだけ複雑になります。

print関数をちょっと応用してみよう

今までは、printあとのカッコ内に打ち込んだものを出力していただけですが、出力したいものを必ずカッコ内に入力しなければいけないわけではありません。いくつか方法があるのです。その方法を学んでいきましょう。

変数、文字列、数値、どれもプログラミングをする上で欠かせないキーワードです。しっかり覚えてくださいね!

変数

変数というのは、簡単に言うとこれから扱うデータにつける名前のようなものです。例えば次のプログラムを見てください。

a = 'python'
print (a)
python

このプログラムの1行目にあるaの正体が変数です。では何の役割を担っているのでしょうか。

先ほど行ったように、実行結果にpythonと出力したい場合は「print (‘python’)」という記述をしましたね。でも今回は、printのカッコ内にはaという文字だけなのにpythonと出力されています。なぜでしょう。1行目に「a = ‘python’」と定義しているからです。この1行目の定義によって、print関数が出力される際、「あ、aというのはpythonのことなんだな」というプログラムがはたらくことで、このような結果になったのです。このように「=」を使って変数を定義することをプログラミング業界では「代入」といい、今回は「変数aにpythonという単語を代入する」といいます。

pythonという単語を扱いたいから、そのpythonにaという簡単な名前をつけておこう、ということなのです。簡単ですよね?

変数ってなんのメリットがあるの?思った方。それはプログラムが長くなってくると威力を発揮します。簡単な例で見てみましょう。

a = 'Python'
print ('To start ' + a + ' from scratch')
print ('ゼロから' + a + '塾')
print (a + 'を学びたい')
print (a + 'って難しい')
To start Python from scratch
ゼロからPython塾
Pythonを学びたい
Pythonって難しい

このように、Pythonという単語を何回も使いたいとき、いちいち打ち込むのではなく、1度aという変数に代入し定義しておくと、それを使うだけで簡単に出力できるのです。このように、プログラムをが長くなればなるほど変数の大切さ、便利さに気付くものなので、今はピンと来なくても、これからどんどん使っていく中で覚えていきましょう!


文字列は、「+」の記号を使うとつなげることができます!
print ('To start Python ' + 'from scratch')
To start Python from scratch

文字列(str型)と数値(int型、float型)

文字列というのは簡単に言うと、単語のことです。つまり、変数の話をしたときに「変数aにpythonという単語を代入する」という説明をしましたが、これを正確に言うと「変数aにpythonという文字列を代入する」ということになります。なぜこんなにややこしい言い方をするのでしょうか。先ほどと似たプログラムを書いてみれば分かります。

a = 'python'
print ('a')	
a

おかしいですね。実行結果がaとなってしまいました。先のプログラムとの違いを探してみてください。

今回のプログラムでは「print (‘a’)」と、aにクオーテーションマーク(’ ‘)が付いていますね。これが原因です。こうしてしまうと、その付けられた文字は文字列として認識されてしまいます。つまり、ただのaという単語だと認識されたので、変数としての役割を果たさなくなってしまったのです。


クオーテーションマーク(‘ ‘)をつけると、文字列として認識される

 
文字列は、数値とも区別をつけておかなければなりません。数値というのは当たり前ですが、数字のことです。実際にプログラムで見比べてみるのが早いので、次の2つのプログラムを書いてましょう。

a = 100
print (a + 10)	
110
a = '100'
print (a + 10)
TypeError: must be str, not int

上のプログラムはうまく実行されましたね。100という数値を代入したaと10の足し算です。答えは110、正解ですね。

下のプログラムはエラーになってしまいました。何故かは今やったばかりですね。クオーテーションマークをつけると文字列になってしまいます。だから、下のaは数字ではなく文字列としての100が代入されたのです。文字に10を足そうとしても足すことなんかできませんよね。それがエラーの原因です。

エラーの中身を見てみましょう。「TypeError: must be str, not int」簡単にいうと、「intじゃくてstrだよ」ってことです。intやstrが分かりませんね、何のことでしょう。これらは略語です。

文字列は英語でstring(character string)、その頭をとって、str型と呼ばれます。同様に、小数点を含まない数値(整数)はintegerの頭をとってint型と呼ばれます。

では小数点を含む数値(浮動小数点数)は何と呼ばれるのでしょうか。これもプログラムのエラーコードから学ぶことができます。

a = '100'
print (a + 10.9999)
TypeError: must be str, not float

floatじゃないよって言ってますね。そうです、小数点を含む数値(浮動小数点数)はfloat型と呼ばれます。


文字列はstr型、数値にはint型(整数)とfloat型(小数)がある!

 

これらの略語は変数を宣言するときに使われます。例えば、先ほどはPythonという文字列をaという変数で宣言しましたが、これをstrにすると、ちょっと格好良くなります。

もちろん体裁を気にする以外にも使い道はあります。こっちのほうがメインです。以下のプログラムを書いてみてください。

int = 100
print (int)

str = str(int)
print (str)
100
100

100が2個出力されましたね。実は見た目は同じ100でも中身は違うのです。詳しく見ていきましょう。1,2行目では、intという変数に100という数値を代入してそれをprintしているので、100を数値として出力できています。対して4,5行目では、数値の100を文字列として出力しています。それは、4行目でやっているstr(int)が数値を文字列化しているためです。

数値を文字列にする方法には、クオーテーションマークをつけるというものがありました。それと同じ働きをするのがstr(○○)です。○○に数値を入れるとその数値は文字列として認識されるのです。これも略語の役割なのです。

いかがだったでしょうか。今日はなかなかヘビーでしたね。これからの回では、そのChapterで学んだことを最後にクイズとして出題して終わりたいと思います。簡単なので、心配不要です。復習だと思って解いてみてください!次回の冒頭で答えを紹介します!お疲れさまでした。


以下のような画面を出力してください。何かしらの変数を用いること。
Hello World!

 

※私はWindows派なので、この記事の通り進めていくとMacを使っている方はうまくいかないことがあるかもしれません。が、お許しください。もしご要望があれば、頑張って対応していきたいと思います。ちなみに私はDELLのXPS13、Windows10でやっています。
※記事を読んでいて「おかしいぞ?」とかプログラミングをして「実行してもエラーだぞ?」などあったら遠慮なく以下のメッセージから教えてください。お願いします!その他疑問も受け付けております。

最後まで読んでいただきありがとうございました。

 NEXT NUMBER 

次の回(第5回)を公開しました!このまま次へGO!

AI専門ニュースメディア AINOW
AI専門ニュースメディア AINOW
https://ainow.ai/2017/06/08/113088/
日本最大級のAI・人工知能専門メディア

ではまた!!!!

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

基調講演だけではない。OpenAI、Microsoft、Metaもビジョンを語ったGTC2024セッションまとめ

ChatGPTもGeminiも忘れて、これらの(信じられない)次世代AIツールをチェックしてみよう!

「Yahoo!知恵袋」でも活用、LINEヤフーの生成AI活用戦略

あなたにおすすめの記事

基調講演だけではない。OpenAI、Microsoft、Metaもビジョンを語ったGTC2024セッションまとめ

ChatGPTもGeminiも忘れて、これらの(信じられない)次世代AIツールをチェックしてみよう!

「Yahoo!知恵袋」でも活用、LINEヤフーの生成AI活用戦略