こんな記事が
年収700万
これからはAI言語だ
と言わんばかりの記事。
内容はさておき、お金は稼ぎたいということで
Pythonエンジニア、目指します。。
ターゲット
- Pythonを学習してみたい方
- Pythonを復習(学び直し)したい方
- Python3エンジニア認定基礎試験を受験・合格したい方
↪︎学習サイトまとめにぶっ飛ぶ(無料サイト全てまとめてます)
目的
- Pythonエンジニアの増加
- 資格(Python3エンジニア認定基礎試験)試験合格に向けた学習の補助
筆者
言語経験・業界経験
| 言語 | 言語歴 | 業界 |
|---|---|---|
| PL/SQL | 3年0か月 | 銀行系システム リース決済システム |
| Java | 1年0か月 | 保険系業務システム |
| Python | 0年3か月 | 自動車部品管理システム |
典型的なバックサイドエンジニア
クラウド経験なし、オンプレのみ
エンジニアとして3年のペーペー
目次
はじめに
新しい言語の学習ハードルってどうしても高くなりがちな気がするのでそのハードルを出来るだけ下げれるような資料としてまとめています。
筆者自身エンジニアとして5つ程の現場を経験してきましたがこれまではとてもレガシーな現場を経験してきました。
最近ようやく、流行りの言語やクラウドを取り扱っている現場に配属され、
個人としても学習する機会が出てきました。
その一環として学習している"Python"について今回1つの資料としてまとめてみましたのでご活用頂けますと幸いです。
2026年1月時点、無料で解ける模擬問題や無料で閲覧可能な有益な情報サイトなど色々とまとめています。
⇨学習の流れ
パイソンとは
Python概要
- Python は 1991年にオランダ人プログラマ Guido van Rossum(グイド・ヴァン・ロッサム) によって公開されたプログラミング言語
- 「読みやすく、書きやすいコード」を最重要視して設計されており、初心者からプロフェッショナルまで幅広く利用
Pythonの歴史的背景
--1991年:Python 0.9.0 公開--
- 例外処理、関数、モジュールなど、現在の Python の基礎がすでに実装されていた
- 「ABC言語」という教育用言語の思想を受け継いでいる
--2000年:Python 2.0 リリース--
- ガーベジコレクションの導入
- Unicode サポート
- Web の普及とともに利用者が急増
--2008年:Python 3.0 リリース--
- 言語仕様を大幅に整理
- Python 2 との互換性をあえて切り捨て、より洗練された言語へ
- 現在は Python 3 系が主流
--現在:AI・データサイエンス時代の主役へ--
- 機械学習(TensorFlow、PyTorch)
- データ分析(Pandas、NumPy)
- Web 開発(Django、FastAPI)
- 自動化(Selenium、RPA)
何が出来る
Python は汎用プログラミング言語なので、ほぼ何でもできる。
代表的な用途をコード例付きで紹介しておきます。
データ分析・機械学習
- Pandas を使ったデータ分析
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.describe())
機械学習(scikit-learn)
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
print(model.predict([[100]]))
Webアプリ開発
- Flask を使った超シンプルなWebアプリ
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Python Web!"
app.run()
自動化(スクレイピング・RPA)
- BeautifulSoup を使ったスクレイピング
import requests
from bs4 import BeautifulSoup
html = requests.get("https://example.com").text
soup = BeautifulSoup(html, "html.parser")
print(soup.title.text)
ゲーム開発
- Pygame を使った簡単なゲームループ
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
IoT・ハードウェア制御(Raspberry Pi)
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
while True:
GPIO.output(18, True)
time.sleep(1)
GPIO.output(18, False)
time.sleep(1)
AI・画像認識
- TensorFlow を使った簡単なモデル構築
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(32, activation="relu"),
tf.keras.layers.Dense(1)
])
model.compile(optimizer="adam", loss="mse")
Pythonで出来ることまとめ
-
データ分析:Pandas, NumPy, scikit-learn -
AI/機械学習:TensorFlow, PyTorch -
Web開発:Django, Flask, FastAPI -
自動化:Selenium, BeautifulSoup -
ゲーム:Pygame -
IoT:Raspberry Pi
問題にチャレンジ
Python導入として問題を解いてみる。
【問題1】
次のコードの出力結果を答えてください。
x = 3
y = 5
print(x + y)
答えを見る
答えは 8 です。
8
【問題2】
次のコードの出力結果を答えてください。
text = "Python"
print(text[0])
答えを見る
答えは P です。
P
【問題3】
次のコードの出力結果を答えてください。
age = 20
if age >= 18:
print("成人です")
else:
print("未成年です")
答えを見る
答えは 成人です です。
成人です
【問題4】
次のリストから「りんご」を取り出して表示するコードとして正しいものを1つ選んでください。
fruits = ["りんご", "バナナ", "みかん"]
print(fruits[0])
答えを見る
答えは りんご です。
りんご
【問題5】
次のコードの出力結果を答えてください。
for i in range(3):
print(i)
答えを見る
答えは 0 1 2 です。
0
1
2
学習タイプ
目指す方向性を明確にし、学習したい体系(タイプ)で下記リンクへジャンプ。
体系的な学習
基本を理解
Pythonとは
Pythonは1991年に誕生したプログラミング言語で、次のような特徴を持つ。
- 読みやすい・書きやすい
- 文法がシンプルで、英語の文章に近い
- インデント(字下げ)で構造を表すため、自然と読みやすいコードになる
- 幅広い用途 ⇨ 参考
- 初心者に優しい
- 学習コストが低い
- エラーが比較的読みやすい
- コミュニティが大きく、情報が豊富
Pythonを動かしてみよう
- printで出力してみる
※Google Colaboratory

