Pythonの書き方
よく使う文法・タグ・操作を、短い例で。44項目から探せます。
44 / 44項目
変数と表示
値に名前を付けて、結果を確認します。
name = "海"
print(name)条件分岐と字下げ
条件に応じて、処理を分けます。
age = 20
if age >= 18:
print("18歳以上です")
else:
print("18歳未満です")繰り返しとrange
項目ごと、回数ごとに処理を行います。
for number in range(1, 4):
print(number)関数
繰り返し使う処理をまとめます。
def add(a, b):
return a + b
print(add(2, 3))リストと辞書
一覧と、名前付きの情報を扱います。
fruits = ["りんご", "みかん"]
print(fruits[0])文字列とf-string
値を組み合わせて、分かりやすい文章にします。
name = "海"
print(f"こんにちは、{name}さん")ファイルを読む
保存してある文章を、プログラムで使います。
with open("notes.txt", encoding="utf-8") as file:
print(file.read())コメント
コードにメモを残す。
# 名前を表示する
print("海")計算・代入
四則演算、整数除算、余り、累乗。
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(2 ** 3)
total = 10
total += 2比較・論理演算
条件を組み合わせる。
age = 20
print(age == 20)
print(age >= 18 and age < 65)
print(not False)None・is
値がない状態を確認する。
name = None
if name is None:
print("名前なし")型変換・type
数値や文字列に変換する。
print(int("20") + 1)
print(float("1.5"))
print(str(20))
print(type(20))入力
入力された文字列を受け取る。
name = input("名前:")
print(name)inputの結果は文字列です。数値ならintなどで変換します。
文字列の結合・長さ
文字をつなぎ、文字数を調べる。
name = "海"
print("こんにちは、" + name)
print(len(name))文字列の操作
空白除去、分割、置換、結合。
print(" 海 ".strip())
print("海,空".split(","))
print("海です".replace("海", "空"))
print("、".join(["海", "空"]))スライス
文字列やリストの一部分を取り出す。
text = "hello"
print(text[0])
print(text[1:4])
print(text[-1])in・三項の書き方
含まれるか調べ、条件で値を選ぶ。
print("海" in ["海", "空"])
age = 20
label = "成人" if age >= 18 else "未成年"while
条件が成立する間、繰り返す。
count = 0
while count < 3:
print(count)
count += 1break・continue
繰り返しを終了、または一回分を飛ばす。
for n in [1, 2, 3, 4]:
if n == 2:
continue
if n == 4:
break
print(n)enumerate・zip
番号付きで処理し、複数の一覧を並行処理する。
for i, name in enumerate(["海", "空"], start=1):
print(i, name)
for name, age in zip(["海", "空"], [20, 21]):
print(name, age)引数の初期値・名前付き引数
省略時の値や引数名を使う。
def greet(name="ゲスト"):
return "こんにちは、" + name
print(greet(name="海"))可変長引数
複数の引数をまとめて受け取る。
def show(*names):
for name in names:
print(name)
show("海", "空")lambda
小さな関数を一行で書く。
double = lambda n: n * 2
print(double(3))pass
何もしない処理を置く。
def later():
passmatch
値のパターンで分岐する。
color = "red"
match color:
case "red":
print("赤")
case _:
print("その他")Python 3.10以降で使えます。
リストの追加・削除
末尾に追加し、最後の値を取り除く。
items = ["りんご"]
items.append("みかん")
last = items.pop()リスト内包表記
各値を変えて新しいリストを作る。
doubled = [n * 2 for n in [1, 2, 3]]
adults = [n for n in [15, 20, 30] if n >= 18]辞書の読み書き・get
キーで値を取得し、変更する。
user = {"name": "海"}
user["age"] = 20
print(user.get("nickname", "名無し"))辞書の反復
キーと値を順に取り出す。
user = {"name": "海", "age": 20}
for key, value in user.items():
print(key, value)タプル・アンパック
複数の値をまとめ、変数に分ける。
pair = ("海", 20)
name, age = pair集合・重複除去
同じ値を一つにまとめる。
names = {"海", "空", "海"}
names.add("陸")
print(len(names))sorted・sort
並べ替えたコピー、または元のリストを変更。
nums = [3, 1, 2]
print(sorted(nums))
nums.sort()sum・min・max
合計、最小、最大を求める。
nums = [1, 2, 3]
print(sum(nums))
print(min(nums))
print(max(nums))例外処理
エラーに応じて処理を分ける。
try:
number = int("海")
except ValueError:
print("数字を入力してください")
finally:
print("終了")raise
自分で例外を発生させる。
age = -1
if age < 0:
raise ValueError("年齢は0以上です")ファイルへ書き込む
文字列を保存する。
with open("notes.txt", "w", encoding="utf-8") as file:
file.write("こんにちは")wは既存ファイルの内容を上書きします。追加ならaを使います。
import・from
別のモジュールの機能を使う。
import math
from datetime import date
print(math.sqrt(9))
print(date.today())JSON
JSON文字列と辞書を変換する。
import json
text = json.dumps({"name": "海"}, ensure_ascii=False)
user = json.loads(text)CSV
CSVの各行を読む。
import csv
with open("data.csv", newline="", encoding="utf-8") as file:
for row in csv.reader(file):
print(row)pathlib
ファイルの場所や存在を扱う。
from pathlib import Path
path = Path("notes.txt")
print(path.exists())class
データと処理を一つにまとめる。
class User:
def __init__(self, name):
self.name = name
def greet(self):
return "こんにちは、" + self.name
user = User("海")実行の入口
直接実行された場合だけ処理する。
def main():
print("こんにちは")
if __name__ == "__main__":
main()型ヒント
引数と返り値の型を示す。
def add(a: int, b: int) -> int:
return a + bPython自体はこの型を実行時に強制しません。
yield
値を一つずつ返す。
def numbers():
for n in range(3):
yield n
for n in numbers():
print(n)