ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
型変換系
# int(): 整数化
int('42') # 42
int('1010', 2) # 10 — 2 進数として解釈
int('ff', 16) # 255 — 16 進数
int(3.7) # 3 — 切り捨て(負方向ではなく 0 方向)
int(-3.7) # -3 — 同じく 0 方向
# float(): 浮動小数化
float('3.14') # 3.14
float('1e3') # 1000.0
float('inf') # inf
float('nan') # nan
# complex(): 複素数
complex(2, 3) # (2+3j)
complex('1+2j') # (1+2j)
絶対値・丸め
abs(-5) # 5
abs(-3.14) # 3.14
abs(3 + 4j) # 5.0 — 複素数の絶対値
# round()
round(3.7) # 4
round(3.5) # 4 — 偶数丸め(銀行家丸め)!
round(2.5) # 2 — 同じく偶数側
round(3.14159, 2) # 3.14 — 小数点以下 2 桁
round(1234, -2) # 1200 — 100 の位で丸め
# 切り捨て / 切り上げ
import math
math.floor(3.7) # 3
math.ceil(3.2) # 4
math.trunc(3.7) # 3 — 0 方向(int() と同じ)
round() の罠(偶数丸め)
Python 3 の round() は銀行家丸め(Banker's rounding)。0.5 のとき偶数側に丸めるため、慣れた四捨五入と結果が違うことがあります:
round(0.5) # 0 — ★期待: 1
round(1.5) # 2
round(2.5) # 2 — ★期待: 3
round(3.5) # 4
# 教科書通りの四捨五入が欲しい場合
import math
def round_half_up(x, ndigits=0):
p = 10 ** ndigits
return math.floor(x * p + 0.5) / p
round_half_up(0.5) # 1
round_half_up(2.5) # 3
# または Decimal で
from decimal import Decimal, ROUND_HALF_UP
Decimal('2.5').quantize(Decimal('1'), rounding=ROUND_HALF_UP)
# Decimal('3')
累乗と商・剰余
# pow(): 累乗
pow(2, 10) # 1024
2 ** 10 # 1024 — 演算子も同じ
pow(2, 10, 1000) # 24 — (2 ** 10) % 1000 ★モジュロ高速
# divmod(): 商と剰余を同時に
divmod(17, 5) # (3, 2)
# 内訳: 17 // 5 == 3, 17 % 5 == 2
q, r = divmod(100, 7)
print(q, r) # 14 2
# 時刻計算で便利
secs = 12345
h, rem = divmod(secs, 3600)
m, s = divmod(rem, 60)
print(f'{h}h {m}m {s}s') # 3h 25m 45s
集約: min / max / sum
sum([1, 2, 3, 4]) # 10
sum([1, 2, 3], 100) # 106 — 初期値指定
min(3, 1, 4, 1, 5) # 1
max([3, 1, 4, 1, 5]) # 5
# key 関数指定
words = ['apple', 'banana', 'kiwi']
min(words, key=len) # 'kiwi' — 長さ最小
max(words, key=len) # 'banana' — 長さ最大
# default 指定(空でもエラー出さない)
min([], default=0) # 0
# min([]) # ValueError
# 浮動小数の総和は誤差に注意 → math.fsum
import math
sum([0.1] * 10) # 0.9999999999999999
math.fsum([0.1] * 10) # 1.0 — 高精度
進数変換
bin(10) # '0b1010'
oct(10) # '0o12'
hex(255) # '0xff'
# プレフィックス除去
bin(10)[2:] # '1010'
f'{10:b}' # '1010' — f-string
f'{10:08b}' # '00001010' — 0 埋め 8 桁
f'{255:x}' # 'ff'
f'{255:X}' # 'FF' — 大文字
# 文字列 → 整数(任意の基数)
int('1010', 2) # 10
int('ff', 16) # 255
int('0b1010', 0) # 10 — プレフィックスから自動判定
正確な計算: Decimal と Fraction
金融計算など誤差を許容できない場面では float ではなく Decimal を使います:
# float は 2 進数なので 10 進小数を正確に表せない
0.1 + 0.2 # 0.30000000000000004
from decimal import Decimal, getcontext
Decimal('0.1') + Decimal('0.2') # Decimal('0.3') — 正確
# 丸め
getcontext().prec = 10
Decimal(1) / Decimal(3)
# Decimal('0.3333333333')
# 分数
from fractions import Fraction
Fraction(1, 3) + Fraction(1, 6)
# Fraction(1, 2)
Fraction('0.1') + Fraction('0.2')
# Fraction(3, 10) — 0.3 そのもの
数値系関数一覧表
| 関数 | 用途 | 備考 |
|---|---|---|
int(x[, base]) | 整数化 | 0 方向に切り捨て |
float(x) | 浮動小数化 | 'inf' / 'nan' 可 |
complex(r, i) | 複素数 | |
abs(x) | 絶対値 | 複素数なら大きさ |
round(x, n) | 丸め | ★偶数丸め |
pow(x, y[, m]) | 累乗 | 第 3 引数で剰余 |
divmod(a, b) | (商, 余り) | |
min/max | 最小/最大 | key, default 指定可 |
sum | 総和 | 初期値指定可 |
bin/oct/hex | 進数変換 | 文字列を返す |
FAQ
Q: round の偶数丸めを四捨五入に変えたい
A: math.floor(x + 0.5) または Decimal.quantize(rounding=ROUND_HALF_UP)。
Q: int() で小数点付き文字列がエラー
A: int("3.14") は ValueError。int(float("3.14")) と 2 段階で。
Q: 浮動小数の合計に誤差が出る
A: math.fsum() で誤差を最小化、または Decimal。金額計算では絶対 Decimal を。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
同階層のページ
- 数値を扱う組み込み関数(int / float / abs / round / min / max / sum / divmod など)
- 文字列
人気ページ
- 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アノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?