言語仕様

はじめに

基本的にPython3の仕様のみを書く。
ただし、ぐぐった結果とかを貼っているものはPython2のことがあるかもしれない。

ドキュメント:

モジュール検索パス

https://docs.python.org/ja/3/tutorial/modules.html#the-module-search-path

sys.path のリストから探す。sys.path は以下で初期化される:

  • カレントディレクトリ(あるいは入力されたスクリプトのあるディレクトリ)
  • 環境変数 PYTHONPATH
  • インストールごとのデフォルト

参考:

コメント

複数行のコメントは """ または ''' で書く。

def foo():
  """
  コメント1
  コメント2
  """
  print 'foo'

参考:

リテラル

https://docs.python.org/ja/3/reference/lexical_analysis.html#literals

演算子

二項演算子

6. 式 (expression) — Python 3 ドキュメント

  • @ … 行列の乗算

累算代入演算子

https://docs.python.org/ja/3/reference/simple_stmts.html#augmented-assignment-statements

Examples:

x += 1
x %= 3  # 剰余
x //= 5 # 切り捨て除算

NOTE:

  • Rubyの ||= 相当はない

三項演算子

Syntax:

(変数) = (条件がTrueのときの値) if (条件) else (条件がFalseのときの値)

Example:

x = "OK" if n == 10 else "NG"

参考:

制御構文

条件分岐

https://docs.python.org/ja/3/tutorial/controlflow.html#if-statements

if 条件1:
    xxx
    :
elif 条件2:
    yyy
    :
else:
    zzz
    :

参考:

ループ

for i in range(1, 5):
  print(i)

list = ['a', 'b', 'c']
for elm in list:
  print(elm)

参考:

クラス

https://docs.python.org/ja/3/tutorial/classes.html

例外処理

https://docs.python.jp/3/tutorial/errors.html

Examples:

import sys

try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(s.strip())
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("Could not convert data to an integer.")
except:
    print("Unexpected error:", sys.exc_info()[0])
    raise

参考:

書式付き文字列

'Hello, {}!'.format('world')

参考:

ジェネレータ

反復可能なオブジェクト

  • ジェネレータ関数 … yield を使う
  • ジェネレータ式

参考:

組み込み関数

https://docs.python.jp/3/library/functions.html

list()

https://docs.python.jp/3/library/functions.html#func-list

Example:

list(somedict.keys()) #=> dictのキーをリスト化

参考:

最終更新 2020-08-21: [python,char] Update (54d16ffd7)