↪︎セットアップについてはこちら
Hello, Python!
# Pythonでは print() が最も基本的な関数。
# 文字列は " " または ' ' で囲む。
変数とデータ型
変数とは
- 値に名前をつけて保存
x = 10
name = "Taro"
is_ok = True
# Pythonは 代入した瞬間に型が決まる(動的型付け)。
主なデータ型
| 型 | 例 | 説明 |
|---|---|---|
| int | 10 | 整数 |
| float | 3.14 | 小数 |
| str | "Hello" | 文字列 |
| bool | True / False | 真偽値 |
| list | [1,2,3] | 配列 |
| dict | {"a":1} | 辞書 |
型は type() で確認できる。
※Google Colaboratory

↪︎セットアップについてはこちら
print(type(10)) # <class 'int'>
演算
- 数値の演算
a = 10
b = 3
print(a + b) # 13
print(a / b) # 3.333...
print(a // b) # 3(切り捨て)
print(a % b) # 1(余り)
- 文字列の演算
print("Py" + "thon") # Python
print("ha" * 3) # hahaha
条件分岐(if文)
- 基本形(if ~ else)
age = 20
if age >= 18:
print("成人です")
else:
print("未成年です")
# Pythonは インデント(スペース4つ)でブロックを表す。
- elif
score = 75
if score >= 90:
print("A")
elif score >= 70:
print("B")
else:
print("C")
繰り返し(for / while)
- for文
for i in range(5):
print(i)
# range(5) は 0〜4 を順に取り出す。
- while文
count = 0
while count < 3:
print(count)
count += 1
リスト・辞書などのデータ構造
- リスト
fruits = ["apple", "banana", "orange"]
print(fruits[0]) # apple
# よく使う操作
# python
fruits.append("grape")# 末尾に追加
fruits.remove("banana")# 最初にヒットした対象を削除
- 辞書(dict)
person = {"name": "Taro", "age": 20}
print(person["name"]) # Taro
関数
- 関数を定義する
def greet(name):
print("Hello,", name)
greet("Taro")
- 戻り値
def add(a, b):
return a + b
result = add(3, 5)
print(result)
モジュールとライブラリ
- import
import math
print(math.sqrt(16)) # 4.0
- よく使う標準ライブラリ
import math
import random
import datetime
import os
import sys
math #(数学)
random #(乱数)
datetime #(日付)
os / sys #(システム操作)
実践:短いコードを読んでみよう
例1:合計値を計算するコード
numbers = [1, 2, 3, 4, 5]
total = 0
for n in numbers:
total += n
print(total)
# 読み方のポイント
# numbers はリスト
# totalを宣言&初期化
# for n in numbers: で1つずつ取り出す
# total += n は total = total + n の省略形
例2:条件で分類するコード
ages = [12, 20, 17, 30]
for age in ages:
if age >= 18:
print(age, "→ 成人")
else:
print(age, "→ 未成年")
まとめ : ここまで学べば「Pythonのソースが読める」
この資料で学んだ内容は、Pythonの基礎文法のほぼ全て。
- 変数
- データ型
- 条件分岐
- 繰り返し
- リスト・辞書
- 関数
- モジュール
グーグルコラボレートリーセットアップ
設定手順
検索エンジン : 「グーグルドライブ」検索
グーグルログイン : クリック
グーグルドライブ : 左上の3本線をクリックし、下記画面を確認
選択:「+新規」
選択:「その他」
選択: 「Google Colaboratory」
選択: 「アプリを追加」※ない場合 : 「Google Colaboratory」をインストール
インストール
検索:「Google Colab」・・・
試し実行
- 入力して実行してみる(三角ボタン押下)
str_test = 'Py' 'thon'
print(str_test)
動作確認
| レベル | 内容 |
|---|---|
| 初級編 | print、変数、計算、条件分岐、ループ |
| 中級編 | 関数、モジュール化、クラス、外部ファイル、簡単なデータ分析 |
初級編
--基本(出力・変数・計算)--
1. 「Hello World」を出力する
print("Hello, Google Colab!")
2. 変数を使ってみる
name = "Taro"
age = 25
print("名前:", name)
print("年齢:", age)
3. 計算してみる
a = 10
b = 3
print("足し算:", a + b)
print("引き算:", a - b)
print("掛け算:", a * b)
print("割り算:", a / b)
4. リスト(配列)を使う
fruits = ["apple", "banana", "orange"]
for f in fruits:
print(f)
5. 条件分岐
score = 75
if score >= 80:
print("合格!")
else:
print("もう少し!")
中級編
--関数・外部ファイル・モジュール化--
1. 関数を定義して呼び出す
def greet(name):
return f"こんにちは、{name} さん!"
print(greet("Taro"))
2. 複数の関数を組み合わせる
def add(a, b):
return a + b
def show_result(a, b):
result = add(a, b)
print(f"{a} + {b} = {result}")
show_result(10, 20)
3. 外部ファイル(.py)を作って呼び出す
Google Colab では、セルでファイルを作成できます。
▼ module.py を作成
def hello(name):
return f"Hello, {name}!"
def multiply(a, b):
return a * b
上記で作成したモジュールを読み込む
import module
print(module.hello("Colab"))
print(module.multiply(6, 7))
4. クラスを使ってみる
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return f"{self.name} です。よろしく!"
p = Person("Hanako")
print(p.greet())
5. 簡単なデータ分析(Pandas)
import pandas as pd
data = {
"name": ["Taro", "Hanako", "Ken"],
"age": [20, 25, 30]
}
df = pd.DataFrame(data)
df
資格取得
試験概要
名称:Python3 エンジニア認定基礎試験
形式:選択式(CBT)
試験時間:60分
合格ライン:70%以上
出題範囲:公式教科書「Python チュートリアル」 ⇨ 参考
学習の流れ
※1 ⇨ 無料動画
※2 ⇨ 無料模擬試験
※3 ⇨ 非常に重要。Pythonについての疑問点を深ぼる。
無料動画
- 動画資料で基本文法や実際にコードを動かした際の挙動を確かめる事ができる
| チャンネル | リンク | 時間 | 本数 |
|---|---|---|---|
| はやたす | https://www.youtube.com/watch?v=W1cnEb8LwVU&list=WL | 2時間 | 1本 |
| Pythonアカデミア | https://www.youtube.com/watch?v=XETuFcMhHfg&list=PLHPmh91LsTgyDBFW2XIXZG2BvV6QXilEg | 10分前後 | 34本 |
無料模擬試験
- 問題を解いて間違った問題についてひたすら復習していく
※周辺知識についても拾っていけると尚良し
| サイト名 | リンク | 問題数 |
|---|---|---|
| PRIME STUDY | https://study.prime-strategy.co.jp/ | 第一回 :40問 第二回 :40問 第三回 :40問 |
| ExamApp | https://python-basic.com/ | 初級 :40問 中級 :40問 上級 :40問 |
| PyQ(※1) | https://lpm.pyq.jp/qualify_edbasic_entry/ | 模擬試験:40問 |
| ディープロ(※2) | https://diver.diveintocode.jp/dive_into_exam/1 | 模擬試験:40問 |
| SEmedia | https://se-media.jp/python/python-engineer-basic/6932/#index_id2 | 演習問題①〜④:①:5問 ②:5問 ③:6問 ④:7問 |
※1・・・無料登録で3日間の体験可能
※2・・・無料登録で1週間の体験可能。有料verの全体の問題数から毎回ランダムで40問出してくる為、毎回解くたびに数問だけ新しい問題が出てくるので何回も解くことをお奨め
文法の基礎
print と変数
msg = "Hello"
print(msg)
| 型 | 例 | 説明 |
|---|---|---|
| int | 10 | 整数 |
| float | 3.14 | 小数 |
| str | "Hello" | 文字列 |
| bool | True / False | 真偽値 |
| list | [1,2,3] | 配列 |
| dict | {"a":1} | 辞書 |
※再登場
【ポイント】
- list と tuple の違い
- dict のキーと値
- 文字列のスライス
条件分岐とループ(確実に出る)
if 文
x = 10
if x > 5:
print("大きい")
for 文
for i in range(3):
print(i)
while 文
count = 0
while count < 3:
print(count)
count += 1
【ポイント】
- range() の挙動
- break / continue の違い
関数
関数定義
def add(a, b):
return a + b
デフォルト引数
def greet(name="Guest"):
print("Hello", name)
# greet()
# nameについては省略しても呼出可能
# 出力結果:Hello Guest
可変長引数
def func(*args):
print(args)
モジュールとパッケージ
import
import math
print(math.sqrt(16))
from import
from datetime import date
print(date.today())
【ポイント】
- import の仕組み
- モジュールとパッケージの違い
ファイル操作
with open("sample.txt", "r") as f:
data = f.read()
print(data)
クラス
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, {self.name}"
標準ライブラリ(広く浅く)
-
math:数学関数 -
random:乱数生成 -
datetime:日付操作 -
sys:実行環境情報
問題にチャレンジ30問
【問題1】
次のコードの出力結果を答えてください。
x = 10 / 2
print(type(x))
A: class 'int'
B: class 'float'
C: class 'str'
D: class 'complex'
答えを見る
答えは B です。
class 'float'
【問題2】
次のコードの出力結果を答えてください。
lst = [1, 2, 3]
lst.extend([4, 5])
print(len(lst))
A: 3
B: 4
C: 5
D: エラーになる
答えを見る
答えは C です。
5
【問題3】
次のコードの出力結果を答えてください。
d = {"x": 1, "y": 2}
print(d.get("z"))
A: 0
B: None
C: False
D: エラーになる
答えを見る
答えは B です。
None
【問題4】
次の Python コードのうち、例外処理として正しい構文を答えてください。
A
try:
x = int("abc")
except ValueError:
print("error")
B
try:
x = int("abc")
catch ValueError:
print("error")
C:
どちらも正しい
D:
どちらも誤り
答えを見る
答えは A です。
【問題5】
次のコードの出力結果を答えてください。
s = "Hello Python"
print(s.split())
A: ["Hello Python"]
B: ["Hello", "Python"]
C: ("Hello", "Python")
D: ["H", "e", "l", "l", "o"]
答えを見る
答えは B です。
["Hello", "Python"]
【問題6】
次のうち、タプルに関する説明として正しいものを選びなさい。
A: 要素の追加ができる
B: 要素の削除ができる
C: イミュータブル(変更不可)である
D: リストと同じメソッドをすべて持つ
答えを見る
答えは C です。
解説:タプルはイミュータブルであり、作成後に要素の変更・追加・削除はできない。
【問題7】
次のコードの出力結果を答えてください。
for i in range(1, 5):
print(i, end=" ")
A: 1 2 3 4
B: 1 2 3 4 5
C: 0 1 2 3 4
D: 2 3 4 5
答えを見る
答えは A です。
0 1 2 3 4
【問題8】
次のうち、False と評価されるものを選びなさい。
A: "0"
B: []
C: [0]
D: "False"
答えを見る
答えは B です。
解説:空のリスト [] は False と評価される。
【問題9】
次のコードの出力として正しいものを選びなさい。
def func(x, y=3):
return x + y
print(func(2))
A: 2
B: 3
C: 5
D: エラーになる
答えを見る
答えは C です。
3
【問題10】
次のコードの出力結果を答えてください。
s = "Python"
print(s[1:4])
A: Pyt
B: yth
C: ytho
D: Pyth
答えを見る
答えは B です。
yth
【問題11】
次のコードの出力結果を答えてください。
lst = [10, 20, 30, 40, 50]
print(lst[1:4])
A: [10, 20, 30]
B: [20, 30, 40]
C: [20, 30, 40, 50]
D: [30, 40, 50]
答えを見る
答えは B です。
[20, 30, 40]
【問題12】
次のコードの出力結果を答えてください。
d = {"a": 1, "b": 2}
d.update({"b": 5})
print(d["b"])
A: 2
B: 5
C: None
D: エラーになる
答えを見る
答えは B です。
5
【問題13】
次のコードの出力結果を答えてください。
print(int(3.9))
A: 3
B: 4
C: 3.9
D: エラーになる
答えを見る
答えは A です。
3
【問題14】
次のリストから「りんご」を取り出して表示するコードとして正しいものを1つ選んでください。
s = "Python"
print(s.find("t"))
A: 1
B: 2
C: -1
D: 0
答えを見る
答えは B です。
2
【問題15】
次のコードの出力結果を答えてください。
print(3 in [1, 2, 3, 4])
A: True
B: False
C: None
D: エラーになる
答えを見る
答えは A です。
True
【問題16】
次のコードの出力結果を答えてください。
total = 0
for i in range(3):
total += i
print(total)
A: 3
B: 2
C: 1
D: 6
答えを見る
答えは A です。
3
【問題17】
次のコードの出力結果を答えてください。
def f():
return
print(f())
A: 0
B: ""
C: None
D: エラーになる
答えを見る
答えは C です。
None
【問題18】
次のコードの出力結果を答えてください。
t = (5)
print(type(t))
A: class 'tuple'
B: class 'int'
C: class 'list'
D: class 'str'
答えを見る
答えは B です。
class 'int'
【問題19】
次のうち、set の特徴として正しいものを選びなさい。
A: 順序を保持する
B: 重複を許さない
C: インデックスでアクセスできる
D: 変更不可である
答えを見る
答えは B です。
解説:set は重複を持たないコレクション。
【問題20】
次のコードの出力結果を答えてください。
i = 0
while i < 3:
i += 1
print(i)
A: 0
B: 1
C: 2
D: 3
答えを見る
答えは D です。
3
【問題21】
次のコードの出力結果を答えてください。
lst = [x * 2 for x in range(3)]
print(lst)
A: [1, 2, 3]
B: [0, 2, 4]
C: [2, 4, 6]
D: [0, 1, 2]
答えを見る
答えは B です。
[0, 2, 4]
【問題22】
次のコードの出力結果を答えてください。
d = {"a": 1, "b": 2}
print(list(d.keys()))
A: ["a", "b"]
B: [1, 2]
C: [("a", 1), ("b", 2)]
D: ["a": 1, "b": 2]
答えを見る
答えは A です。
["a", "b"]
【問題23】
次のコードの出力結果を答えてください。
s = "banana"
print(s.replace("a", "o"))
A: bonono
B: banana
C: bnn
D: boonoo
答えを見る
答えは A です。
bonono
【問題24】
次のうち、len() が使用できるものを選びなさい。
A: 整数
B: 浮動小数点数
C: リスト
D: 真偽値
答えを見る
答えは C です。
解説:len() はシーケンスやコレクションに使える。
【問題25】
次のコードの出力結果を答えてください。
int("abc")
A: TypeError
B: ValueError
C: KeyError
D: IndexError
答えを見る
答えは B です。
ValueError
【問題26】
次のコードの出力結果を答えてください。
a, b = (10, 20)
print(a + b)
A: 10
B: 20
C: 30
D: エラーになる
答えを見る
答えは C です。
30
【問題27】
次のコードの出力結果を答えてください。
s = set([1, 2, 2, 3])
print(len(s))
A: 2
B: 3
C: 4
D: エラーになる
答えを見る
答えは B です。
3
【問題28】
次のうち、True と評価されるものを選びなさい。
A: 0
B: ""
C: " "
D: []
答えを見る
答えは C です。
解説:空白1文字の文字列は空ではないため True。
【問題29】
次のリストから「りんご」を取り出して表示するコードとして正しいものを1つ選んでください。
def f():
return 1, 2
x = f()
print(type(x))
A: class 'list'
B: class 'tuple'
C: class 'dict'
D: class 'set'
答えを見る
答えは B です。
class 'tuple'
【問題30】
次のコードの出力結果を答えてください。
print("py" * 3)
A: pypy
B: pypy3
C: pypypy
D: py3
答えを見る
答えは C です。
pypypy
【問題31】
次のコードの出力結果を答えてください。
x = (1,)
print(x)
A: 1
B: (1)
C: (1,)
D: [1]
答えを見る
答えは C です。
(1,)
参考
参考書サイト
| サイト名 | リンク | 内容 |
|---|---|---|
| Pythonチュートリアル | https://docs.python.org/ja/3/tutorial/ | 『Pythonチュートリアル』の参考書の内容 ~Python チュートリアル — Python 3.14.2 ドキュメント ~ |
申込手順
| / | サイト名 | リンク | 内容 |
|---|---|---|---|
| 1 | オデッセイ公式 | https://cbt.odyssey-com.co.jp/pythonic-exam/python3basic.html | 概要:Python 3 エンジニア認定基礎試験 |
| 2 | 試験会場を選択 |
https://cbt.odyssey-com.co.jp/place/ ↪︎https://otc.odyssey-com.co.jp/ |
場所:試験会場 |
| 3 | オデッセイ公式 | https://cbt.odyssey-com.co.jp/cbt/registration/index.action | 登録:オデッセイID登録(※1) |
| 4 | オデッセイ公式 | https://otc.odyssey-com.co.jp/exam/receipt.php | 試験受験後の領収書発行(※2) |
※1・・・注意が必要なのが会場によっては「7営業日前までに入金」「〇〇曜日は開催なし」などあるので前もっての試験申込を推奨
※2・・・必要な方は忘れずに クレジット or 銀行振込のみの発行みたいです
無限に問題を解く
AIに問題を作ってもらって解きまくろう!
問題作成依頼
- Python3エンジニア認定基礎試験に出てきそうな問題を作ってください。 更に10問
- 次は一問一答形式で10問お願いします。少し難易度を上げてください
- Python3エンジニア認定基礎試験に出てきそうな問題を作ってください。5問 難易度を上げて
AIへ投げかけ
さいごに
継続的な学習と学習の延長で資格取得に活用頂ければと思います。
最近、「Python3エンジニア認定基礎試験」を取得しましたが初めて参考書を購入せずに資格を取得出来ました。
今までは決まって参考書を購入してましたが今時、ウェブ上に転がっている情報だけで資格取得出来ちゃうんですね、、、
今回学習していて特に良かった点は「Google Colaboratory」を使用して実際に動作確認しながら学習出来た点でした。どうしても環境構築というハードルの高い工程が存在しますが「Google Colaboratory」が使用出来た為、モチベーションを維持したまま学習を進める事が出来ました。
過去投稿










