こんにちは、ナナです。
皆さん、それではPythonのプログラミングをするための基礎的な技術を学びましょう。「プログラミングってそもそも何なの?」ってところから解説します。
本記事では次の疑問点を解消する内容となっています。
では、プログラミングの基礎を学んでいきましょう。
プログラミングをはじめる前に
よーし、今日から「Python」を始めるっすよ!気合いれるっす。
プログラミングが初めての人も見てるからね。まずはプログラミングを始める前に必要な知識をさらっと知っておこうね。
プログラミング言語とはコンピュータにお願いをするための言葉
皆さんはなぜ、「プログラミング言語」を知る必要があるのでしょう?
それは、コンピュータとコミュニケーションを取るためなのです。
プログラマーとなる皆さんはこれからコンピュータに対して、いろいろなことをお願いしなければなりません。
そのためには「プログラミング言語」が必要であり、「Python」とはその言語のひとつなのです。
プログラムパターンの基本要素
プログラムとは次の3つの基本要素で作られます。
プログラムとは、これら3つの要素を組み合わせて作り出していきます。
もっとも基礎となるのが「順次」と呼ばれる要素です。本記事ではまずは「順次」を理解していきます。
Pythonの簡単なプログラミングをはじめてみよう!
準備万端っすね。最初にやるべきプログラミングは何でいくっすか?
そうだね、まずはprint命令を使って四則演算から学んでいこうか。
画面に結果を表示するprint命令
次のように「print命令」を使うことで画面に数値を表示することができます。皆さんもmain.pyに書いて動かしてみましょう。
print(10)
実行した結果は次のように表示されましたね。
10
print命令はプログラムの結果を確認するために、これからたくさん使います。覚えておきましょう。
Pythonの四則演算の記号
コンピュータとは計算が得意です。そのため、皆さんが普段利用する「四則演算」程度は簡単に行うことができます。
四則演算 | 演算子 | 使用例 | 備考 |
---|---|---|---|
加算 | + | x + y | |
減算 | – | x – y | |
乗算 | * | x * y | |
徐算 | / | x / y | |
剰余算 | % | x % y | xをyで割った余り |
これらの記号はプログラミング言語全般で多くの言語で採用している記号です。覚えておくとよいでしょう。
特徴的なのが剰余算ですね。意外なところで有効活用できる演算なので知っておきましょう。
プログラミング 簡単な四則演算を使ってみよう!
Pythonのプログラミングに慣れるためにも、四則演算を行ったプログラムの練習をしてみましょう。
次の計算を、print命令を使って結果を画面に表示してください。
練習問題 | 学習内容 |
---|---|
10 + 20 | 単純な足し算 |
3.3 + 5.2 | 小数点同士の足し算 |
8 - 3 | 単純な引き算 |
2 - 6 | 結果が負値となる引き算 |
5 × 9 | 単純な足し算 |
5. × 9 | 片方が小数点のみ付いた掛け算 |
5.0 × 9 | 片方に小数点以下の数値が付いた掛け算 |
14 ÷ 2 | 割り切れる割り算 |
10 ÷ 3 | 割り切れない割り算 |
10 ÷ 3 の余り | 余りの出る剰余算 |
4 ÷ 2 の余り | 余りの出ない剰余算 |
プログラムができて目的の結果が得られたら、次の答えを開いて答え合わせをしてみようね!
プログラム内容
print(10 + 20)
print(3.3 + 5.2)
print(8 - 3)
print(2 - 6)
print(5 * 9)
print(5. * 9)
print(5.0 * 9)
print(14 / 2)
print(10 / 3)
print(10 % 3)
print(4 % 2)
プログラムは何行も書くことができ、上から下に向かって順番に実行されます。これが「順次」処理です。
このプログラムを動作させた結果は、次のものとなります。
動作結果
30
8.5
5
-4
45
45.0
45.0
7.0
3.3333333333333335
1
0
このようなパターンを実施することで、Pythonプログラムの特徴を理解していきます。
- 片方の数は小数点の場合は結果は小数点となる。
- 小数点は、「5.」のように数字と「.」のみでも表現できる。
- 割り算は割り切れても、割り切れなくても結果は小数点となる。
- 割り算の結果が割り切れなくても、小数点以下16ケタで打ち止めとなる。
他にも気になるパターンがあれば自分で実験してみよう。そのような好奇心こそが、プログラムが上達するコツですよ!
Pythonプログラムにおけるコメントの入力方法
「コメント」と言えば、プログラムの中にメモを書くことができる機能のことっすね。やっぱり、Python言語でも「コメント」を書くことができるっすか?
プログラムにはわかりづらい部分が必ず出てくるからね、Pythonにも「コメント機能」は用意されているよ。
プログラム言語によってコメントの書き方は様々だから、間違えないようにしようね!
「コメント」とはプログラムの動作に影響のないプログラム上の『メモ』のことです。
プログラムとはプログラミング言語にて記述されるため、読む上でわかりづらい部分も出てきます。そんな時に「コメント」を使って補足するのです。
Python言語のコメント入力方法
Python言語では「#」記号を利用して「コメント」を入力します。
次のように「#」記号より文末までが、「コメント」という扱いになります。
# Hello Worldを表示するよ!
print("Hello World!") #print命令を使うと画面に表示できるよ
このようなコメント内容は実際には役に立ちませんが、実践的なプログラムでは、プログラムの意味を補足するようなコメント内容を書きます。
また、次のように行頭に「#」を入れて「一時的にプログラムを無効化したい」場合にも、この「コメント機能」を利用します。
# 一時的にプログラムを無効化!
#print("Hello World!")
このようにプログラムを無効化することを「コメントアウト」と呼びます。
「コメント」というメモを書き残すことで、自分にも他の人にも理解しやすいプログラムを書くことができます。
これはすごく大事なことなんです。自分が作ったプログラムは自分以外の人も使うかもしれないと思って書きましょう!
Pythonのプログラムで最初に注意しておきたいこと
Pythonの言語も他の言語も仕組み自体は同じっすね。Pythonのプログラムで、やっちゃいけないこととかあるっすか?
そうだね。今の段階では3つのことを知っておいてほしいかな。じゃあ説明するね。
最初に覚えておくべきプログラミングの注意事項を説明しておきましょう。
Pythonのプログラムは行の先頭から書く
Pythonプログラムの基本は行の先頭からプログラムを書くことです。
print("Hello") #行頭からプログラムが始まる OK
print("World") #行頭がズレている NG
行頭には空白やタブは入れないようにします。2行目は次のようにエラーとなってしまいます。
File "C:/PythonProject/project1/main.py", line 2
print("World") #先頭がズレている NG
^
IndentationError: unexpected indent
行頭の空白やタブのことを「インデント」と呼びますが、Pythonでは「インデント」のルールが明確に決まっています。
「Python」はプログラムの今の段階では行頭を左端に寄せてください。
「インデント」に関しては、もう少し先の章で解説しましょう。
Pythonは1行に1命令のプログラム
Pythonのプログラムは1行に対して1つのプログラムを書きます。
次のように、複数のプログラムの実行命令を1行の中で書くことはできません。
# 1行に2つの命令
print("Hello") print("World")
このように文法がおかしい場合は、実行するとエラーメッセージが表示されます。
File "C:/PythonProject/project1/main.py", line 2
print("Hello") print("World")
^
SyntaxError: invalid syntax
エラーメッセージでは、矢印を使っておかしな場所が指定されていますね。
これから皆さんは、このようなエラーとたくさん向き合うようになります。そうやってプログラミング言語を習得していくのです。
プログラミングでエラーが出ることは当たり前なんです。特に最初の頃はたくさんのエラーを出しながら、言語の文法を覚えていくものです。
エラーが出ても落ち込まないでね!
全角スペースの罠
Pythonでは、コメントや文字列の中以外では「全角スペース」の利用が認められていません。
# コメントで「 」 # コメントの中はOK
print("Hello World") # 文字列の中はOK
print(10 ) # プログラムの中はNG
実行しようとすると、次のようにエラーが発生します。
File "C:/PythonProject/project1/main.py", line 3
print(10 ) #プログラムの中ではNG
^
SyntaxError: invalid character in identifier
エラー内容として「invalid character in identifier:識別子の無効な文字」が出力されています。
全角スペースは目では判別しづらいため注意しましょう。
日本語のコメントを入れていると、ついつい全角スペースが入ってしまうことがあるため注意が必要です。
Pythonで画面に文字を表示するprint命令の記述パターンとは?
print命令を使った画面表示方法は、他にももっと使い方ってあるんすか?
C言語のprintf命令とは使い方が少し違うから注意が必要だね。それじゃあ、基本的な書き方と結果を示していこうね。
文字や数値を1行の中に複数入れたい場合
1行の中に複数の項目を入れたい時はカンマ「,」で区切ってprint命令を書きます。
print("Hello", "World")
print("西暦", 2020, "年", 1, "月", 1, "日")
実行した結果は次のように表示されます。
Hello World
西暦 2020 年 1 月 1 日
特徴的なのは、カンマの区切り部分には空白1つ分が自動で挿入されることです。
Pythonの文字列はシングルクォーテーションでもダブルクォーテーションでも書ける
Pythonでも文字列は『ダブルクォーテーション』で括ればいいんすね。これはC言語と同じっす。わかりやすいっすね。
そうだね。Pythonでは『ダブルクォーテーション』でも『シングルクォーテーション』でもいいのがC言語とは違うところだね。
「A」や「B」といった1つ記号を「文字」と表現し、「ABC」といった複数の文字からなるものを「文字列」と呼びます。
Pythonの「文字列」の表現は、『シングルクォーテーション』か『ダブルクォーテーション』のどちらかで括る必要があります。どちらを使ってもよいです。
print('Hello World') # シングルOK
print("Hello World") # ダブルOK
print('Hello World") # 異なる場合はNG
ただし、括るときはセットで同じものを使う必要があります。
他の言語では「文字列」はダブルクォーテーションで括ることが多いため、基本的に使う時はダブルクォーテーションに統一しておくとよいでしょう。
数値をそのまま書くか、ダブルクォーテーションで括るか、の違い
「数値」と「文字列」の違いがまだピンと来ていない人は、次のプログラムはどちらでもよいと思うかもしれません。
print("10") # 文字で「10」
print(10) # 数値で「10」
このプログラムの実行結果は次のようになり「やっぱりどっちでも一緒じゃないか」となります。
10
10
しかし、これは違うのです。「数値」は計算することができますが、「文字」は計算できません。
そのため、次のような計算を含む式を表示するときは、明確な違いが現れます。
print("10 + 20")
print(10 + 20)
結果は次のようになります。
10 + 20
30
皆さんは「文字列」として表示するか、「数値」として表示するか、正しく選択する必要があります。
文字列として表示したい場合はダブルクォーテーション「”」で括ります。数値として表示したい時は、そのまま書けばいいです!
Q&A:Pythonプログラムに関するよくある質問
Pythonプログラムの基本に関して質問いいよ!
Q:print命令が自動的に改行されるけど、改行しない方法は?
print命令を行うと自動的に改行されるっすよね。便利っちゃ便利っすけど改行したくないときだってあるっす。できないっすか?
特別な書き方が必要だけどできますよ。endオプションというものを指定することで改行を防止することができます。
print命令で改行をしないようにするためには、次のように使います。
print("Hello", end="") # 改行なしの指定
print("World") # 改行あり
HelloWorld
オプションとして「end=””」を指定することで、改行をしないようにできましたね。
「Hello」と「World」の間が詰まっていますね。この間に空白を空けるためには、次のようにします。
print("Hello", end=" ") # スペースで改行なしの指定
print("World") # 改行あり
Hello World
つまり、endとして指定した文字を、最後にくっ付けて画面に表示しているということですね。
endオプションを指定しない場合は、改行を示す「end=”\n”」が自動で設定されているのです。そのため「end=””」と明示すると設定が上書きされて、改行しなくなるということですね。
Q:コメントアウトを1行ずつするのは面倒です
押忍っ!「#」「↓」「#」「↓」・・・ぜぇぜぇ。ようやく「1,000行」コメントアウトしたっすよっ!やり切ったっす、燃え尽きたっす。
ごめんね、言うの忘れてたけどPyCharmには一括でコメントアウトできる仕組みが用意されているよ。便利だから使うといいよ。
PyCharmでは選択した行を一括でコメントアウトしたり、解除する機能が備わっています。
マウスやキーボードを使って行を選択後に「Ctr」+「/」で切り替えることが可能です。
この機能を使えば1000行だって簡単にコメントアウトと解除ができますよ。
課題:Pythonの基礎が学べたかを確認しよう
課題1:文字列の表示
課題内容
- 「Python」「はじめました」の2つの文字列を改行して順に画面に表示せよ。
- 表示内容は出力期待結果に従い出力すること。
出力期待結果
Python
はじめました
print命令の基本的な使い方ですね。
print("Python")
print("はじめました")
日本語も表示することができますよ
課題2:改行しない文字列の表示
課題内容
- 「Python」「はじめました」の2つの文字列を改行せずに順に画面に表示せよ。
- 表示内容は出力期待結果に従い出力すること。
出力期待結果
Pythonはじめました
代表的なプログラムを紹介します。
# 表示方法その1
print("Python", end="")
print("はじめました")
# 表示方法その2
print("Python" + "はじめました")
文字列同士は「+」を使って結合することもできるんです。C言語ではこんなことできません。
C言語技術者が知るべきPython言語との違い:「基礎」
すでにC言語を習得している人は、次のポイントに気を付けよう!
C言語のprintf関数とPythonのprint関数は、関数仕様が結構違うので使う時には注意をしましょう。