次の項目は別ページに分割しました。
基本
参考:
型
参考:
Python のデータ型 コレクション編 | Python Boot Camp Text
クラス
参考:
代入
ドキュメント:
参考:
複数の変数に複数の値または同じ値を代入 | note.nkmk.me
タプルやリストをアンパック/複数の変数に展開して代入 | note.nkmk.me
一行で複数の変数に同時に値を代入するのは遅い | yiskw note
一行で複数の変数に値を代入する場合の処理順 – スタック・オーバーフロー
コメント
コメントは文字列リテラル内に入っていないハッシュ文字 (#
) から始まり、同じ物理行の末端で終わる。
参考:
Python のコメント、コメントアウトの書き方 | note.nkmk.me
docstring
参考:
Python の docstring の書き方 | note.nkmk.me
Docstring でドキュメンテーションコメントを記述する | まくまくノート
コメント (#) と docstring (“””) の違いは?コメントと docstring について解説します | Python 学習チャンネル
Google スタイルの Python Docstring の入門 – Qiita
可読性を上げるための、docstring の書き方を学ぶ – Qiita
識別子
ASCII の範囲内 (U+0001
〜 U+007F
) では、識別子として有効な文字は Python 2 におけるものと同じ。大文字と小文字の A
から Z
、アンダースコア _
、先頭の文字を除く数字 0
から 9
である。
Python 3 で ASCII 範囲外の文字が導入された。文字の分類は、unicodedata モジュールに含まれる Unicode 文字データベースによって判別される。(※詳細は PEP 3131 を参照すること。)
参考:
識別子およびキーワード | Python 3.x ドキュメント [公式]
PEP 3131 – Supporting Non-ASCII Identifiers | Python.org [Official]
キーワード
以下の識別子は、Python 言語におけるキーワード、もしくは、予約語であり、通常の識別子として使用できない。
False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise
参考:
キーワード | Python 3.x ドキュメント [公式]
インデント
論理行の行頭にある先頭の空白 (スペースおよびタブ) はその行のインデントレベルを表す。インデントレベルにより実行文のグループ化が決定される。
タブは1つにつき8つのスペースに置き換えられ、置き換え後の文字数は 8 の倍数になる。(Unix におけるタブの働きと同じ。) 最初の非空白文字までのスペースの総数が、その行のインデントとなる。インデントはバックスラッシュによって複数の物理行に分割できない。最初のバックスラッシュまでの空白がインデントとなる。
参考:
インデント | Python 3.x ドキュメント [公式]
リテラル
参考:
文字列およびバイト列リテラル | Python 3.x ドキュメント [公式]
フォーマット済み文字列リテラル | Python 3.x ドキュメント [公式]
数値リテラル | Python 3.x ドキュメント [公式]
演算子
以下のトークンは演算子として使われる。
+ - * ** / // % @ << >> & | ^ ~ < > <= >= == !=
参考:
デリミタ
以下のトークンは文法上のデリミタとして機能する。
( ) [ ] { } , : . ; @ = -> += -= *= /= //= %= @= &= |= ^= >>= <<= **=
ピリオドは浮動小数点数や虚数リテラル中にも置ける。ピリオド3つの列はスライス表記における省略符号 (ellipsis) リテラルとして特別な意味を持つ。累算代入演算子 (augmented assignment operator) は字句的にはデリミタとして振舞うが演算子として機能する。
以下の印字可能 ASCII 文字は、他のトークンの一部として特殊な意味を持っているか、あるいは字句解析器にとって重要な意味を持っている。
' " # \
以下の印字可能 ASCII 文字は、Python では使われていない。これらの文字が文字列リテラルやコメントの外にある場合は、無条件にエラーとなる。
$ ? `
参考:
変数/定数
参考:
How do I create a constant in Python? – Stack Overflow
スコープ
関数内でグローバル変数を使用する場合は、global
キーワードを用いて明示的にグローバル変数を扱うことを宣言する。
greeting = "Hello"
def say_hello(name):
global greeting
print(f"{greeting}, {name}.")
say_hello("John")
Code language: Python (python)
参考:
Python のスコープ/グローバル変数とローカル変数のルール | HEADBOOST
None
None
を判定する。
if var is None:
print("var is None!")
Code language: Python (python)
None
でないことを判定する。
if var is not None:
print("var is not None!")
Code language: Python (python)
参考:
「a is not None」と「not a is None」は違うのか – Qiita
if 変数 is None とするか、if not 変数のどちらを書くべきか – teratail
Python で None 判定をして None でなければその変数を if 文の中で処理するには – スタック・オーバーフロー
“is None” vs “==None” | Jared Grubb
文字列
参考:
Python で文字列を連結/結合 (+演算子、join など) | note.nkmk.me
クォーテーション
参考:
シングルクォートとダブルクォートの使い分け | YAMAGUCHI weblog
文字列におけるシングルクォーテーションとダブルクォーテーションの違い | Web 備忘録
Python におけるシングルクォーテーションとダブルクォーテーション | 温故知新
Python では単一引用符/シングルクオートを使うのが多いみたいですが、どうして? – teratail