スライドショー

Python

Pythonの基本文法

Python基本文法
この記事のターゲット
  • Pythonの基本的な構文を学びたい
  • Pytonを勉強したいけどなにを勉強すればいいか分からない

ここでは上記のような方に向けて、Python(3系)の基本的な文法について紹介します。

基本的なデータ型

まず、Pythonにはいくつかのデータ型があります。
その中でも最も基本的なものが「文字列」「整数」「浮動小数点数」です。

データ型
文字列(str)‘みかん’ , ‘ねこ’ , ‘金木犀’
浮動小数点数(float)-2.5, 1.0, 2.4, 3.7
整数(int)-10, -4, 0 , 3, 17

文字列型はプログラミングの世界だとよく「String(ストリング)」と呼ばれます。
Stringを省略して「str(エスティーアール)」と書いたりもします。

また、整数値は「Integer(インテジャー)」と呼び「int(イント)」と略され、
小数は「float型」と呼ばれます。

例えば以下のようにそれぞれ変数に値を格納し、「type関数」でデータ型を出力してみます。

string = 'Hello Python!!' #string変数に文字列を格納
integer = 1               #integer変数に整数を格納
float = 1.0               #float変数に浮動小数を格納

#各変数のデータ型を出力
print(type(string))
print(type(integer))
print(type(float))
実行結果

<class 'str'>
<class 'int'>
<class 'float'>

C言語やJavaなどでは、事前に変数の型を指定する必要がありますが、
Pythonでは値が代入されるタイミングで自動で型が決定します。

変数とは?

変数とは、文字列や数値といったデータを格納する為の「箱(入れ物)」のこと。
Pythonでは変数名を指定するとき以下の様なルールがあります。

  1. ひとつながりの語であること
  2. 文字と数字と下線( _ )のみを用いること
  3. 数字から始まらないこと

以下の様な変数名は使用できないので注意してください。

  • 「スペース」や「ハイフン(-)」は使用できない(例:card-no, result-test, tmp data)
  • 数字から始めてはいけない(例:3name, 4id)
  • 「$」や「(」,「'」のような特殊文字は使用できない(例:name(id), X'smas)

Pythonにはこの他にも「bool型(真偽値)」「dict型(辞書型)」などの型がありますが、
これらは後ほど触れていきます。

標準出力(print関数)

先にしれっと使用していましたが、Pythonで標準出力(画面に表示)する時は「print」関数を使用します。

「print(値)」の形式で書き、”値“ の部分に出力したい値を入れると画面上に値を出力することができます。

この時、関数に渡す値のことを「引数」と言います。

以下がprint関数の使用例です。

print("Hello World!!!")
print(256)
実行結果

Hello World!!!
256

print関数には変数を指定することもできます。
また、print関数の2つ目の引数(第二引数)に「end=‘’」を指定することで出力する値の末尾に結合する文字列を指定することができます。

#sample1
str = 'Hello '
print(str, end='Python!!\n')

#sample2
str1 ='Hello '
str2 = 'Python!!'

print(str1)
print(str2)
print(str1, end='')
print(str2)
実行結果

Hello Python!!
Hello
Python!!
Hello Python!!

sample1の結果から分かるように、print関数の第二引数に「end=‘Python!!’」を指定したことで、変数strの末尾に ’Python!!’ が連結されていることがわかります。

また、第二引数を指定するとデフォルトの改行が無効になってしまう為、「\n(バックスラッシュn)」を合わせることで、出力後に改行させることができます。

また、sample2からわかるように、
print関数で出力時、最後に改行したくない場合は、「end=‘’」とすることで改行しないようにすることができます。

演算子

Pythonには全部で7つの計算用演算子が用意されています。

演算子には優先度があり、優先度が高い順に処理をする特徴があります。
数学の足し算、引き算の前に掛け算や割り算を先に計算するようなものです。

以下がPythonで使用できる計算用の演算子になります。

