ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Python の演算子一覧
Python の演算子は次の 7 系統に分けて覚えると整理しやすくなります。各系統の詳細は子記事にまとめています。
| 系統 | 演算子 | 詳細 |
|---|---|---|
| 算術 | + - * / // % ** | 算術演算子 |
| 文字列 | +(連結)*(反復) | 文字列演算子 |
| 代入 | = と複合代入、:= | 代入演算子 |
| 比較 | == != < <= > >= | 比較演算子 |
| 論理 | and or not | 論理演算子 |
| ビット | & | ^ ~ << >> | ビット演算子 |
| メンバーシップ / 同一性 | in / not in、is / is not | この記事の後半 |
他の言語から来た人がつまずく 3 点
1. / は必ず float を返す
Python 3 では、整数どうしの割り算でも結果は float になります。整数で欲しいときは // を使います。
print(7 / 2) # 3.5 ← int どうしでも float
print(7 // 2) # 3 ← 切り捨て除算
print(7 % 2) # 1
print(2 ** 10) # 1024 ← べき乗は ** (^ ではない)
^ はべき乗ではなくビット XOR です。2 ^ 10 は 8 になります。
2. and / or は bool を返さない
短絡評価で「評価を打ち切った側のオペランド」がそのまま返ります。
print(0 or "default") # default ← 0 が偽なので右側
print("a" or "b") # a ← 左が真なら左を返す
print(1 and 2) # 2
print(bool(1 and 2)) # True ← bool が欲しいなら明示的に
3. 比較は連鎖できる
x = 5
print(0 <= x < 10) # True ← (0 <= x) and (x < 10) と同じ
print(1 < 2 < 3 < 4) # True
メンバーシップ演算子(in / not in)
print("py" in "python") # True 文字列は部分一致
print(3 in [1, 2, 3]) # True
print("k" in {"k": 1}) # True 辞書はキーを見る
print(5 not in {1, 2, 3}) # True
list の in は先頭から線形探索するため、要素数が多いなら set か dict にすると平均 O(1) になります。
同一性演算子(is / is not)
== が値が等しいかを見るのに対し、is は同じオブジェクトかを見ます。
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True 中身は同じ
print(a is b) # False 別オブジェクト
x = None
print(x is None) # True ← None の判定はこれが正しい
print(x == None) # True だが非推奨(__eq__ を上書きされると壊れる)
小さい整数や短い文字列は処理系がキャッシュしているため is が偶然 True になることがあります。値の比較に is を使ってはいけません。
優先順位
強い順に、おおまかに次のとおりです。迷ったら括弧を付けるのが確実です。
| 優先度 | 演算子 |
|---|---|
| 高 | ** |
+x -x ~x(単項) | |
* / // % | |
+ - | |
<< >> → & → ^ → | | |
比較 / in / is | |
not → and → or | |
| 低 | if - else(条件式)、lambda |
** だけは右結合です。2 ** 3 ** 2 は 2 ** (3 ** 2) = 512 になります。
演算子は自分のクラスでも定義できる
class Vec:
def __init__(self, x, y):
self.x, self.y = x, y
def __add__(self, other): # + の振る舞い
return Vec(self.x + other.x, self.y + other.y)
def __eq__(self, other): # == の振る舞い
return (self.x, self.y) == (other.x, other.y)
def __repr__(self):
return f"Vec({self.x}, {self.y})"
print(Vec(1, 2) + Vec(3, 4)) # Vec(4, 6)
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?