ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Python 文法の特徴
Python は シンプルで読みやすい構文を最大の特徴とする言語です。 C 系言語の { } によるブロック表現ではなく、インデント(字下げ)でブロックを表現します。
# Hello World
print("Hello, World!")
# 変数(型宣言不要)
name = "Taro"
age = 30
pi = 3.14
is_active = True
# 型ヒント(推奨、Python 3.5+)
def greet(name: str, age: int) -> str:
return f"{name} ({age} 歳) こんにちは"
print(greet("Hanako", 25))
基本データ型
| 型 | 例 | 用途 | ミュータブル |
|---|---|---|---|
int | 42 | 整数(多倍長精度) | 不可 |
float | 3.14 | 倍精度浮動小数点 | 不可 |
str | "hello" | Unicode 文字列 | 不可 |
bool | True / False | 真偽値 | 不可 |
list | [1, 2, 3] | 順序付きの可変配列 | 可 |
tuple | (1, 2, 3) | 順序付きの不変配列 | 不可 |
dict | {"a": 1} | キー/値マップ | 可 |
set | {1, 2, 3} | 重複なし集合 | 可 |
None | None | 値なし | - |
# リスト操作
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
fruits[0] = "grape"
print(fruits[1:3]) # ['banana', 'cherry']
print(len(fruits)) # 4
# 辞書
user = {"name": "Taro", "age": 30}
user["email"] = "taro@example.com"
print(user.get("phone", "未登録"))
# タプル(イミュータブル)
point = (10, 20)
x, y = point # アンパック
# セット(集合演算)
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b) # {2, 3} 積集合
print(a | b) # {1, 2, 3, 4} 和集合
print(a - b) # {1} 差集合
演算子
| 分類 | 演算子 | 例 |
|---|---|---|
| 算術 | + - * / // % ** | 7 // 2 = 3、2 ** 10 = 1024 |
| 比較 | == != < > <= >= | a == b |
| 論理 | and or not | x > 0 and x < 10 |
| 所属 | in / not in | "a" in ["a","b"] |
| 同一性 | is / is not | x is None |
| 代入 | = += -= *= /= | cnt += 1 |
| セイウチ | := (3.8+) | if (n := len(a)) > 10: |
制御フロー
# if / elif / else
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
# for ループ
for i in range(5): # 0 から 4
print(i)
for fruit in ["apple", "banana"]:
print(fruit)
for i, fruit in enumerate(["apple", "banana"]):
print(i, fruit)
# while
n = 0
while n < 5:
n += 1
if n == 3:
continue # スキップ
if n == 4:
break # 抜ける
print(n)
# リスト内包表記(Pythonic)
squares = [x ** 2 for x in range(10)]
evens = [x for x in range(20) if x % 2 == 0]
# 辞書内包表記
sq_dict = {x: x ** 2 for x in range(5)}
# match 文 (3.10+)
def http_status(code: int) -> str:
match code:
case 200: return "OK"
case 404: return "Not Found"
case 500: return "Server Error"
case _: return "Unknown"
関数 (def / lambda)
# 基本
def add(a: int, b: int) -> int:
return a + b
# デフォルト引数
def greet(name: str, msg: str = "Hello") -> str:
return f"{msg}, {name}!"
greet("Taro") # Hello, Taro!
greet("Taro", msg="Hi") # キーワード引数
# 可変長引数
def total(*args: int) -> int:
return sum(args)
total(1, 2, 3, 4) # 10
# キーワード可変長
def config(**kwargs):
for k, v in kwargs.items():
print(f"{k} = {v}")
config(host="localhost", port=8080)
# lambda(無名関数)
double = lambda x: x * 2
print(double(5)) # 10
# 高階関数
nums = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, nums))
evens = list(filter(lambda x: x % 2 == 0, nums))
クラス
class User:
"""ユーザクラス"""
# クラス変数
count = 0
def __init__(self, name: str, age: int):
# インスタンス変数
self.name = name
self.age = age
User.count += 1
def greet(self) -> str:
return f"こんにちは、{self.name} です"
def __str__(self) -> str:
return f"User({self.name})"
@classmethod
def total(cls) -> int:
return cls.count
@staticmethod
def is_adult(age: int) -> bool:
return age >= 18
# 継承
class AdminUser(User):
def __init__(self, name: str, age: int, level: int):
super().__init__(name, age)
self.level = level
def greet(self) -> str:
return f"管理者 {self.name} (Lv.{self.level})"
# dataclass (3.7+) — ボイラープレート削減
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float = 0.0
p = Point(1.0, 2.0)
print(p) # Point(x=1.0, y=2.0)
f-string と文字列操作
name = "Taro"
age = 30
pi = 3.14159
# f-string (3.6+) — 推奨
s1 = f"{name} は {age} 歳"
s2 = f"円周率は {pi:.2f}" # 小数点 2 桁
s3 = f"{age:>5d}" # 右寄せ 5 桁
s4 = f"{age:0>5d}" # ゼロ埋め: 00030
# 古い書き方
s5 = "{} は {} 歳".format(name, age)
s6 = "%s は %d 歳" % (name, age)
# 主要メソッド
"Hello".upper() # "HELLO"
" abc ".strip() # "abc"
"a,b,c".split(",") # ["a","b","c"]
",".join(["a","b","c"]) # "a,b,c"
"hello".replace("l", "L") # "heLLo"
"abc".startswith("ab") # True
例外処理と with 文
# try / except / finally
try:
n = int(input())
result = 10 / n
except ZeroDivisionError:
print("0 で割れません")
except ValueError as e:
print(f"数値変換エラー: {e}")
except Exception as e:
print(f"その他: {e}")
else:
print(f"成功: {result}")
finally:
print("必ず実行")
# with 文(リソース自動解放)
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
# f.close() 不要
# 複数 with
with open("in.txt") as fin, open("out.txt", "w") as fout:
fout.write(fin.read())
PEP 8 (公式スタイルガイド)
- インデントは スペース 4 個(タブ禁止)
- 1 行 79 文字以内(docstring 72 文字)
- 変数・関数は
snake_case、クラスはPascalCase、定数はUPPER_CASE - import は 標準ライブラリ → サードパーティ → 自作の順
- 関数の間は 2 行空ける、メソッドの間は 1 行
black/ruff等の formatter で自動整形が現代的
FAQ
Q: なぜインデントで構文を表すのか?
A: 「読みやすいコード = 動くコード」の哲学。{ } 不要で視覚的に構造がわかります。
Q: 型ヒントは必須?
A: 任意ですが、規模が大きくなるほど推奨。mypy / pyright で静的解析できます。
Q: print デバッグから抜けたい
A: logging モジュール、pdb(標準デバッガ)、VS Code のデバッガを使いましょう。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?