- プログラミングは覚えることが多くて、挫折しそう。。。
- Pythonの文法は色々あるけど、全部使うの?
- 必要最小限の文法だけ知りたい!
こんな悩みを解決します!!
初めてプログラミングをする人にとって、Pythonの文法をすべて覚えるのは難しいですよね。
日々の業務改善ツールを自作する場合は、すべての文法を覚える必要はありません。
本記事では、Pythonの必要最低限の基本文法を紹介します。
Pythonで簡単なツールを作成したい!と考えている初心者はこれだけ覚えておけばOKです。
記事内では簡単な解説のみを載せていますので、説明不足がある点はご了承ください。
Pythonの基本構文
インデント
インデントとは、行頭の空白や字下げのことです。
Pythonでは文のまとまり(ブロック)を認識するためにインデントが必要になります。
if、for、while、関数定義などのブロックはインデントをそろえてください。
1レベルのインデントはスペース4つが推奨されています。
# 関数のブロック
def hello_world():
# 繰り返しのブロック
for i in range(5):
# 処理
print("Hello, World!")
コメント
プログラム内で、どのような処理をしているかなどの説明をつけることができます。
プログラムを他の人に共有したり、1年後に自分で修正したりする場合、コメントがあればプログラムの流れを理解しやすくなります。
できる限りコメントをつけましょう。
コメントのつけ方は次の方法があります。
インラインコメント:#
ブロックコメント:"""
# この部分はコメントになります
# ←#は1つでOK
# Hello, World!の表示関数
def hello_world():
# 5回繰り返し
for i in range(5):
print("Hello, World!") # Hello, World!を表示する
"""
↑ 3つ必要
複数行コメントの例
この部分はコメントになります。
この部分もコメントになります。
↓ 3つ必要
"""
行の長さ
コードが見づらくなるため、長い式や文はできる限りなくしましょう。
Pythonでは、1行に収める文字数を79文字以内にすることを推奨されています。
長い式や文は括弧内で複数行に分けて記述することができます。
# 悪い例
result = main_deta_A + main_data_B + main_data_C + main_data_D + sub_data_E + sub_data_F + sub_data_G + sub_data_H
# 改善例
result = main_deta_A + main_data_B + main_data_C + main_data_D
+ sub_data_E + sub_data_F + sub_data_G + sub_data_H
PEP8について
PEP8とは、Pythonのプログラムを見やすくするために、コードの書き方を標準化するためのスタイルガイドのことです。
インデント、変数名の付け方、行の長さ、空白の使い方、コメントの書き方など、様々な規則が示されています。
すべて覚える必要はありませんが、軽く目を通しておくと、プログラムの可読性が上がるのでオススメです。
変数
変数とは
変数とはデータや情報を格納しておく物です。
数値は数字をそのまま記入すればOKですが、文字列はクオーテーション「’’」かダブルクオーテーション「”」で囲む必要があります。
変数は格納されているデータを変更することができます。
# 数値を格納する場合
age = 15
# 文字列を格納する場合
name = “田中”
変数の命名規則
変数の名前はわかりやすい物にしましょう。
例えば、年齢を格納する変数は「age」、名前を格納する変数は「name」
複数の単語をつなげるときはアンダースコアを使用します。
変数は数字から始まる名前にすることができないので注意してください。
my_age
name_1
name_2
予約語
変数名には、使ってはいけない単語があります。それが予約語です。
予約語とは、Pythonの文法ですでに使われている単語です。
Pythonの予約語は以下の通りです。
【予約語一覧】
False、None、True、and、as、assert、async、await、break、class、continue、def、del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、nonlocal、not、or、pass、raise、return、try、while、with、yield
定数
定数とは、格納したデータを変更しない値を言います。
Python以外の言語では「定数」が完全に変更できない状態になっているものもあります。
しかし、Pythonでは完全に変更できない「定数」は定義することができません。
そこで、定数として扱いたい変数は、すべて大文字で名前をつけることがあります。
「すべて大文字の変数は変更しない」と覚えておきましょう。
MAX_LIMIT = 100
PI = 3.141592
データ型
Pythonのデータ型とは、変数に代入するデータの種類のことです。
Pythonでは、変数に値を代入する際に、その値のデータ型が自動的に判断されます。
プログラム内でデータを処理する際、データ型が合わないとエラーになることもあるので、自分が扱っている変数のデータ型には注意しましょう。
ブーリアン型(bool)
真(True)または偽(False)のいずれかを表すデータ型です。
a = True
b = False
数値(int、float)
整数(int): 整数を表すデータ型です。
浮動小数点数(float): 小数点を含む数値を表すデータ型です。
int_1 = 5
int_2 = 100
int_3 = -3
float_1 = 3.14
float_2 = -0.001
文字列(str)
文字の並び(テキスト)を表すデータ型です。
クオーテーション、または、ダブルクォーテーションで囲みます。
str_1 = "hello"
str_2 = 'Python'
リスト(list)
順序を持った複数の値(要素)を一つにまとめたデータ型です。要素は変更可能です。
list_1 = [1, 2, 3]
list_2 = ['a', 'b', 'c']
list_3 = [1, 2, 3, 'a', 'b', 'c']
タプル(tuple)
順序を持った複数の値を一つにまとめたデータ型ですが、リストと異なり要素は変更不可能です。
tuple_1 = (1, 2, 3)
tuple_2 = ('a', 'b', 'c')
tuple_3 = (1, 2, 3, 'a', 'b', 'c')
辞書(dict)
キーと値のペアを保持するデータ型です。各キーは一意であり、そのキーに関連付けられた値を格納します。
dict = {'name': 'Alice', 'age': 25}
集合(set)
一意な要素の集まりを表すデータ型です。順序は保持されず、重複する要素は持てません。
set = {1, 2, 3, 'a', 'b', 'c'}
データ型の確認方法
データ型の確認はtype()を使用します。
age = 15
name = "田中"
print(age)
print(type(age))
print(name)
print(type(name))
# 出力結果
# 15
# <class 'int'>
# 田中
# <class 'str'>
演算子と式
算術演算子(加算、減算、乗算、除算)
+(加算)、-(減算)、(乗算)、/(除算)、%(剰余)、*(べき乗)
比較演算子
==(等しい)、!=(等しくない)、<(未満)、>(超過)、<=(以下)、>=(以上)
論理演算子
and(かつ)、or(または)、not(否定)
条件文(if文)
条件文は特定の条件を満たすときに、処理をするための文です。
if文の基本構造
if 条件式:
処理①
条件式が「Ture」のとき、処理①が実行されます。
if-else文
if 条件式:
処理①
else:
処理②
条件式が「Ture」のとき、処理①が実行されます。
条件式が「False」のとき、処理②が実行されます。
if-elif-else文
if 条件式A:
処理①
elif 条件式B:
処理②
else:
処理③
条件式Aが「Ture」のとき、処理①が実行されます。
条件式Aが「False」、かつ条件式Bが「Ture」のとき、処理②が実行されます。
条件式Aが「False」、かつ条件式Bが「False」のとき、処理③が実行されます。
elifは何個も追加することができます。
複数の条件文ですべて「False」になったときに、elseの処理が実行されます。
age = 20
if age > 30:
print("ageは30より大きい")
elif age > 20:
print("ageは20より大きく、30以下")
elif age > 10:
print("ageは10より大きく、20以下")
else:
print("ageは10以下")
# 出力結果
# ageは10より大きく、20以下
繰り返し(for文とwhile文)
同じ処理を繰り返す場合は、for文とwhile文を使用します。
for文の基本構造
for 変数 in オブジェクト:
処理
オブジェクトにはrange関数やリストなどを使用します。
# range関数を使用
for i in range(5):
print(i)
# リストを使用
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
while文の基本構造
while 条件式:
処理
while文では、指定した条件が「True」である間処理を繰り返します。
条件式が「False」になるタイミングがないと、処理が無限ループしてしまうので注意してください。
# カウンタが5に達するまでループ
counter = 0
while counter < 5:
print(counter)
counter += 1
繰り返しの制御(breakとcontinue)
繰り返しを制御する方法として、breakとcontinueがあります。
breakは繰り返しを抜けることができます。
# 1から10までの数を印刷し、5で停止
for i in range(1, 11):
if i == 5:
break
print(i)
# 出力結果
# 1
# 2
# 3
# 4
continueはcontinue以降の処理をスキップして、繰り返しの先頭に戻ることができます。
# 1から10までの数を印刷し、5をスキップ
for i in range(1, 11):
if i == 5:
continue
print(i)
# 出力結果
# 1
# 2
# 3
# 4
# 6
# 7
# 8
# 9
# 10
関数
関数の基本構造
def 関数名(引数1, 引数2):
処理
return 戻り値
引数と戻り値
引数とは、関数に渡される値やデータのことです。
関数内では、この引数を使用して処理を行います。
戻り値とは、関数が処理を完了した後に返すデータのことです。
returnを使用して戻り値を返します。
特に戻り値が必要ない場合は「None」を返します。
# 引数として 2 つの数値を取り、その和を返す関数
def add(a, b):
return a + b
# 関数を呼び出し、結果を印刷
result = add(5, 3)
print(result)
# 出力結果
# 8
リスト
リストとは
リストとは、順序付けられたデータのまとまりのことです。
リスト内には、異なるデータ型を入れることができます。
リスト内のデータは自由に変更することができます。
リストは角括弧 [] を使用して定義し、リスト内の要素はカンマ , で区切ります。
# 空のリスト
empty_list = []
# 数値のリスト
number_list = [1, 2, 3, 4, 5]
# 異なるデータ型を含むリスト
mixed_list = [1, "Hello", 3.14, True]
リストの使い方
要素へのアクセス: リストの要素には、インデックス(0から始まる)を使用してアクセスします。
要素の追加:append() メソッドでリストの最後に要素を追加します。
要素の削除:remove() メソッドで特定の要素を削除、または del ステートメントで指定したインデックスの要素を削除します。
リストの長さ:len() 関数でリストの長さ(要素数)を取得します。
リストの反復処理:for ループを使用してリストの各要素に対して操作を行うことができます。
# リストの作成
fruits = ["apple", "banana", "cherry"]
# リストの長さを取得
print(len(fruits)) # 出力: 3
# リストの最後に要素を追加
fruits.append("orange")
# 特定の要素にアクセス
print(fruits[1]) # 出力: banana
# リストの要素を反復処理
for fruit in fruits:
print(fruit)
タプル
タプルとは
タプルとは、順序付けられたデータのまとまりのことです。
リストとの違いはデータを自由に変更することができない点です。
タプルはカンマ , で区切られた要素を丸括弧 () で囲んで定義します。
丸括弧なしで要素をカンマで区切るだけでもタプルとして指定することもできます。
# 空のタプル
empty_tuple = ()
# 要素を持つタプル
number_tuple = (1, 2, 3, 4, 5)
# 括弧なしでもタプル
another_tuple = 1, 2, 3
# 要素が1つのタプル
single_element_tuple = (1,)
タプルの使い方
要素へのアクセス: タプルの要素にはインデックス(0から始まる)を使用してアクセスします。
タプルの長さ:len() 関数でタプルの長さ(要素数)を取得します。
タプルの反復処理:for ループを使用してタプルの各要素に対して操作を行うことができます。
# タプルの作成
fruits = ("apple", "banana", "cherry")
# タプルの長さを取得
print(len(fruits)) # 出力: 3
# 特定の要素にアクセス
print(fruits[1]) # 出力: banana
# タプルの要素を反復処理
for fruit in fruits:
print(fruit)
辞書
辞書とは
辞書とは、キーと値のペアで構成されるデータのまとまりのことです。
辞書内では同じキーを2回使用することができません。
辞書は波括弧 {} を使用して定義され、キーと値は : で区切られます。各キーと値のペアはカンマ , で区切られます。
# 空の辞書
empty_dict = {}
# キーと値を持つ辞書
person = {"name": "John", "age": 30, "city": "New York"}
辞書の使い方
値へのアクセス: 辞書の値にアクセスするには、対応するキーを角括弧 [] の中に指定します。
要素の追加・変更: 新しいキーを角括弧 [] の中に指定し、値を代入することで、要素を追加または変更できます。
要素の削除:del ステートメントを使用して特定のキーとその値を削除できます。
キーの存在確認:in キーワードを使用して、キーが辞書内に存在するか確認できます。
# 辞書の作成
person = {"name": "John", "age": 30, "city": "New York"}
# 特定の値にアクセス
print(person["name"]) # 出力: John
# 新しいキーと値を追加
person["email"] = "john@example.com"
# キーの存在を確認
if "age" in person:
print("Age is present")
# キーと値のペアを削除
del person["city"]
# 辞書のキーと値を反復処理
for key, value in person.items():
print(key, value)
ライブラリ
ライブラリとは、プログラムでよく使われる機能(関数やパッケージ)がまとめられたものを言います。
ライブラリを使用する際は、インポートしてから使用します。
インポートはファイルの最初にまとめて記述しましょう。
import time
import pandas as pd
ライブラリについては、コチラの記事で紹介しています。
⇒ Pythonライブラリを紹介!インポート方法もわかりやすく解説!!
組み込み関数
組み込み関数とは、Pythonですでに用意されている関数のことです。
よく使用する組み込み関数を紹介します。
数値系
組み込み関数 | 処理内容 |
---|---|
sum() | すべての要素の合計を返す |
max() | 複数要素の中から最大値を返す |
min() | 複数要素の中から最小値を返す |
round() | 数値の指定した桁数で四捨五入する |
abs() | 数値の絶対値を返す |
型宣言系
組み込み関数 | 処理内容 |
---|---|
int() | データ型を整数に変換する |
str() | データ型を文字列に変換する |
type() | データ型を返す |
処理系
組み込み関数 | 処理内容 |
---|---|
enumerate() | リストなどの要素にカウンタを追加して返す |
len() | リストなどの要素数を返す |
print() | 出力する |
input() | ユーザーからの入力を文字列として取得する |
range() | 指定された開始点から終了点までの数値を持つリスト(のようなもの)を生成する |
よくある質問
Pythonの「変数」とは何ですか?
変数とは、データを保存するための箱のようなものです。
Pythonでは、変数に名前をつけて、数値やテキストなどのデータを格納できます。
Pythonでの「ループ」とは何ですか?
ループとは、同じコードを繰り返し実行する仕組みです。
for と while が主なループ構文です。
Pythonでの「条件分岐」とは何ですか?
条件分岐とは、ある条件によって処理を分ける仕組みです。
if文を使用します。
おすすめ書籍
まとめ
本記事では、Pythonの必要最低限の基本文法を紹介しました。
記事内の文法を理解すれば、Pythonで自作ツールを作成することができます。
プログラミング初心者に向けて、記事内で基本文法を厳選しているため、高度なプログラムを作成する場合はもっと学習をする必要があります。
Pythonを体系的に学習する方法として、オンラインスクールをおすすめします。
オススメオンラインスクールについては、こちらの記事で紹介しています。
プログラムを書くための開発環境はVScodeがオススメです。
VSCodeのインストール方法については、こちらの記事で解説してます。
Pythonでプログラムをすぐに試したい場合はGoogleColabがおすすめです。
GoogleColabについて、こちらの記事で解説しています。
Pythonを効率的に学習するために
Pythonの学習方法は、書籍やyoutube、スクールなどがありますが、一番のおすすめはオンラインスクールでの学習です。
オンラインスクールを勧める理由は以下の通り。
- 学習カリキュラムが整っているので、体系的に学ぶことができる。
- 時間や場所を選ばずに、自分のペースで学習できる。
- 学習で詰まったときに、気軽に質問できる環境がある。
オンラインスクールについてはコチラの記事で紹介しています。
⇒ これで決まり!Pythonオンラインスクール おすすめ3社を厳選!
2024年10月1日から給付制度が拡充され、最大80%給付されるスクールもあります。
Python学習を効率的に進めるために、スクールの検討をしてみてください。
おすすめオンラインスクール
コスト重視:デイトラ
AIスキル重視:Aidemy PREMIUM
転職重視:キカガク
最後まで読んでいただきありがとうございます!
ご意見、ご感想があれば、コメントを頂けるとうれしいです!!