今回はPythonの基本文法について解説していきます。
Pythonは非常に分かりやすくて読みやすい。そんな言語です。豊富なライブラリを活用すれば高度な数学的計算なども容易に行う事ができます。
文法の使い方については細かい部分まで話すときりがないので、基本動作の部分をまずはサンプルソースと共に説明致します。
- Windows7、10
- anaconda(Windows版)をインストール
- Jupyterで実行(paiza.ioなどでも全然OK)
※linuxやmacでも今回ご紹介する文法は基本同じです。
Pythonを使いこなせる様になれば一気に一気にな事ができる様になります。
しっかりと基本文法を押さえておきましょう。
コンテンツ
Pythonの基本の基本から
まずはHello World
まずは最初のコードとして画面表示を行いましょう。いわゆるHelloWorldコードです。サンプルコードを載せますので、同じ様に記述してみて下さい。
■Pythonコード
1 |
print ("Hello World!") |
■実行結果
1 |
Hello World! |
非常に簡単でしたね。プログラミング経験がある方にとってはおちゃのこさいさいだと思います。print()の中に文字列”Hello World”を記載すればOKです。
コメント文を知っておこう
さて、print文でHalloWorldした後はコメント文も覚えておきましょう。
Pythonの場合、
- 1行のコメントは#で始まる
- 複数行のコメントは”””ではさんであげる
というルールがあります。
■Pythonコード
1 2 3 4 5 6 7 8 9 |
# 1行だけのコメント print ("Hello World!") """ 複数行のコメント 1行目 複数行のコメント 2行目 複数行のコメント 3行目 """ |
■実行結果
1 |
Hello World! |
print文だけの時と同じになりましたね。つまりコメント文はコードとしては無視されている事になります。
※コメントはいつ使うの?⇒プログラマの方であれば蛇足だと思いますが、ソースコードには説明文を入れた方が絶対に見やすいです。後々の修正も楽になります。
Pythonはインデントが重要
Pythonは非常に可読性が高い言語として有名です。可読性を高めるためにインデントの取り方にルールがあります。
例えば、Pythonでは判定をする時は以下の様なコードを書きます。(判定については後ほどサンプルコードと共に詳しく説明します。)
■Pythonコード
1 2 3 |
number = 100 if number == 100: print('100です') |
■実行結果
1 |
100です |
numberという変数が100だった場合「100です」という文字列を出力するコードになります。If文を使った判定条件にマッチした場合の処理(print文)はインデントが取られていますよね。他の言語の場合はインデントを取らなくてもコンパイルエラーにはならないのが普通ですが、Pythonの場合は関数や条件文を記載する際にはインデントを取る必要があるのです。
とはいえ、綺麗なコードを書こうと思ったらインデントを取るのは普通ですから、意識だけしておけばOKだと思います。
ちなみに、これが以下の様なコードだとエラーになります。
■Pythonコード
1 2 3 |
number = 100 if number == 100: print('100です') |
■実行結果(エラー)
1 |
IndentationError: expected an indented block |
※インデントの取り方は「半角スペース」か「Tab」を使うのがルールで、半角スペース何文字分でもOK、何Tab分でもOKです。ただ、可読性を高めるために決まった文字数分でコーディングしましょう。
Python処理の基本文法
さて、もっと処理に使えそうな文法をご紹介します。
変数を使ってみよう!
次は変数を使ってみましょう。
■Pythonコード
1 2 3 4 5 6 7 8 |
Word = "おはよう" print (Word) Word = "こんにちは" print (Word) Word = "こんばんは" print (Word) |
■実行結果
1 2 3 |
おはよう こんにちは こんばんは |
変数「Word」の中身がどんどん変わっていくのが分かりますね。
データ形式
ここではPythonで使用が可能なデータ形式についてご紹介します。データ形式は簡単に言うと、文字なのか、数値なのか、を表わしています。
Pythonに限らず、プログラムは数値演算を行う事もあれば、文字の編集などを行う事もあります。C言語などであれば宣言時に型を指定しますが、Pythonは特に指定はしません。勝手に数値なのか、文字なのかを判断してくれます。
Pythonでは調度type関数というものがあり、type関数に引数として与えた変数の型を戻してくれます。いくつかの型を使ってデータ形式を確認してみましょう。
■pythonコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
print('数値') hensu = 10 print(hensu) print(type(hensu)) print('\n文字列') str1 = 'これは文字列' print(str1) print(type(str1)) print('\nリスト') list1 = [1,2,3,4,5,6,7,8,9,10] print(list1) print(type(list1)) print('\n辞書') dict1 = {'一':1, '二':2, '三':3, '四':4, '五':5} print(dict1) print(type(dict1)) |
■実行結果(文字のエスケープがなんだか上手くいかず、画像です。。。)
それぞれの型をtypeで表示してくれている事が分かります。とりあえず、ここであまり細かい使い方は解説しません。いくつかの方があるんだという事は把握しておいて下さい。
※ちなみに最後のdictの場合は綺麗に一、二、三の順番で表示されていないですね。dictの場合は、順番などは気にしていません。配列などとは扱いが全く異なる事が分かります。
演算処理をしてみよう!
次は簡単な算術演算をしてみましょう。ちなみにこの算術演算はどのコードでもほぼ同じなので、他の言語を使った事がある場合は、あー同じね。となると思います。
■算術演算子
+ | 加算 |
– | 減算 |
* | 乗算 |
/ | 除算 |
** | べき乗 |
% | あまりの算出 |
実際にコードを書いてみましょう。
※print文の中で算術演算をしています。
■Pythonコード
1 2 3 4 5 6 7 8 9 |
a = 10 b = 3 print(a+b) print(a-b) print(a*b) print(a/b) print(a**b) print(a%b) |
■実行結果
1 2 3 4 5 6 |
13 7 30 3.3333333333333335 1000 1 |
条件分岐
次はプログラムの基本でもある条件分岐をやってみましょう。Pythonでも他のコードと同様にif文で条件分岐する事ができます。
Pythonの条件分岐について記載されたサイト等はたっくさんあるので、ここで細かい部分まではお話しませんが、「if文、elif文、else文」のサンプルコードだけ載せておきます。
分岐のコードも実際に使いながら覚えた方が良いというのが持論です^^
※他の言語を使った事がある人にとっては逆に混乱するかもしれないのは()で囲う必要がないという事、あとはif文の中のロジックを記載する時はインデントをとる必要があるという事だと思います。
■Pythonコード
1 2 3 4 5 6 7 8 |
number = 1 if number == 1 : print('1です') elif number == 2 : print('2です') else: print('それ以外です') |
■実行結果
1 |
1です |
当然ですが、numberが2の場合は「2です」と表示され、それ以外の数値が入力された場合は「それ以外です」と表示されます。
繰り返し
さて、コンピュータが人間よりも圧倒的に得意な処理です。同じ様な処理を何回も、何百回も、何万回も繰り返してくれます。
ここでは代表的なfor文とwhile文をご紹介します。
for文
for文はプログラミング経験者であればどなたでも使った事のある文法だと思います。Pythonの場合は記述の仕方が、他の言語と少し異なるので、ここは要注意です。
といっても書き方は簡単で、
for 変数 in range (ループ回数)
と覚えておけばOKです。実際にコードを見てみましょう。
■Pythonコード
1 2 |
for number in range(10): print(number) |
■実行結果
1 2 3 4 5 6 7 8 9 10 |
0 1 2 3 4 5 6 7 8 9 |
0~9までの数字が表示されました。rangeで開始、終了値がコードで明示されていない場合は変数は0から始まります。ループ回数が明確に決まっている場合は、for文は重宝しますので、ぜひここで覚えておいて下さい。
While文
for文とは条件の書き方が異なるだけです。基本的な処理の流れは同じなので、用途に応じて使い分ければOKです。
■Pythonコード
1 2 3 4 5 6 |
number = 0 print ("start") while number < 10: print(number) number += 1 print ("end") |
■実行結果
1 2 3 4 5 6 7 8 9 10 11 12 |
start 0 1 2 3 4 5 6 7 8 9 end |
とくに問題なく10回ループできていますね。numberが1ずつ加算して10になったらループを抜けます。
※number=10の場合はループの中は通りません。
繰り返し処理をする場合には大活躍しますので、for文と併せて覚えておいて下さいね。
関数
さて最後に関数の使い方も覚えておきましょう。関数は処理を一つにまとめる事ができます。引数を与えて呼び出しが可能で、リターン値の取得もできます。
実際にサンプルを見ていただくと分かると思います。
■Pythonコード
1 2 3 4 5 6 |
def func1(number1, number2): answer = number1 + number2 return answer total_number = func1(8, 25) print(total_number) |
■実行結果
1 |
33 |
この場合、func1が関数名で、number1とnumber2が引数となります。func1を呼び出す時に8と25を引数に指定していますので、関数の中で加算されて結果の33がリターン値(関数の中ではanswerの変数名)として帰ってきます。そのリターン値をprint文で画面表示しています。
まとめ
とりあえず、本当に基本的な使い方を中心にご紹介しました。
ただ、今回ご紹介した内容を基にして簡単なシステムは作れてしまいます。大事なのは文法をたくさん覚える事ではなくて、目的を達成するためにPythonというコードをどの様に使いこなすかです。
もう少しPythonを使って色々な事をしてみたいという場合はこちらの記事もぜひ参考にしてみて下さい。
この記事ではPythonの使い方について解説をしていきます。 Pythonは記述方法が簡単で、人工知能のライブラリが非常に豊富な言語です。データサイエンティストの方からも人気があり、ここ数年では特に注目度の高い言語でもあ …
また、本格的にPythonを勉強したい、Pythonエンジニアを目指しているという場合はプログラミングスクールを検討されるのも良いと思います。Pythonを学べるプログラミングスクールについてはこちらの記事にまとめています。
Pythonを習得したいという二ーズは年々高くなっています。 Pythonは人口知能(AI)や機械学習を活用できる強力なライブラリを活用する事ができるので、最先端の技術を扱いたいエンジニアにとっては非常に魅力的です。社会 …
様々なコードを見たり書いたりして、システムを作る流れを体に叩き込んでいきましょう!