優先順位演算子説明
1**累乗
2*掛け算
2/割り算
2//整数の割り算()シャツ数点以下きりすて
2%剰余(割り算の余り)
3+足し算
3-引き算

以下、各演算子の使用例と実行結果です。

#累乗
sample1 = 2 ** 4
print("2 ** 4 = " + str(sample1))

#掛け算
sample2 = 3 * 4
print("3 *  4 = " + str(sample2))

#割り算
sample3 = 5 / 2
print("5 /  2 = " + str(sample3))

#整数の割り算(小数点以下切り捨て)
sample4 = 3 // 2
print("3 // 2 = " + str(sample4))

#剰余(割り算の余り)
sample5 = 3 % 2
print("3 %  2 = " + str(sample5))

#足し算
sample6 = 3 + 7
print("3 +  7 = " + str(sample6))

#引き算
sample7 = 7 - 4
print("7 -  4 = " + str(sample7))
実行結果

2 ** 4 = 16
3 * 4 = 12
5 / 2 = 2.5
3 // 2 = 1
3 % 2 = 1
3 + 7 = 10
7 - 4 = 3

また、演算子「+, *」は数値の演算以外にも使用できます。

例えば「文字列1 + 文字列2」とすると、「文字列1と文字列2を連結する」という意味になります。

コメントアウト

プログラム言語には、コードの中にコメントを残せるように「コメントアウト」機能が備わっています。

Pythonでコメントアウトする場合、「#コメント」「'''コメント'''」の二つの方法があります。
二つの方法には簡単に以下の様な特徴があります。

#対象の一行のみをコメントアウトする
'''複数行に渡りコメントアウトする

以下がコメントアウトの使用例になります。

'''
プログラム名 :素数抽出プログラム
プログラム概要:1-20の間の全ての素数を出力するプログラム
引数: -
戻値: -
'''
for i in range(1, 20):
    if i != 1:
        for j in range(2, i+1):
            if i == j:
                #素数を出力
                print(i)
            elif i % j == 0:
                break
実行結果

2
3
5
7
11
13
17
19

上記の様に、プログラム実行時にコメントアウトした記述は無視されます。
プログラム、コードの説明を残しておいたり、デバッグ時など一時的に処理を無効化したい時などに活用すると良いでしょう。

標準入力(input関数)

Pythonでは標準入力用の関数として「input」関数が用意されています。

標準入力とは、キーボードからの入力のことです。

input関数を使用することで、キーボードからの入力値をプログラムの中で使用することができます。

以下がサンプルコードです。

print('値を入力してください:', end='')
in_str = input()
print('あなたは「' + in_str + '」と入力しました。')
実行結果

値を入力してください:Hoge fever
あなたは「Hoge fever」と入力しました。

このように、キーボードから入力された値を変数に格納し、プログラム内で使用することができます。

型変換

String(文字列型)→Integer(数値型)、もしくはInteger(数値型)→String(文字列型)に変換することができます。

Pythonでは、文字列と数値を直接連結することができないため、数値を一度文字列型に変換して連結する必要があります。

例えば、文字列と数値を連結させようとすると以下のようになります。

sum = 4 + '6'
実行結果

Traceback (most recent call last):
  File "hoge.py", line 1, in <module>
    sum = 4 + '6'
TypeError: unsupported operand type(s) for +: 'int' and 'str'

これは、文字列と数値で型が異なるためエラーとなってしまいます。

このような時は、どちらか片方に型を合わせる必要がありますが、その時に使用するのが「str関数」や「int関数」です。

以下サンプルコードになります。

sum = str(4) + '6'
print(sum)

sum = 4 + int('6')
print(sum)
実行結果

46
10

また、以下のように文字列としての浮動小数については「float関数」によって浮動小数点数に変換することができます。

res = float('3.6') + 3.4
print(res)
実行結果

7.0

次回に続く

-Python

© 2021 yoshicont.