Python 2.4 クイックリファレンス | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
目次
この文書について
バージョン 2.4
日本語訳(現在鋭意翻訳中):
Tip: Python インタプリタに 起動オプションpython[w] [-dEhimOQStuUvVWxX?] [-c command | scriptFile | - ] [args]
環境変数
主要な字句エレメントキーワード
識別子(letter | "_") (letter | digit | "_")*
文字リテラルstr (8 ビット/文字の通常の旧式文字列) と unicode (16 ビット/文字の UCS2 文字列)
の 2 つの形式がある。
ブール定数 (2.2.1 以降)
数値
シーケンス
辞書 (マップ)
長さが 0, 1, 2 の 辞書 (
キーは、ハッシュ値取得可能 な型でなければならない。値は、どんな型でもよい。
演算子とその優先順位
基本的な型とその演算子比較 (すべての 型に対して)
None
ブール型 (bool)
数値型浮動小数点数、整数、長整数、10進数
数値型に対する演算子
整数・長整数に対するビット演算子
複素数
数値に関する例外
シーケンス (リスト・タプル・文字列) の演算
変更可能なシーケンス (
|
演算子 | 結果 | 注 |
---|---|---|
len(d) | d の要素数を返す | |
dict() dict(**kwargs) dict(iterable) dict(d) |
空の辞書を作成する。 キーワード引数 kwargs で初期化した辞書を作成する。 iterable から得られる (キー, 値) の組で初期化した辞書を作成する。 辞書 d のコピーを作成する |
|
d.fromkeys(iterable, value=None) | iterator から得られるキーを元に辞書を作成し、値を value に設定する | |
d[k] | d の要素で、キーが k のもの | (1) |
d[k] = x | d[k] を x にする | |
del d[k] | d[k] を d から削除する | (1) |
d.clear() | 全要素を d から削除する | |
d.copy() | d の(浅い)コピーを返す | |
d.has_key(k) k in d |
d にキー k があれば True 、さもなくば False |
|
d.items() | d の (キー, 値) というペアを要素とするリストを返す | (2) |
d.keys() | d のキーのリストを返す | (2) |
d1.update(d2) | for k, v in d2.items(): d1[k] = v 2.4 以降、 キーワード引数 update(**kwargs) と イテレータ update(iterable) も使える |
|
d.values() | d の値のリストを返す | (2) |
d.get(k, defaultval) | d から、キー k の値を返す | (3) |
d.setdefault(k[,defaultval]) | キー k が d にあれば d[k] を返す。さもなくば、 defaultvalを (値に設定した上で) 返す | (4) |
d.iteritems() | (キー, 値)ペアに対する イテレータ を返す | |
d.iterkeys() | キー列に対する イテレータ を返す | |
d.itervalues() | 値列に対する イテレータ を返す | |
d.pop(k[, default]) | キー k を削除した上で、その値を返す。
そのキーが無ければ、 指定されていれば default を返し、さもなくば KeyError を送出する |
|
d.popitem() | d の (key, value) ペアのどれかを、削除した上で返す |
TypeError
が送出される。KeyError
が送出される。 None
が返される。 None
が返され、マップに追加される。 str
型・unicode
型) の演算str
型と unicode
型の基底クラスはいずれも basestring
型。演算子 | 結果 | 注 |
---|---|---|
s.capitalize() | s の最初の文字を大文字にした文字列を返す | |
s.center(width) | width の長さに対し、s を中央寄せした文字列を返す | (1) |
s.count(sub[ ,start[,end]]) | s 中に部分文字列 sub が出現する回数を返す | (2) |
s.decode([ encoding[,errors]]) | 指定されたコーデック(文字エンコード)でデコードされたユニコード文字列を返す。
ファイルや、str 型の文字列だけを処理するような入出力関数を使ったの読み込みに有用である。
encode の逆動作である |
(3) |
s.encode([ encoding[,errors]]) | s をエンコードした str 型の文字列を返す。
(入出力関数が str 型しか処理できないので)出力やファイルへの書き込みを行う際に、
ユニコード文字列を str 型へエンコードするのに良く使われる。
例、 u'légère'.encode('utf8') 。
zip (codec 'zip') や uuencode (codec 'uu') など str 型を str 型にエンコードする
のにも使われる。decode の逆動作である |
(3) |
s.endswith(suffix [,start[,end]]) | s が suffix で終わっていれば True を返す。さもなくば、False を返す |
(2) |
s.expandtabs([ tabsize]) | s 中のタブをスペースに変換した文字列を返す | (4) |
s.find(sub[ ,start[,end]]) | s 中で部分文字列 sub が見つかった最小のインデックス値を返す。 見つからなければ -1 を返す | (2) |
s.index(sub[ ,start[,end]]) | find() と同様だが、見つからなければ ValueError を送出する |
(2) |
s.isalnum() | s の文字がすべて英数字であれば True を返す。さもなくば False を返す |
(5) |
s.isalpha() | s の文字がすべて英字であれば True を返す。さもなくば False を返す |
(5) |
s.isdigit() | s の文字がすべて数字であれば True を返す。さもなくば False を返す |
(5) |
s.islower() | s の文字がすべて小文字であれば True を返す。さもなくば False を返す |
(6) |
s.isspace() | s の文字がすべて空白文字であれば True を返す。さもなくば False を返す |
(5) |
s.istitle() | s の文字がすべてタイトルケース(各単語の始めが大文字)であれば True を返す。
さもなくば False を返す |
(7) |
s.isupper() | s の文字がすべて大文字であれば True を返す。さもなくば False を返す |
(6) |
separator.join(seq) | シーケンス seq の文字列を、文字列 separator で区切った形式で連結した文字列を返す。
例、 ",".join(['A', 'B', 'C']) -> "A,B,C" |
|
s.ljust/rjust/center(width[, fillChar=' ']) | s を左寄せ/右寄せ/中央寄せした、長さが width の文字列を返す | (1), (8) |
s.lower() | s を小文字に変換した文字列を返す | |
s.lstrip([chars] ) | s の先頭にある chars (デフォルトは空白文字) を削除する | |
s.replace(old, new[, maxCount =-1]) | s 中の部分文字列 old の先頭 maxCount 個 (-1のとき制限なし)を new に変換した文字列を返す | (9) |
s.rfind(sub[ , start[, end]]) | s 中で部分文字列 sub が見つかった最大のインデックス値を返す。 見つからなければ -1 を返す | (2) |
s.rindex(sub[ , start[, end]]) | rfind() と同様だが、見つからなければ ValueError を送出する |
(2) |
s.rstrip([chars]) | s の最後にある chars (デフォルトは空白文字) を削除する。e.g.
aPath.rstrip('/') will remove the trailing '/'from aPath if it exists |
|
s.split([ separator[, maxsplit]]) | s を separator を区切り文字として分解した文字列のリストを返す | (10) |
s.rsplit([ separator[, maxsplit]]) | split と同様だが、文字列の最後から分解する |
(10) |
s.splitlines([ keepends]) | s を改行で分解し、各行からなるリストを返す | (11) |
s.startswith(prefix [, start[, end]]) | s が prefix で始まっていれば True を返す。さもなくば False を返す。
負値も start と end に使える |
(2) |
s.strip([chars]) | s の先頭と最後にある chars (デフォルトは空白文字) を削除する | |
s.swapcase() | s の大文字と小文字を入れ替えた文字列を返す | |
s.title() | s をタイトルケース化した、つまり各単語の始めを大文字とし残りを小文字とした、文字列を返す。 | |
s.translate(table [, deletechars]) | s をテーブル table を使って置換した文字列を返す | (12) |
s.upper() | s を大文字に変換した文字列を返す | |
s.zfill(width) | 長さ width の、先頭を 0 詰めした文字列を返す |
sys.getdefaultencoding()
で、
sys.setdefaultencoding()
により変更できる。オプション引数 errors を指定して、
別のエラー処理スキームを設定できる。errors 引数のデフォルトは 'strict'で、
エンコーディング関連エラーはにより ValueError が送出される。他に、'ignore' または
'replace' を指定できる。モジュール codecs を見よ。False
が返される。False
が返される。None
を指定すると、すべての空白文字がセパレータとなる。
maxsplit を指定すると、分解が最大 maxsplit 回まで行われる。 formatString % args --> 文字列を返す
%[flag][width][.precision] formatCodeここで formatCode は c, s, i, d, u, o, x, X, e, E, f, g, G, r, % のどれか (下記参照)。
フォーマット文字列 | 結果 |
---|---|
'%3d' % 2 | ' 2' |
'%*d' % (3, 2) | ' 2' |
'%-3d' % 2 | '2 ' |
'%03d' % 2 | '002' |
'% d' % 2 | ' 2' |
'%+d' % 2 | '+2' |
'%+3d' % -2 | ' -2' |
'%- 5d' % 2 | ' 2 ' |
'%.4f' % 2 | '2.0000' |
'%.*f' % (4, 2) | '2.0000' |
'%0*.*f' % (10, 4, 2) | '00002.0000' |
'%10.4f' % 2 | ' 2.0000' |
'%010.4f' % 2 | '00002.0000' |
'%s has %03d quote types.' % ('Python', 2) == 'Python has 002 quote types.'
a = '%(lang)s has %(c)03d quote types.' % {'c':2, 'lang':'Python'}(右側に
vars()
関数を使うのも便利である) formatCode | 意味 |
---|---|
d | 符号付き10進整数 |
i | 符号付き10進整数 |
o | 符号なし8進数 |
u | 符号なし10進数 |
x | 符号なし16進数 (小文字) |
X | 符号なし16進数 (大文字) |
e | 浮動小数点数の指数表示 (小文字) |
E | 浮動小数点数の指数表示 (大文字) |
f | 浮動小数点数の10進表示 |
F | 浮動小数点数の10進表示 |
g | 指数が -4 未満か precision 以上のとき "e"、さもなくば "f" と同じ |
G | 指数が -4 未満か precision 以上のとき "E"、さもなくば "F" と同じ |
c | 単一文字 (整数値または単一文字の文字列をとる) |
r | 文字列 (オブジェクトを repr() を使って変換したもの) |
s | 文字列 (オブジェクトを str() を使って変換したもの) |
% | 引数の変換はせず、"%" 文字自体が結果に返る (完全な表記は %%) |
flag | 意味 |
---|---|
# | 「別形式」を使って値変換する |
0 | 0 埋めする |
- | 左寄せする |
(空白文字) 。正の値(または空白文字)の前に空白文字を置く | |
+ | 正負記号 ("+" または "-") を前に付ける(空白文字フラグより優先される) |
substitute
または safe_substitute
メソッドに辞書で指定する(〔テンプレート中に記述した〕キーが〔指定した辞書に〕ない場合、
substitute
は KeyError
例外を送出する。
safe_substitute
は、〔キーが無いことを〕無視する)。
t = string.Template('Hello $name, you won $$$amount') # (note $$ to literalize $)
t.substitute({'name': 'Eric', 'amount': 100000}) # -> u'Hello Eric, you won $100000'
file
型)。 組み込み関数 open()
[推奨]
やそのエイリアス file()
から生成される。
他のモジュールの関数からも生成される。演算 | 結果 |
---|---|
f.close() | ファイル f をクローズする |
f.fileno() | ファイル f のファイル記述子 (fd) を取得する |
f.flush() | ファイルの f の内部バッファをフラッシュする |
f.isatty() | ファイル f が tty (または類似の) デバイスに接続されていれば 1 を、さもなくば 0 を返す |
f.next() | Returns the next input line of file f, or raises StopIteration when EOF is hit.
Files are their own iterators. next is implicitely called by
constructs like for line in f: print line . |
f.read([size]) | ファイル f から最大 size バイトを読み込み、文字列オブジェクトを返す。 size を指定しないと、EOF まで読む |
f.readline() | ファイル f から 1 行読み込む。行の末尾の改行文字は残す。ただし、EOF は残さない。Return '' on EOF. |
f.readlines() | readline() で EOF まで読み、行のリストを返す |
f.xreadlines() | ファイル全体をメモリに読み込まないでファイルの各行を読み込むような シーケンス類似のオブジェクトを返す。 2.2 以降では、 for line in f を使う (下記参照) |
for line in f: do something... | (readline を使って) ファイルの各行をイテレートする |
f.seek(offset[, whence=0]) | ファイル f の位置を設定する。stdio の fseek() と同じ。 whence == 0 のとき絶対位置指定。 whence == 1 のとき現在位置からの相対指定。 whence == 2 のときファイルの末尾からの指定 |
f.tell() | ファイル f の現在位置を返す (バイトオフセット) |
f.truncate([size]) | Truncate f's size. If size is present, f is truncated to (at most) that size, otherwise f is truncated at current position (which remains unchanged). |
f.write(str) | 文字列をファイル f に書き込む |
f.writelines(list) | 文字列のリストをファイル f に書き込む。EOL は追加しない |
EOFError
IOError
set
と frozenset
(変更不能な set) が追加された
[PEP 218]。
これら set 型は、順番の無いユニークな要素の集合である。要素はハッシュ可能でなければならない。
frozensets
型はハッシュ可能である(つまり、他の set の要素となれる)。
一方、set
型はそうではない。いずれも、イテレート可能 である。sets
モジュールにおいて、
Set
クラスと ImmutableSet
クラスが使用できる。
このモジュールは、2.4 の標準ライブラリに残されており、
組み込み型とあわせ使用できる。演算子 | 結果 |
---|---|
set/frozenset([iterable=None]) | [using built-in types] Builds a set or frozenset
from the given iterable (default: empty), e.g. set([1,2,3]) , set("hello") .
|
Set/ImmutableSet([iterable=None]) | [using the sets module] Builds a Set or ImmutableSet
from the given iterable (default: empty), e.g. Set([1,2,3]).
|
len(s) | Cardinality of set s. |
elt in s / not in s | True if element elt belongs / does not belong to
set s. |
for elt in s: process elt... | Iterates on elements of set s. |
s1.issubset(s2) | True if every element in s1 is in s2. |
s1.issuperset(s2) | True if every element in s2 is in s1. |
s.add(elt) | Adds element elt to set s (if it doesn't already exist). |
s.remove(elt) | Removes element elt from set s.
KeyError if element not found. |
s.clear() | Removes all elements from this set (not on immutable sets!). |
s1.intersection(s2) or s1&s2 | Returns a new Set with elements common to s1 and s2. |
s1.union(s2) or s1|s2 | Returns a new Set with elements from both s1 and s2. |
s1.difference(s2) or s1-s2 | Returns a new Set with elements in s1 but not in s2. |
s1.symmetric_difference(s2) or s1^s2 | Returns a new Set with elements in either s1 or s2 but not both. |
s.copy() | Returns a shallow copy of set s. |
s.update(iterable) | Adds all values from iterable to set s. |
mxDateTime
も見よ。
- Module オブジェクト
- Class オブジェクト
- Class instance オブジェクト
- Type オブジェクト (see module: types)
- File オブジェクト (上記参照)
- Slice オブジェクト
- Ellipsis オブジェクト, used by extended slice notation (unique, named
Ellipsis
)- Null オブジェクト (unique, named
None
)- XRange オブジェクト
- コール可能な 型
- ユーザ定義 (Python で記述)
- User-defined Function オブジェクト
- User-defined Method オブジェクト
- 組み込み (C で記述)
- 組み込み Function オブジェクト
- 組み込み Method オブジェクト
- 内部 型
- Code オブジェクト (byte-compile executable Python code: bytecode)
- Frame オブジェクト (execution frames)
- Traceback オブジェクト (stack trace of an exception)
文 | 結果 |
---|---|
pass | 何もしない |
del name[, name]* | name とオブジェクトの結びつけを解除する。オブジェクトは、他から参照されていないなら、 派生的に (また自動的に) 削除されることとなる |
print[>> fileobject,] [s1 [, s2 ]* [,] | 指定されていれば fileobjectに、さもなくば sys.stdout に出力する。
文が カンマ で終わっていないときは、改行文字が付けられる。Python が対話モードの際は、
print 文は不要で、表現が何か入力されるとその値を、None で無い限り、出力する。 |
exec x [in globals [, locals]] | 指定した名前空間中の x を実行する。デフォルトは現在の名前空間。 x は、文字列・ファイルオブジェクト・ 関数オブジェクトのどれか。locals には、通常の Python の辞書型以外のマップ型も使える。 |
callable(value,... [id=value] , [*args], [**kw]) | 関数 callable を引数を与えてコールする。引数は、名前指定で渡せる。また、デフォルト値が設定されていれば、省略できる。
たとえば callable の定義が "def callable(p1=1, p2=2) " のとき、次のようになる。"callable()" <=> "callable(1, 2)"*args は、引数と 位置 でもって対応したタプル。 **kw は、引数と キーワード でもって対応したタプル。 |
演算子 | 結果 |
Notes
|
---|---|---|
a = b | 基本的な代入 - オブジェクト b をラベル a へ代入するS |
(1)(2)
|
a += b | a = a + b とほぼ同じ |
(3)
|
a -= b | a = a - b とほぼ同じ |
(3)
|
a *= b | a = a * b とほぼ同じ |
(3)
|
a /= b | a = a / b とほぼ同じ |
(3)
|
a //= b | a = a // b とほぼ同じ |
(3)
|
a %= b | a = a % b とほぼ同じ |
(3)
|
a **= b | a = a ** b とほぼ同じ |
(3)
|
a &= b | a = a & b とほぼ同じ |
(3)
|
a |= b | a = a | b とほぼ同じ |
(3)
|
a ^= b | a = a ^ b とほぼ同じ |
(3)
|
a >>= b | a = a >> b とほぼ同じ |
(3)
|
a <<= b | a = a << b とほぼ同じ |
(3)
|
first, second = l[0:2] # first=l[0]; second=l[1] と同じ
[f, s] = range(2) # f=0; s=1 と同じ
c1,c2,c3 = 'abc' # c1='a'; c2='b'; c3='c' と同じ
(a, b), c, (d, e, f) = ['ab', 'c', 'def'] #
a='a'; b='b'; c='c'; d='d'; e='e'; f='f' と同じ
Tip: x,y = y,x
は、 x と y を入れ替える
a = b = c = 0
list1 = list2 = [1, 2, 3] # list1 と list2 は 同じ リストになる
文 | 結果 |
---|---|
if condition: suite [elif condition: suite]* [else: suite] |
一般的な if/else 文 |
while condition: suite [else: suite] |
一般的な while 文。ループから break で抜けたとき以外は、
else suite を実行する |
for element in sequence: suite [else: suite] |
sequence に対して、その各要素を element に代入して、繰り返しを行う。
繰り返しを単に何回か行いたいときは、組み込みの range 関数を使う。
ループから break で抜けたとき以外は、
else suite を実行する |
break | 即座に for または while ループから抜ける |
continue | 即座に for または while のループの次の繰り返しを行う |
return [result] | 関数(またはメソッド)から抜け、result を返す
(複数の値を返すときは、 tuple を使う)。
result を指定しなければ、None が返る |
yield expression | (generator 関数の内部で、
try..finally の外でだけ使う)。 expression を評価した結果を返す |
文 | 結果 |
---|---|
assert expr[, message] | expr を評価し、偽なら AssertionError をメッセージと共に送出する。
2.3 以前では、__debug__ が 0 のとき使えない |
try: suite1 [except [exception [, value]: suite2]+ [else: suite3] |
suite1 の文を実行し、例外が送出されたら、except 節で例外マッチングを行う。
exception とマッチするか、exception を指定していないとき、
その節の suite2 を実行する。例外が送出されなければ、 suite1 に続いて
else 節の suite3 を実行する。exception の値は、
変数 value に代入される。exception は例外の タプル でもよい。例、
except(KeyError, NameError), e: print e |
try: suite1 finally: suite2 |
suite1 の文を実行し、例外が送出されなければ、suite2 を実行する (たとえ
suite1 から return や break , continue で
抜けた場合も)。例外が送出されたら、suite2 を実行し、例外を再送出する |
raise exceptionInstance | Exception を継承したエラークラスのインスタンスを送出する。(望ましい 例外送出方法) |
raise exceptionClass [, value [, traceback]] | 指定した例外クラス exceptionClass を、オプション値 value を設定し、送出する。 traceback 引数には、例外のバックトレースを出力するトレースバックオブジェクトを指定する |
raise | 引数なしの raise 文は、現在の関数内の直近の例外を再送出する |
class TextException(Exception): pass
try:
if bad:
raise TextException()
except Exception:
print 'Oops' # This will be printed because TextException is a subclass of Exception
str()
で例外のインスタンスを文字列に変換したものが出力されるException
を継承した)StandardError
を継承している。sys.path
) に設定されたディレクトリに置かなければならない。
2.3 以降、zip ファイルにまとめることも可能 [例、 sys.path.insert(0, "aZipFile.zip")]。__init__.py
を含むディレクトリ(空も可)に結びつけるもの。[package.[package...].module.symbol
文 | 結果 |
---|---|
import module1 [as name1] [, module2]* | モジュールをインポートする。モジュールの内容は、 [パッケージ.]モジュール名 を前に付けて参照する。例、
import sys; print sys.argvname1 を指定すると、その名前で module1 を呼べる。 |
from module import name1 [as othername1][, name2]* | モジュール module から現在の名前空間に指定した名前をインポートする。
from sys import argv; print argvothername1 を指定すると、その名前で name1 を呼べる。 [2.4] from module import names 文で名前のリストをカッコで括れる
(PEP 328). |
from module import * | module の すべての 名前をインポートする。ただし、"_" で始まるものは除く。
常用しないこと。名前の衝突に注意。
from sys import *; print argvモジュールのトップレベルでのみ使用可能。 module が __all__ 属性を定義しているなら、__all__ にリストされている
名前だけをインポートする。注、 " from package import * " は、パッケージに含まれるモジュールではなく、
そのパッケージの __init__.py ファイルに定義されているシンボルだけをインポートする |
global name1 [, name2] | 指定した名前を、ローカル (通常は関数) なものでなく、グローバルスコープ (通常はモジュール) のものとする。 たとえば、関数中で global 文がなく、"x" はその関数中で使われていないとする。- "x" を読み込もうとすると、 NameError - "x" に書き込もうとすると、 関数ローカルの "x" を生成 "x" は関数中で定義されていないが、モジュールで定義されている。 - "x" を読み込もうとすると、モジュールから値を取得する - "x" に書き込もうとすると、 関数ローカルの "x" を生成 ただし "x[0]=3" は "x" の検索を行い、ローカルでなくグローバルの "x" を使う |
def funcName ([paramList]):関数オブジェクトを生成し、名前 funcName に代入する。
suiteparamList ::= [param [, param]*]
param ::= value | id=value | *id | **id
return
を使うと、関数から戻れる(この場合、None
を返す)。
return value
とすると value を返して戻る。
複数の値を返すには、return 1,2,3
のように タプル を使う。arg=value
を使って デフォルト値
を定義できる(デフォルト値は、関数定義時に評価される) 。foo(x, y=1, s='')
のように
変数リストの後ろに記述する。def foo(x, *args): ...
を foo(1, 2, 3)
とコールすると
args は (2,3)
となる。def foo(x, **kwargs): ...
を foo(1, y=2, z=3)
とコールすると、
kwargs は {'y':2, 'z':3}
となる。def foo(x, *args, **kwargs): ...
を
foo(1, 2, 3, y=4, z=5)
をコールすると、args は (2, 3)
となり
kwargs は {'y':4, 'z':5}
となる。def f1(x, *args, **kwargs):
f2(*args, **kwargs)
class className [(super_class1[, super_class2]*)]:
関数オブジェクトを生成し className という名前に代入する。
suite
suite には、ローカルのクラスメソッドの定義と、クラス属性への代入を記述できる。
class MyClass (class1, class2): ...
class1 と class2 とを継承したクラスオブジェクトを生成する。
その新しいクラスオブジェクトを名前 MyClass
に代入する。
class MyClass: ...
基底 クラスオブジェクト (何も継承しないクラス) を生成する。
その新しいクラスオブジェクトを名前 MyClass
に代入する。
class MyClass (object): ...
新形式 クラス
(object
を継承するクラスは 新形式 クラスとなる。2.2 以降で利用できる)
を生成する。その新しいクラスオブジェクトを名前 MyClass
に代入する。
class c (c_parent):
def __init__(self, name):
self.name = name
def print_name(self):
print "I'm", self.name
def call_parent(self):
c_parent.print_name(self)
instance = c('tom')
print instance.name
'tom'
instance.print_name()
"I'm tom"
call_parent
メソッドを見よ)。int
, float
, str
,
list
, tuple
, dict
と file
は、2.2 以降、
基底クラスオブジェクトを継承したクラスとして動作する。その継承もできる。新しいスタイル のクラスはx = int(2) # 組み込みのキャスト関数は、基本的型のコンストラクタである y = 3 # <=> int(3) (リテラルは新しい基本的型のインスタンスである) print type(x), type(y) # int, int assert isinstance(x, int) # replaces isinstance(x, types.IntType) assert issubclass(int, object) # base types derive from base class 'object'. s = "hello" # <=> str("hello")
assert isinstance(s, str) f = 2.3 # <=> float(2.3) class MyInt(int): pass # may subclass base types x,y = MyInt(1), MyInt("2") print x, y, x+y # => 1,2,3 class MyList(list): pass l = MyList("hello") print l # ['h', 'e', 'l', 'l', 'o']
object
を継承している。
古いスタイル のクラスは継承していない。
class C: "A description of C" def __init__(self): "A description of the constructor" # etc. c.__doc__ == "A description of C". c.__init__.__doc__ == "A description of the constructor"
next()
という 1 つだけで、
次の要素を返す、または StopIteration
を送出する。obj
のイテレータは、組み込み関数
iter(obj)
で取得できる。この関数は、obj.__class__.__iter__()
をコールする。 __iter__()
と next()
とを実装した
独自の イテレータを持っている。__iter__()
を実装している。辞書型(マップ型)は、そのキーを列挙する。
ファイル型は、その各行を列挙する。 リスト
または タプル
を生成できる。例、 list(anIterator)
for elt in
collection
: if elt in collection:
x,y,z=
collection
yield
キーワードを使って
コール毎に(1つづつ)値を返す。return
または
StopIteration()
送出により、値の列挙の終了を通知する。 generator.next()
とコールすると次の値が得られる。StopIteration
が送出されるまで繰り返しコールする。
linkGenerator = (link for link in get_all_links() if not link.followed)
for link in linkGenerator:
...process link...
from __future__ import generators
(2.3 以降では不要) def genID(initialValue=0): v = initialValue while v < initialValue + 1000: yield "ID_%05d" % v v += 1 return # または: raise StopIteration() generator = genID() # ジェネレータの生成 for i in range(10): # 10 個の値を生成 print generator.next()
__get__(self, obj, type=None) --> value
__set__(self, obj, value)
__delete__(self, obj)
object
の派生クラス)。
[ ]
staticmethod(f)
とすると、メソッド f(x)
がスタティック (unbound) になる。f = classmethod(f)
とすると、メソッド
f(theClass, x)
がクラスメソッドになる。property
の
インスタンスである。プロパティは属性に対する ディスクリプタ プロトコルを実装している。 =>
propertyName = property(fget=None, fset=None,
fdel=None, doc=None)
として、クラスの内部または外部で属性を定義する。定義後は propertyName
または obj.propertyName
で属性にアクセスする。__slots__
クラス属性を定義すると、割り当て可能な 属性名を制限できる。
これにより、属性名のミスタイプを防止できる (通常、ミスタイプをしても Python が発見してくれることはなく、
新しい属性が生成される)。
例、 __slots__
= ('x', 'y')
@D
と記述する。記述位置は、デコレート対象となる関数・メソッドの直前の行である。
@D
def f(): ...
上記は次の記述と同じ。
def f(): ...
f = D(f)
@A
@B
@C
def f(): ...
上記は次の記述と同じ。
f = A(B(C(f)))
@A
@B
@C(args)
def f(): ...
_deco = C(args)
f = A(B(_deco(f)))
@staticmethod
と @classmethod
は、等価な記述
f = staticmethod(f)
と f = classmethod(f)
をよりエレガントな形式に置き換えたものである。lambda [param_list]: returnedExpr無名関数 (anonymous function) を生成する。
returnedExpr は 式(expression) でなければならない。文 (statement) とはできない (例えば、 "if xx:...", "print xxx", などは不可) 。さらに、改行も入れてはならない。 lambda は filter(), map(), reduce() 関数や、 GUI コールバック のために使用することが多い。
リスト内包表記 (List comprehensions)result = [expression for item1 in sequence1 [if condition1]上記は次の記述と同じ。
[for item2 in sequence2 ... for itemN in sequenceN]
]result = []
for item1 in sequence1:
for item2 in sequence2:
...
for itemN in sequenceN:
if (condition1) and further conditions:
result.append(expression)
スコープのネスト
2.2より、スコープのネストをfrom __future__ import nested_scopes
のように明示的に有効にする必要が無くなった。スコープのネストは常に使用可能である。
__builtin__
モジュールに定義されており、自動的にインポートされる。
関数 | 結果 |
---|---|
__import__(name[, globals[,locals[,from list]]]) | 指定したコンテキストのモジュールをインポートする (詳細は ライブラリリファレンス を見よ) |
abs(x) | 数値 x の絶対値を返す |
apply(f, args[, keywords]) | 関数/メソッド f を、引数に args とオプションでキーワードを指定してコールする。
2.3 で撤廃された。
apply(func, args, keywords) に代わって func(*args, **keywords)
を使用すること。
[詳細] |
basestring() | str と unicode の抽象型の親クラスである。
直接のコールやインスタンス生成はできず、isinstance(obj, basestring)
のような利用に有用である
|
bool([x]) | 標準の真値テストを使って、値をブール値に変換する。
x が偽なら False を返す。さもなくば True を返す。
bool はクラス/型でもあり、int の子クラスである。
ただし、bool クラスを継承することはできない。
クラスのインスタンスは False と True だけである。
ブール演算 も見よ |
buffer(object[, offset[, size]]) | object のスライスからバッファを返す。 object は、(文字列、アレイ、バッファといった) バッファ呼び出しインタフェースを サポートするオブジェクトでなければならない。非必須関数。 [詳細] |
callable(x) | x がコール可能であれば True を返す。さもなくば False を返す |
chr(i) | ASCII コードが整数 i である文字 1 字からなる文字列を返す |
classmethod(function) | function のクラスメソッドを返す。
クラスメソッドは、暗黙の第 1 引数としてクラスをとる。
インスタンスメソッドが暗黙の第 1 引数としてインスタンスをとるのと同様である。
クラスメソッドは次の記法で宣言する。class C: クラス C.f() でコール、またはインスタンス C().f()
でコールする。インスタンスは、それが所属するクラス以外の事項は無視される。
派生クラスのクラスメソッドをコールすると、その派生クラスが暗黙の第 1 引数に
渡される。2.4 以降、デコレータ 記法も使える。 class C: |
cmp(x,y) | x <, ==, > y のとき、それぞれ、負値、0、正値を返す |
coerce(x,y) | 二つの数値型の引数を共通の型に変換したタプルを返す。 非必須関数。 [詳細] |
compile(string, filename, kind[, flags[, dont_inherit]]) | 文字列 string をコンパイルし、コードオブジェクトを返す。
filename 引数は、任意の文字列で、エラーメッセージに使われる。
通常は対象のコードが読み込まれたファイル名を指定する。ファイルから読み込んだのでなければ、
'<string>' を指定する。
kind 引数には、string 引数が文1つだけのとき 'eval' を、
各文の評価結果を None を除いて表示させるときは 'single' を、それ以外は
'exec' を指定する。
新しい引数 flags と dont_inherit とは
future 文に関連する。 |
complex(real[, image]) | 複素数オブジェクトを生成する (J または j を接尾辞として使うのと同じ。例、1+3J ). |
delattr(obj, name) | オブジェクト obj の name という名前の属性を削除する <=> del obj.name |
dict([mapping-or-sequence]) | 引数に指定した値で初期化した辞書を返す (引数はオプションで、非指定のとき空の辞書を返す) 引数は、(キー,値)というペアのシーケンス(または、イテレータ対応のもの)にできる |
dir([object]) | 引数を指定しないと、現在のローカルシンボルテーブルにある名前のリストを返す。 モジュールオブジェクトまたはクラスオブジェクト・インスタンスオブジェクトを arg を指定すると、その属性辞書にある名前のリストを返す |
divmod(a,b) | (a/b, a%b) というタプルを返す |
enumerate(iterable) | iterable についての(インデックス, 値)という各ペアを返値とするイテレータを返す。
例、List(enumerate('Py')) -> [(0, 'P'), (1, 'y')] . |
eval(s[, globals[, locals]]) | Python の 表現式 である s を評価する。
このとき(オプションで)、辞書 globals と locals を
それぞれグローバルとローカルな名前空間として使う。
s には、NUL や 改行を記述できない。 s にコードオブジェクトの指定はできる。
locals は、Python 組み込みの辞書型だけでなく、
任意のマップ型とできる。 例: x = 1; assert eval('x + 1') == 2(表現式ではなく、文 の実行には、 exec 文か
組み込み関数 execfile を使う)
|
execfile(file[, globals[,locals]]) | 指定したファイルを単に読み込み実行する。import 文と異なり、新たなモジュールを生成しない。
locals は、Python 組み込みの辞書型だけでなく、
任意のマップ型とできる。 |
file(filename[,mode[,bufsize]]) | ファイルをオープンし、ファイル オブジェクトを返す。
open 関数のエイリアス |
filter(function,sequence) | sequence 引数の要素のうち、関数 function が真を返すような要素からなるリストを構築する。 function は引数を1つだけとる関数 |
float(x) | 数・文字列を浮動小数点数へ変換する |
frozenset([iterable]) | frozenset (変更不能な set) オブジェクトを返す。(変更不能である)要素は
iterable から取得するか、デフォルトで空である。Set 型 も見よ。 |
getattr(object,name[,default])) | object オブジェクトから name 属性を取得する。例、 getattr(x, 'f') <=> x.f) 。
指定した属性が無ければ、指定していればdefault を返す。さもなくば、AttributeError
を送出する |
globals() | 現在のグローバル変数を示す辞書を返す |
hasattr(object, name) | オブジェクト object に、属性 name があれば、True を返す |
hash(object) | オブジェクトのハッシュ値を(もしあれば)返す |
help([object]) | 組み込みのヘルプシステムを起動する。 引数を指定しないと、対話的ヘルプシステムが起動する。 object に文字列 (モジュールや関数・クラス・メソッド・キーワード・ドキュメント項目のname)を指定すると、 ヘルプページがコンソールに表示される。さもなくば、object についてのヘルプページが 構築される |
hex(x) | 数 x を16進数文字列に変換する |
id(object) | object の識別値(整数)を返す |
input([prompt]) | 入力を読み込み 評価する。prompt を指定していれば入力に前もって表示する。
readline モジュールが利用可であれば、行編集とヒストリ機能を使える |
int(x[, base]) | 文字列を整数に変換する。 オプションで、変換の基数を base 引数に指定できる |
intern(aString) | aString を隔離文字列のテーブルに格納した上で、文字列を返す。 2.3 以降、隔離文字列は永続的(ガベージコレクションされないもの) では無くなった。[詳細] も見よ。 |
isinstance(obj, classInfo) | obj が classInfo クラス のインスタンスであれば True を返す。
または、classInfo 型 のオブジェクトであれば True を返す。
(classInfo は、クラスや型の タプル にできる)。
issubclass(A,B) が真なら、isinstance(x,A) => isinstance(x,B) |
issubclass(class1, class2) | Returns true if class1 が class2 を継承していれば (または class1 が class2 と同じであれば) True を返す |
iter(obj[,sentinel]) | obj についての イテレータ を返す。sentinel 引数を略したときは、obj
は、__iter__() または __getitem__() を実装したコレクションとする。
sentinel 引数を指定したとき、返されるイテレータは、
obj を引数なしで コール する。
返値が sentinel と等しいと StopIteration を送出し、さもなくば
返値をそのまま返す。「イテレータ」を見よ |
len(obj) | オブジェクト (シーケンス・辞書や __len__ を実装しているクラス) の 長さ(要素の数)を返す |
list([seq]) | seq と同じ要素をもち、かつ順番も同じなリスト、または空のリストを返す。 seq は、シーケンスまたは イテレーションをサポートするコンテナ・イテレータオブジェクトとできる seq がリストなら、その コピー を返す |
locals() | 現在のローカル変数を示す辞書を返す |
long(x[, base]) | 文字列を長整数に変換する。 オプションで、変換の基数を base 引数に指定できる |
map(function, sequence[, sequence, ...]) | 関数 function を sequence の各要素に適用した結果のリストを返す。
sequence を複数指定すると、各シーケンスの要素と対応した複数の引数が指定されて
関数がコールされる。シーケンスの長さが異なるときは、不足の部分には None
が当てられる。function に None を指定すると、シーケンスの要素のリスト
(または、複数シーケンスの場合はタプルのリスト)を返す
=> map() に代わって リスト内包表記
の使用も考慮せよ |
max(seq) max(v1, v2 ...) |
seq 引数をひとつだけ指定すると、シーケンス(文字列やタプル・リストなど)の要素のうち 最大 のものを返す。引数を複数指定すると、それら引数のうち最大のものを返す |
min(seq) min(v1, v2 ...) |
seq 引数をひとつだけ指定すると、シーケンス(文字列やタプル・リストなど)の要素のうち 最小 のものを返す。引数を複数指定すると、それら引数のうち最大のものを返す |
object() | ユーザ定義の属性やメソッドを持たない、新しいオブジェクトを返す。
object は 新形式クラス の基底クラスであり、
そのメソッドは、すべての新形式クラスのインスタンスで共通である |
oct(x) | 数を8進文字列に変換する |
open(filename [, mode='r', [bufsize]]) | 新規にファイルオブジェクトを返す。
エイリアス関数 file() も見よ。
ファイルを文字エンコードを指定し、透過的なエンコード・デコード機能を有効にするには、
codecs.open()
を用いる。
|
ord(c) | c 引数 (長さが1の文字列) の整数 ASCII 値を返す。 ユニコード文字にも使用可 |
pow(x, y [, z]) | x の y 上を返す [モジュロ z] 。** 演算子も見よ |
property([fget[, fset[, fdel[, doc]]]]) | 新形式クラス (object を継続するクラス)におけるプロパティ属性を返す。
fget, fset, fdel はそれぞれ、プロパティ値の取得、プロパティ値の設定、
プロパティの削除を行う関数である。一般的な使用方法は次の通り。
class C(object):
|
range(start [,end [, step]]) | 整数のリストを返す。 引数 1 つだと、0 から 引数-1 のリスト 引数 2 つだと、start から end-1 のリスト 引数 3 つだと、start から end まで step ステップのリスト |
raw_input([prompt]) | prompt があれば表示した上で、標準入力から文字列を読み取る (末尾の \n は除去しない)。 input() も見よ |
reduce(f, list [, init]) | 引数 2 つの関数 f を list の要素に順々に適用し、リストを単一の値にする。 init があれば list の前に付け加える |
reload(module) | インポート済みのモジュールを再パース・再初期化する。対話モードで、モジュールを修正後に再読み込みしたいときに有用。 文法的間違いは無いが、初期化に失敗したモジュールについては、reload() をコールする前に、もういちどインポートする 必要がある。 |
repr(object) | 指定したオブジェクトについて、印字可能で、できれば 評価可能な 文字列を返す。
<=> `object` (バッククオートの使用)。
クラスで (__repr__ を使って) 再定義できる。
str() も見よ |
round(x, n=0) | x を小数点以下 n 桁で丸めた浮動小数点数を返す |
set([iterable]) | set オブジェクトを返す。その要素は、iterable
から取得するか、デフォルトで空である。Set 型 も見よ |
setattr(object, name, value) | getattr() と対をなす関数。setattr(o, 'foobar', 3) <=> o.foobar = 3 。属性が存在しなければ、新規に 生成 する |
slice([start,] stop[, step]) | 読み出し専用属性 start, stop, step を持ち、範囲を表す スライスオブジェクト を返す |
sorted(iterable[, cmp[, key[, reverse]]]) | iterable の要素をソートした 新たな リストを返す。
list.sort() とは異なり、リストをインプレースでソート せず、
文字列やタプルなど変更不能なシーケンスにも適用できる。sequences.sort
メソッドを見よ |
staticmethod(function) | 関数 function の静的メソッドを返す。
静的メソッドは暗黙の第 1 引数を取らない。
静的メソッドの宣言は次の記法を使う。class C: このメソッドは、クラスで C.f() と呼び出すことも、
インスタンスとして C().f() と呼び出すこともできる。
インスタンスはそのクラスが何であるかを除いて無視される。2.4 以降、 デコレータ 記法が使える。 class C: |
str(object) | 指定したオブジェクトについて、きれいに印字できるような文字列表現を返す。 クラスで (__str__) を使って再定義できる。repr() も見よ |
sum(iterable[, start=0]) | 数の(文字列不可)シーケンスの要素の総和、プラス start を返す。 シーケンスが空だと、start を返す |
super( type[, object-or-type]) | type の上位クラスを返す。第 2 引数を略すと、返される上位オブジェクトは非バウンド (unbound)
となる。第 2 引数がオブジェクトなら、isinstance(obj, type) が真でなければならない。
第 2 引数が型なら、issubclass(type2, type) が真でなければならない。
一般的な使用方法は次の通りclass C(B): |
tuple([seq]) | seq と要素が同じで、かつ順番も同じであるタプルを返す。 seq は、シーケンス、 イテレーションに対応するコンテナ、イテレータオブジェクトとできる。 seq がタプルなら、そのタプルをそのまま(コピーせずに)返す |
type(obj) | obj の型を表す タイプオブジェクト を返す(モジュール types を見よ)。 例、 import types if type(x) == types.StringType: print 'It is a string'. 注: if isinstance(x, types.StringType)... を使用する方が望ましい |
unichr(code) | 指定した code 値に対応するユニコード文字の1文字を返す |
unicode(string[, encoding[,error]]]) | 8 ビット文字列からユニコード文字列を生成する。
エンコーディング名とエラー処理方法 ('strict', 'ignore',or 'replace') を指定する。
__unicode__() メソッドがあるオブジェクトについては、
このメソッドを引数なしで呼び出して Unicode 文字列を生成する。 |
vars([object]) | 引数を略すと、現在のローカルシンボルテーブルに対応する辞書を返す。 引数にモジュールかクラス、クラスインスタンスを指定すると、 そのオブジェクトのシンボルテーブルに対応する辞書を返す。 文字列フォーマット演算子 "%" と一緒に使うと便利である |
xrange(start [, end [, step]]) | range() と似ているが、リスト全体を一挙にストアしない。 メモリが限られている場合の範囲が大きい "for" リストに有用である。 |
zip(seq1[, seq2,...]) | [これは圧縮ツールではない!圧縮は
zipfile] モジュールを見よ]
引数のシーケンスの各要素に対応するタプルからなるリストを返す。
2.4 以降、引数無しでコールすると、空のリストを返す
(TypeError を送出しない) |
exception.args
は、コンストラクタの引数のタプルをとる。
Exception
クラスを継承している。
errno
値に対応しない。import
に失敗した。TypeError
以外の引数エラー。
next()
メソッドで、次の値が存在しない場合に送出される。 sys.exit()
が行われた。warning
モジュールも見よ)。
class C:
def __init__(self, v): self.value = v
def __add__(self, r): return self.value + r
a = C(3) # sort of like calling C.__init__(a, 3)
a + 4 # is equivalent to a.__add__(4)
メソッド | 説明 |
---|---|
__new__(cls[, ...]) | (コンストラクタとして)インスタンスを生成する。 __new__ が cls のインスタンスを返したら、__init__ を 後ろの引数 (...) を渡してコールする。さもなくば、 __init__ はコールされない。 詳細は、ここ を見よ |
__init__(self, args) | (コンストラクタとして)インスタンスを初期化する |
__del__(self) | オブジェクトが消滅する際(参照数が 0 になった際)にコールされる |
__repr__(self) | repr() と `...` 変換 |
__str__(self) | str() と print 文 |
__cmp__(self,other) | self と other を比較し <0, 0, >0 を返す。 >, <, == 等の実装に使われる |
__lt__(self, other) | self < other という比較。ブール値として解釈可能な値を返すか、例外を送出する |
__le__(self, other) | self <= other という比較。ブール値として解釈可能な値を返すか、例外を送出する |
__gt__(self, other) | self > other という比較。ブール値として解釈可能な値を返すか、例外を送出する |
__ge__(self, other) | self >= other という比較。ブール値として解釈可能な値を返すか、例外を送出する |
__eq__(self, other) | self == other という比較。ブール値として解釈可能な値を返すか、例外を送出する |
__ne__(self, other) | self != other (と self <> other) という比較。 ブール値として解釈可能な値を返すか、例外を送出する |
__hash__(self) | 32 ビットのハッシュ値を計算する。hash() 関数や辞書演算に使われる |
__nonzero__(self) | 真値テストに使われ、0 か 1 を返す。このメソッドが未定義の場合、__len__() が
定義済みならコールされる。さもなければ、すべてのクラスインスタンスが真とみなされる |
__getattr__(self,name) | 属性 name が見つからない場合にコールされる。 __getattribute__ も見よ |
__getattribute__( self, name) | __getattr__ と同様だが、 属性 name がアクセスされる際に、常に コールされる |
__setattr__(self, name, value) | 属性に値がセットされる際にコールされる。 (このメソッド内では、"self.name = value" は使ってはならない。 代わって "self.__dict__[name] = value" を使うこと) |
__delattr__(self, name) | 属性 name が削除される際にコールされる |
__call__(self, *args, **kwargs) | インスタンスが関数としてコールされると、このメソッドがコールされる。
つまり、obj(arg1, arg2, ...) は
obj.__call__(arg1, arg2, ...) の短縮記法である |
operator
モジュール内の一覧を見よ。
演算子に対応する関数名は、前後に '__' が付くものと付かないものと、 2 つの形式 がある
(たとえば、 __add__
と add
)。
演算子 | 特殊メソッド |
---|---|
self + other | __add__(self, other) |
self - other | __sub__(self, other) |
self * other | __mul__(self, other) |
self / other | __div__(self, other) および
__truediv__(self,other) ただし __future__.division が有効のとき |
self // other | __floordiv__(self, other) |
self % other | __mod__(self, other) |
divmod(self,other) | __divmod__(self, other) |
self ** other | __pow__(self, other) |
self & other | __and__(self, other) |
self ^ other | __xor__(self, other) |
self | other | __or__(self, other) |
self << other | __lshift__(self, other) |
self >> other | __rshift__(self, other) |
nonzero(self) | __nonzero__(self) (ブールテストに使用) |
-self | __neg__(self) |
+self | __pos__(self) |
abs(self) | __abs__(self) |
~self | __invert__(self) (ビット毎) |
self += other | __iadd__(self, other) |
self -= other | __isub__(self, other) |
self *= other | __imul__(self, other) |
self /= other | __idiv__(self, other) および
__itruediv__(self,other) ただし __future__.division が有効のとき |
self //= other | __ifloordiv__(self, other) |
self %= other | __imod__(self, other) |
self **= other | __ipow__(self, other) |
self &= other | __iand__(self, other) |
self ^= other | __ixor__(self, other) |
self |= other | __ior__(self, other) |
self <<= other | __ilshift__(self, other) |
self >>= other | __irshift__(self, other) |
組み込み関数 | 特殊メソッド |
---|---|
int(self) | __int__(self) |
long(self) | __long__(self) |
float(self) | __float__(self) |
complex(self) | __complex__(self) |
oct(self) | __oct__(self) |
hex(self) | __hex__(self) |
coerce(self, other) | __coerce__(self, other) |
__add__(a, 3)
__radd__(a, 3)
演算子 | 特殊メソッド | 備考 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
すべての シーケンスと辞書 | |||||||||||||||||||
len(self) | __len__(self) | オブジェクトの長さ, >= 0. 長さ 0 == false | |||||||||||||||||
self[k] | __getitem__(self, k) | インデックスまたはキーが k の要素を取得する(インデックスは 0 始まり)。 k がスライスオブジェクトなら、スライスを返す | |||||||||||||||||
self[k] = value | __setitem__(self, k, value) | インデックス/キー/スライス k の要素を設定する k. | |||||||||||||||||
del self[k] | __delitem__(self, k) | インデックス/キー/スライス k の要素を削除する k. | |||||||||||||||||
elt in self elt not in self |
__contains__(self, elt) not __contains__(self, elt) |
普通にシーケンスの繰返しを使うより効率的である | |||||||||||||||||
iter(self) | __iter__(self) | 要素についてのイテレータを返す (辞書のキーについては self.iterkeys())。 イテレータ を見よ | |||||||||||||||||
シーケンス の標準メソッド、ほか | |||||||||||||||||||
self[i:j] | __getslice__(self, i, j) | 2.0 で 撤廃された。代わって、__getitem__ の引数にスライスオブジェクトを指定する |
|||||||||||||||||
self[i:j] = seq | __setslice__(self, i, j,seq) | 2.0 で 撤廃された。代わって、__setitem__ の引数にスライスオブジェクトを指定する |
|||||||||||||||||
del self[i:j] | __delslice__(self, i, j) | Sself[i:j] = [] と同じ。
2.0 で 撤廃された。代わって、__delitem__ の引数にスライスオブジェクトを指定する |
|||||||||||||||||
self * n | __mul__(self, n) | (公式ドキュメントでは __repeat__ とあるが動作しない) | |||||||||||||||||
self + other | __add__(self, other) | (公式ドキュメントでは __concat__ とあるが動作しない) | |||||||||||||||||
辞書 の標準メソッド、ほか | |||||||||||||||||||
hash(self) | __hash__(self) | オブジェクト self のハッシュ値。辞書のキーに使われる |
属性 | 意味 |
---|---|
|
dir() を使うこと |
属性 | 意味 |
---|---|
__doc__ | (文字列/None、R/O)doc string (<=> __dict__['__doc__']) |
__name__ | (文字列、R/O)モジュール名 (__dict__['__name__'] も) |
__dict__ | (辞書、R/O) モジュールの名前空間 |
__file__ | (文字列/未定義、R/O)pyc, .pyo か .pyd(インタプリタに静的リンクされている場合は未定義)
のパス名。2.3 以前では、現在のスクリプトのファイル名を取得するには sys.argv[0] を使う
|
__path__ | (リスト/未定義、R/O)パッケージを検索するディレクトリパスのリスト(パッケージ専用) |
属性 | 意味 |
---|---|
__doc__ | (文字列/None、R/O)doc string (<=> __dict__['__doc__']) |
__name__ | (文字列, R/W) クラス名 (__dict__['__name__'] も) |
__module__ | (文字列, R/W) クラスが定義されたモジュール名 |
__bases__ | (タプル, R/W) 親クラス |
__dict__ | (辞書, R/W) (クラスの名前空間での) 属性 |
促成 | 意味 |
---|---|
__class__ | (クラス, R/W) インスタンスが所属するクラス |
__dict__ | (辞書, R/W) 属性 |
属性 | 意味 |
---|---|
__doc__ | (文字列/None、R/O)ddoc string |
__name__ | (文字列, R/O) 関数名 |
func_doc | (R/W) __doc__ と同じ |
func_name | (R/O, 2.4 以降は R/W): __name__ と同じ |
func_defaults | (タプル/None, R/W) (あれば)引数のデフォルト値 |
func_code | (コード, R/W) 関数の本体をコンパイルしたコードオブジェクト |
func_globals | (辞書, R/O) 関数のグローバル変数の辞書への参照 |
Attribute | Meaning |
---|---|
__doc__ | (文字列/None, R/O) doc string |
__name__ | (文字列, R/O) メソッド名 (im_func.__name__ と同じ) |
im_class | (クラス, R/O) メソッドが定義された(基底)クラス |
im_self | (インスタンス/None, R/O) 対象となるインスタンスオブジェクト(unbound なら None) |
im_func | (関数, R/O) 関数オブジェクト |
属性 | 意味 |
---|---|
__doc__ | (文字列/None, R/O) doc string |
__name__ | (文字列, R/O) 関数名 |
__self__ | [メソッドのみ] 対象となるオブジェクト |
|
dir() を使うこと |
属性 | 意味 |
---|---|
co_name | (文字列, R/O) 関数名 |
co_argcount | (整数, R/0) 固定引数の数 |
co_nlocals | (整数, R/O) ローカル変数の数 (引数も含む) |
co_varnames | (タプル, R/O) ローカル変数の名前 (引数から始まる) |
co_code | (文字列, R/O) バイトコード命令のシーケンス |
co_consts | (タプル, R/O) バイトコードで使われるリテラル。初めの要素は関数ドキュメント(か None) |
co_names | (タプル, R/O) バイトコードで使われる名前 |
co_filename | (文字列, R/O) コンパイルされたコードのファイル名 |
co_firstlineno | (整数, R/O) 関数の先頭行番号 |
co_lnotab | (文字列, R/O) 文字列エンコードされた、行番号へのバイトコードオフセット |
co_stacksize | (整数, R/O) 必要なスタックサイズ (ローカル変数を含む) |
co_flags | (int, R/O) インタプリタのフラグ。"*arg" 記法を使う場合はビット 2 がセット、 '**keywords' 記法を使う場合はビット 3 がセットされる |
属性 | 意味 |
---|---|
f_back | (フレーム/None, R/O) (コール元の)前スタックフレーム |
f_code | (コード, R/O) 現フレームで実行中のコードオブジェクト |
f_locals | (辞書, R/O) ローカル変数 |
f_globals | (辞書, R/O) グローバル変数 |
f_builtins | (辞書, R/O) 組み込みの名前 |
f_restricted | (整数, R/O) 関数が制限実行モードで実行されていることを示すフラグ |
f_lineno | (整数, R/O) 現在の行番号 |
f_lasti | (整数, R/O) 現在実行中の命令 (バイトコードのインデックス) |
f_trace | (関数/None, R/W) ソースの各行の先頭でコールされるデバッグ用のフック |
f_exc_type | (型/None, R/W) 直近の例外の型 |
f_exc_value | (任意, R/W) 直近の例外の値 |
f_exc_traceback | (トレースバック/None, R/W) 直近の例外のトレースバック |
属性 | 意味 |
---|---|
tb_next | (フレーム/None, R/O) スタックトレースでの次(例外が発生した側)のレベル |
tb_frame | (フレーム, R/O) 現レベルの実行フレーム |
tb_lineno | (整数, R/O) 例外が発生した行番号 |
tb_lasti | (整数, R/O) 現在実行中の命令 (バイトコードのインデックス) |
属性 | 意味 |
---|---|
start | (任意/None, R/O) 下限(スライス範囲に含まれる) |
stop | (任意/None, R/O) 上限(スライス範囲には含まれない) |
step | (任意/None, R/O) とび幅 |
属性 | 意味 |
---|---|
real | (浮動小数点数, R/O) 実部 |
imag | (浮動小数点数, R/O) 虚部 |
属性 | 意味 |
---|---|
tolist | (組み込みメソッド, R/O) ? |
変数 | 内容 |
---|---|
argv | Python スクリプトに渡されたコマンドライン引数のリスト。
sys.argv[0] はスクリプト名となる |
builtin_module_names | インタプリタにリンクされている(C 言語による)モジュールの名前の文字列のリスト |
byteorder | 〔プラットホームの〕標準のバイトオーダ。'big'(-endian) または 'little'(-endian) |
check_interval | スレッドスイッチやシグナルをチェックする時間間隔 (バーチャルマシンにおける命令数で示される) |
copyright | Python インタプリタに適用されるコピーライトについての文字列 |
exec_prefix prefix |
Python のファイルがインストールされる基底ディレクトリ(プラットホーム依存)。例、 'C:\\Python23', '/usr'. |
executable | Python インタプリタの実行バイナリの名前(例、'C:\\Python23\\python.exe', '/usr/bin/python') |
exitfunc | 引数無しの関数を指定すると、インタプリタが終了する際にコールされる。
2.4 で撤廃された。
atexit モジュールを使用するべきである。 |
last_type, last_value, last_traceback | 例外が捕捉されず、インタプリタがエラーを表示する場合にセットされる。デバッガにより使われる |
maxint | 整数型で使える最大の正の値。2.2 以降、 整数型と長整数型は区別されず、使える整数に上限値はない |
maxunicode | Unicode 文字について使用できる最大のコードポイント |
modules | ロード済のモジュールについての辞書 |
path | 外部モジュールの検索パス。プログラム中で変更可能である。
sys.path[0] は、現在実行中のスクリプトあるディレクトリ |
platform | 現在のプラットホーム。例、"sunos5", "win32" |
ps1, ps2 | 対話モードで使うプロンプト。通常、 ">>>" と "..." である |
stdin, stdout, stderr | 入出力に使うファイルオブジェクト。別のファイルオブジェクト
(または、stdout/stderr については write(string) メソッドを、
stdin については readline() メソッドを持つ任意のオブジェクト)
を代入するとリダイレクトできる。
__stdin__ ,__stdout__ と __stderr__ は
デフォルト値である |
version | Python インタプリタのバージョンを示す文字列 |
version_info | Python のバージョンについてのタプル - (major, minor, micro, level, serial). |
winver | Windows プラットホームでレジストリキーの生成に使われるバ-ジョン番号 (例、 '2.2'). |
Variable | Meaning |
---|---|
name | name of O/S-specific module (e.g. "posix", "mac", "nt") |
path | O/S-specific module for path manipulations. On Unix, os.path.split() <=> posixpath.split() |
curdir | string used to represent current directory (eg '.') |
pardir | string used to represent parent directory (eg '..') |
sep | string used to separate directories ('/' or '\').
Tip: Use os.path.join() to build portable paths. |
altsep | Alternate separator if applicable (None otherwise) |
pathsep | character used to separate search path components (as in $PATH), eg. ';' for windows. |
linesep | line separator as used in text files, ie '\n' on Unix, '\r\n' on Dos/Win, '\r' on Mac. |
Function | Result |
---|---|
makedirs(path[, mode=0777]) | Recursive directory creation (create required intermediary dirs); os.error if fails. |
removedirs(path) | Recursive directory delete (delete intermediary empty dirs);
fails (os.error) if the directories are not empty. |
renames(old, new) | Recursive directory or file renaming; os.error if fails. |
urandom(n) | Returns a string containing n bytes of random data. |
Variable | Meaning |
---|---|
environ | dictionary of environment variables, e.g. posix.environ['HOME']. |
error | exception raised on POSIX-related error. Corresponding value is tuple of errno code and perror() string. |
Function | Result |
---|---|
chdir(path) | Changes current directory to path. |
chmod(path, mode) | Changes the mode of path to the numeric mode |
close(fd) | Closes file descriptor fd opened with posix.open. |
_exit(n) | Immediate exit, with no cleanups, no SystemExit, etc... Should use this to exit a child process. |
execv(p, args) | "Become" executable p with args args |
getcwd() | Returns a string representing the current working directory. |
getcwdu() | Returns a Unicode string representing the current working directory. |
getpid() | Returns the current process id. |
getsid() | Calls the system call getsid() [Unix]. |
fork() | Like C's fork(). Returns 0 to child, child pid to parent [Not on Windows]. |
kill(pid, signal) | Like C's kill [Not on Windows]. |
listdir(path) | Lists (base)names of entries in directory path, excluding '.' and '..'. If path is a Unicode string, so will be the returned strings. |
lseek(fd, pos, how) | Sets current position in file fd to position pos, expressed as an offset relative to beginning of file (how=0), to current position (how=1), or to end of file (how=2). |
mkdir(path[, mode]) | Creates a directory named path with numeric mode (default 0777). |
open(file, flags, mode) | Like C's open(). Returns file descriptor. Use file object functions rather than this low level ones. |
pipe() | Creates a pipe. Returns pair of file descriptors (r, w) [Not on Windows]. |
popen(command, mode='r', bufSize=0) | Opens a pipe to or from command. Result is a file object to read to or write from, as indicated by mode being 'r' or 'w'. Use it to catch a command output ('r' mode), or to feed it ('w' mode). |
remove(path) | See unlink . |
rename(old, new) | Renames/moves the file or directory old to new. [error if target name already exists] |
renames(old, new) | Recursive directory or file renaming function. Works like rename(), except creation of any intermediate directories needed to make the new pathname good is attempted first. After the rename, directories corresponding to rightmost path segments of the old name will be pruned away using removedirs(). |
rmdir(path) | Removes the empty directory path |
read(fd, n) | Reads n bytes from file descriptor fd and return as string. |
stat(path) | Returns st_mode, st_ino, st_dev, st_nlink, st_uid,st_gid, st_size, st_atime, st_mtime, st_ctime. [st_ino, st_uid, st_gid are dummy on Windows] |
system(command) | Executes string command in a subshell. Returns exit status of subshell (usually 0 means OK). Since 2.4 use subprocess.call() instead. |
times() | Returns accumulated CPU times in sec (user, system, children's user, children's sys, elapsed real time) [3 last not on Windows]. |
unlink(path) | Unlinks ("deletes") the file (not dir!) path. Same as: remove . |
utime(path, (aTime, mTime)) | Sets the access & modified time of the file to the given tuple of values. |
wait() | Waits for child process completion. Returns tuple of pid, exit_status [Not on Windows]. |
waitpid(pid, options) | Waits for process pid to complete. Returns tuple of pid, exit_status [Not on Windows]. |
walk(top[, topdown=True [, onerror=None]]) | Generates a list of file names in a directory tree, by walking the tree either top down or bottom up.
For each directory in the tree rooted at directory top (including top itself), it yields a
3-tuple (dirpath, dirnames, filenames) - more info here.
See also os.path.walk() . |
write(fd, str) | Writes str to file fd. Returns nb of bytes written. |
os.path.exists(p)
)!Function | Result |
---|---|
abspath(p) | Returns absolute path for path p, taking current working dir in account. |
commonprefix(list) | Returns the longuest path prefix (taken character-by-character) that is a prefix of all paths in list (or '' if list empty). |
dirname/basename(p) | directory and name parts of the path p. See also split. |
exists(p) | True if string p is an existing path (file or directory).
See also lexists . |
expanduser(p) | Returns string that is (a copy of) p with "~" expansion done. |
expandvars(p) | Returns string that is (a copy of) p with environment vars expanded. [Windows: case significant; must use Unix: $var notation, not %var%] |
getmtime(filepath) | Returns last modification time of filepath (integer nb of seconds since epoch). |
getatime(filepath) | Returns last access time of filepath (integer nb of seconds since epoch). |
getsize(filepath) | Returns the size in bytes of filepath. os.error if file inexistent or inaccessible. |
isabs(p) | True if string p is an absolute path. |
isdir(p) | True if string p is a directory. |
islink(p) | True if string p is a symbolic link. |
ismount(p) | True if string p is a mount point [true for all dirs on Windows]. |
join(p[,q[,...]]) | Joins one or more path components in a way suitable for the current OS. |
lexists(path) | True if the file specified by path exists, whether or not it's a symbolic link (unlike exists ). |
split(p) | Splits p into (head, tail) where tail is last pathname component and
head is everything leading up to that. <=> (dirname(p), basename(p)) |
splitdrive(p) | Splits path p in a pair ('drive:', tail) [Windows] |
splitext(p) | Splits into (root, ext) where last comp of root contains no periods and ext is empty or starts with a period. |
walk(p, visit, arg) | Calls the function visit with arguments (arg, dirname, names)
for each directory recursively in the directory tree rooted at p (including
p itself if it's a dir). The argument dirname specifies the visited directory,
the argument names lists the files in the directory. The visit function may
modify names to influence the set of directories visited below dirname, e.g.
to avoid visiting certain parts of the tree. See also os.walk() for an alternative. |
Function | Result |
---|---|
copy(src, dest) | file src の内容を ファイル dest にコピーする。 ファイルの許可属性も保持する。 |
copytree(src, dest[, symlinks]) | ディレクトリ src 以下を ディレクトリ dest へ再帰的にコピーする (コピー前に dest は存在しないものとする)。 symlinks が 真 の場合、 src のリンク は dest でも同様に維持される。 |
move(src, dest) | ファイルもしくはディレクトリを新しい位置へ再帰的に移動する。 |
rmtree(path[, ignore_errors[, onerror]]) | ディレクトリツリーを完全に削除する。 ignore_errors が真の場合、エラーを 無視する か、 onerror(func, path, sys.exc_info()) が提供されていれば 引数 func (faulty function) と path (concerned file) を設定してコールする。 |
Variable | Meaning |
---|---|
altzone | ローカルのサマータイムのオフセットを正午子午線からの西方向への符号付きの秒数であらわす。 |
daylight | サマータイムが指定されている場合、非ゼロがセットされている。 |
timezone | ローカル・タイムゾーン(非サマータイム)のオフセット、UTCから西向きの秒数。 |
tzname | タプル (local non-DST timezone の名前, local DST timezone の名前). |
関数名 | 結果 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
clock() | On Unix: 現在のプロセッサー・タイムを浮動小数点数を用いた秒であらわす。 On Windows: この関数を最初に呼んでからの経過秒数を浮動小数点数であらわす。 (精度 < 1µs). |
||||||||||||||||||||||||||||||
time() | UTC time を epoch からの 経過 秒数 として float型 で返す。 | ||||||||||||||||||||||||||||||
gmtime([secs]), localtime([secs]) |
Returns 時間を表現する9要素のタプルを返す。 secs が与えられなかった場合は、現在の時刻を使用する。 2.2 より、 以下のような属性をもつ struct_time オブジェクトを返す
(以前のようにタプルとしてアクセスすることも可能である):
|
||||||||||||||||||||||||||||||
asctime([timeTuple]), | 'Mon Apr 03 08:31:14 2006' という形式の 24 字の文字列。 secs が与えられない場合、現在時刻を使用する。 | ||||||||||||||||||||||||||||||
ctime([secs]) | asctime(localtime(secs)) と等価 |
||||||||||||||||||||||||||||||
mktime(timeTuple) | localtime () の逆動作。 秒数を float 表現で返す。 |
||||||||||||||||||||||||||||||
strftime(format[, timeTuple]) | 時刻のタプルを、format(下記参照)に則して文字列に フォーマット する。 secs が与えられない場合、現在時刻を使用する。 | ||||||||||||||||||||||||||||||
strptime(string[, format]) | format(strftime() と同記法。下記参照) に則した時刻を表す文字列をパースし、
時刻のタプル struct_time を返す。
format のデフォルトは、asctime のフォーマットと同じく、"%a %b %d %H:%M:%S %Y" 。 |
||||||||||||||||||||||||||||||
sleep(secs) | 実行を secs 秒間停止する。 secs は float でもよい。 |
Directive | Meaning |
---|---|
%a |
ロケールにおける省略形の曜日名 |
%A |
ロケールにおける完全な形の曜日名 |
%b |
ロケールにおける省略形の月名 |
%B |
ロケールにおける完全な形の月名 |
%c |
ロケールにおける日付と時刻の適切な表現 |
%d |
日 の 10 進数 [01,31] による表現 |
%H |
時 (24 時間制) の 10 進数 [00,23] による表現 |
%I |
時 (12 時間制) の 10 進数 [01,12] による表現 |
%j |
1 年の経過日数の 10 進数 [001,366] による表現 |
%m |
月 の 10 進数 [01,12] による表現 |
%M |
分 の 10 進数 [00,59] による表現 |
%p |
ロケールにおける AM と PM に相当する表現 |
%S |
秒 の 10 進数 [00,61] による表現。 61 もアリ! |
%U |
1 年の週番号 (日曜を週の開始とする) の 10 進数 [00,53] による表現。 年の最初の日曜日に先行するすべての曜日は 0 週目 となる |
%w |
曜日 の 10 進数 [0(日曜),6] による表現 |
%W |
1 年の週番号 (月曜を週の開始とする) の 10 進数 [00,53] による表現。 年の最初の日曜日に先行するすべての曜日は 0 週目 となる |
%x |
ロケールにおける適切な日付の表現 |
%X |
ロケールにおける適切な時刻の表現 |
%y |
西暦年 の下位 2 桁の 10 進数 [00,99] による表現 |
%Y |
西暦年 の 10 進数 [00,99] による表現 |
%Z |
タイムゾーンの名前 (タイムゾーンが設定されていない場合には空文字列) |
%% |
文字リテラル "%" 自体の表現 |
変数 | 意味 |
---|---|
digits | 文字列 '0123456789' |
hexdigits, octdigits | 正統的な (Legal) 16進数 と 8進数 の数すべてを含む文字列 |
letters, uppercase, lowercase, whitespace | それぞれ、大文字+小文字、大文字、小文字、空白文字すべてを含む文字列 |
ascii_letters, ascii_lowercase, ascii_uppercase | 上記と同じだが、現在の ロケール を考慮する |
index_error | index() で部分文字列が見つからなかった場合に送出される例外 |
関数 | 結果 |
---|---|
expandtabs(s, tabSize) | 文字列 s のコピーを、タブ展開して返す |
find/rfind(s, sub[, start=0[, end=0]) | sub が s[start:end] に完全に含まれている場合、文字列 s から、部分文字列 sub が見つかった最低/最高 のインデックスを返す。 sub が見つからなかった場合 -1 を返す |
ljust/rjust/center(s, width[, fillChar=' ']) | 文字列 s のコピーを返す。与えられた幅の領域内で 左/右に寄せる、もしくは中央にそろえ、 残りの部分は空白もしくは指定された文字で埋める。s の切り捨てはしない |
lower/upper(s) | 文字列 s (のコピー) を 大文字化/小文字化 して返す |
split(s[, sep=whitespace[, maxsplit=0]]) | 文字列 s に含まれる単語をリストとして返す。単語の区切り文字に sep を使用する |
rsplit(s[, sep=whitespace[, maxsplit=0]]) | split と同じだが、文字列の末尾から区切り処理を開始する。例えば、
'A,B,C'.split(',', 1) == ['A', 'B,C'] に対して
'A,B,C'.rsplit(',', 1) == ['A,B', 'C'] となる |
join(words[, sep=' ']) | リストやタプルからなる単語を、指定したキャラクタを間にはさんで結合する。 split の逆 |
replace(s, old, new[, maxsplit=0] | すべての old を new に置き換えて、文字列 s のコピーを返す。maxsplit で置き換え回数を制限する |
strip(s[, chars=None]) | 文字列 s (のコピー)から、先頭と末尾の chars を除去して返す。
(default: whitespace). Also: lstrip , rstrip . |
r'\w*'
) 形式 | 説明 |
---|---|
. | すべての文字 (DOTALL フラグ設定時は空白にも) にマッチ |
^ | 文字列の始端 (MULTILINE モードでは各行の始め) にマッチ |
$ | 文字列の終端 (MULTILINE モードでは各行の終わり) にマッチ |
* | 直前の表現の 0 回以上の(可能な限りの)繰り返し |
+ | 直前の表現の 1 回以上の(可能な限りの)繰り返し |
? | 直前の表現が 0 回 または 1 回現れる |
*?, +?, ?? | *, + と ? と同様だが、できるだけ 少ない 回数だけマッチする |
{m,n} | 直前の表現の m 回以上の n 回以下の(可能な限りの)繰り返し |
{m,n}? | 上と同様だが、できるだけ 少ない 回数だけ繰り返す |
[ ] | 文字セットを定義する。例えば、'[a-zA-Z]' はすべての英数字にマッチする (\w \S も見よ) |
[^ ] | 相補文字セット-記述していない文字にマッチするようなセット-を定義する |
\ | 特殊文字 '*?+&$|()' をエスケープする。または、特殊シーケンスを表す(下記参照)。 Python の文字列では、パターン文字列中に、'\\' または r'\' として記述する。 |
\\ | 文字 '\' にマッチする。Python の文字列では、パターン文字列中に、'\\\\' または r'\\' として記述する。 |
| | 選択肢を表す。 'foo|bar' は 'foo' または 'bar' にマッチする |
(...) | () 内の正規表現にマッチし、グループ を形成する |
(?:...) | 上と同様だが、グループ を形成しない (値をキャプチャしない) |
(?P<name>...) | () 内の正規表現にマッチし、名前付き の グループ を形成する (例、 r'(?P<id>[a-zA-Z_]\w*)' は id という名のグループを形成する) |
(?P=name) | name という名のグループに先立ってマッチしたテキストとマッチする |
(?=...) | パターン ... にマッチした直後の文字列とマッチする。ただし、文字列を一切破壊しない。例えば、 'Isaac (?=Asimov)' というパターンは 'Asimov' の直後にある 'Isaac' とだけマッチする。 |
(?!...) | パターン ... に マッチしなかった場合、直後の文字列とマッチする。 (?=...) を逆にしたもの。 |
(?<=...) | もし文字列内の現在位置の前に、現在位置で終わる ... とのマッチがあれば、マッチする。 これは 肯定後読みアサーション(positive lookbehind assertion) と呼ばれる。 |
(?<!...) | もし文字列内の現在位置の前に ...とのマッチがないならば、マッチする。 これは 否定後読みアサーション(negative lookbehind assertion)と呼ばれる。 |
(?(group)A|B) | [2.4+] group は (?Pgroup...) で定義された グループIDの数値 もしくは グループ名 である。
もし特定のグループとマッチした場合、正規表現パターン A が文字列に対して適用される。
もしグループとマッチしなかった場合は、代わりにパターン B が適用される。 |
(?#...) | コメント。無視される。 |
(?letters) | letters とは一つか複数の文字 'i','L', 'm', 's', 'u', 'x' である。
正規表現全体に対応する フラグ (re.I, re.L, re.M, re.S, re.U, re.X)
をセットする。フラグについては compile() を見よ。 |
文字 | 説明 |
---|---|
\number | 同じ番号をもつ group の内容とマッチする。 グループ番号は 1 から始まる。 |
\A | 文字列の開始位置のみにマッチする。 |
\b | word の先頭もしくは末尾にある空白文字: 例えば、'\bis\b' は 'is' とマッチするが、 'his' にはマッチしない。 |
\B | 単語の末尾と先頭 以外に位置する 空白文字。 |
\d | 数字 (<=> [0-9])。 |
\D | 数字以外の文字 (<=> [^0-9])。 |
\s | 空白文字 (<=> [ \t\n\r\f\v])。 |
\S | 空白文字以外の文字 (<=> [^ \t\n\r\f\v])。 |
\w | アルファベットと数字 (LOCALE フラグに依存する)。 |
\W | アルファベットと数字 以外の文字 (LOCALE フラグに依存する)。 |
\Z | 文字列の末尾のみにマッチする。 |
変数 | 意味 |
---|---|
error | パターン文字列が正しい正規表現でなかった事を示す例外。 |
関数 | 結果 |
---|---|
compile(pattern[,flags=0]) | 正規表現パターン文字列を regular expression object にコンパイルする。 フラグ ( | で結合可能):
|
escape(string) | 全ての非アルファベット文字にバックスラッシュを付けて string (のコピー)を返す。 |
match(pattern, string[, flags]) | string の 先頭 で 0 か 複数 の文字列が正規表現パターンとマッチした場合、
対応する MatchObject インスタンスを返す。
または、マッチしなかった場合 None を返す。 |
search(pattern, string[, flags]) | string から pattern とマッチする位置を探し、対応する
MatchObject インスタンスを返す。マッチしなかった場合、 None を返す。 |
split(pattern, string[, maxsplit=0]) | pattern を単位として string を区切る。 もし、パターンの内部で () が使われていた場合は、 出現したパターン または サブ・パターンも返される。 |
findall(pattern, string) | pattern の重複していないマッチ部分のリストを返す。パターンが 2つ以上のグループを持つ場合は、 グループのリストかタプルのリストを返す。 |
sub(pattern, repl, string[, count=0]) | string 内で、 pattern (文字列もしくは正規表現オブジェクト) と重複しないマッチの内、 一番左(count の最初)にあるものを 置換 repl で置換して得られた文字列を返す。 repl には文字列か関数をとることができる。関数は単一の MatchObj 引数で呼び出されたものであり、必ず置き換え文字列を返す。 |
subn(pattern, repl, string[, count=0]) | sub() と同じ。ただし、 タプル (newString, numberOfSubsMade) を返す。 |
Attribute | Description |
---|---|
flags | Flags arg used when RE obj was compiled, or 0 if none provided. |
groupindex | マッチング・パターン を {group name: group number} の辞書形式で記述したもの. |
pattern | RE オブジェクトをコンパイルした際のパターン文字列. |
Method | Result |
---|---|
match(string[, pos][, endpos]) | この正規表現でゼロもしくはそれより多くの文字が文字列の先頭でマッチした場合、
対応する MatchObject インスタンスを返す。もし文字列がパターンとマッチしない場合は
None を返す。 この動作はゼロ長一致(zero-length match)とは異なるので注意すること。第二引数 pos はオプション引数である。 pos には検索開始位置として文字列中のインデックスを指定する。 デフォルトは 0 である。この指定方法は文字列のスライス表記と完全には等しくない。パターン文字列 '' (2個のシングル・クオート) は文字列の実際の先頭と改行の直後にマッチするが、文字列検索の開始位置では必要ない。 オプション引数 endpos で文字列検索の範囲を制限できる; endpos 指定により検索対象である文字列の長さが endpos であるかのように振舞う。したがって、 pos から endpos の範囲の文字だけがマッチングの対象となる。 |
search(string[, pos][, endpos]) | 文字列を走査して、この正規表現と一致する位置を探し、対応する MatchObject
インスタンスを返す。パターンが文字列のどこにも一致しなかった場合は None を返す。
この動作はゼロ長一致(zero-length match)を検索する事とは異なる。オプション引数 pos と endpos の使用方法は match() と同じ。 |
split(string[, maxsplit=0]) | split() 関数と同じだが、パターンをコンパイルして使用する。 |
findall(string) | findall() 関数と同じだが、パターンをコンパイルして使用する。 |
sub(repl, string[, count=0]) | sub() 関数と同じだが、パターンをコンパイルして使用する。 |
subn(repl, string[, count=0]) | subn() 関数と同じだが、パターンをコンパイルして使用する。 |
属性 | 説明 |
---|---|
pos | pos の値は search または match 関数に渡される。正規表現(RE)エンジンは pos で指定された位置から文字列検索を開始する。 |
endpos | endpos の値は search または match 関数に渡される。正規表現エンジンは endpos で指定された位置で文字列検索を終了する。 |
re | MatchObj インスタンスを生成した match または search 関数の正規表現オブジェクト。 |
string | match() または search() に渡された文字列。 |
関数 | 結果 |
---|---|
group([g1, g2, ...]) | マッチしたグループを1つかそれより多く返す。 引数が1つである場合、返り値は文字列である。引数が複数の場合、返り値は引数ごとに要素1個を持つタプルである。gi にゼロを指定した場合、マッチした文字列全体を返す。もし1 <= gi <= 99 ならば、マッチしたグループ #gi の文字列 (または、グループがない場合には None) を返す。gi にグループの名前を指定してもよい。 |
groups() | 全グループのマッチ文字列をタプルで返す。 マッチしなかったグループの値は None になる。 len(tuple)== 1 の場合、返り値はタプルではなく文字列である。 |
start(group), end(group) | group がマッチした部分文字列の開始位置と終了位置を返す。 (または、グループは存在するがマッチしていない場合は None を返す) |
span(group) | 要素2つのタプル (start(group), end(group)) を返す。 グループがマッチしていなかった場合 (None, None) を返す。 |
名前 | 値 |
---|---|
pi | 3.1415926535897931 |
e | 2.7182818284590451 |
名前 | 結果 |
---|---|
acos(x) | x(ラジアン単位)のアークコサインを返す |
asin(x) | x(ラジアン単位)のアークサインを返す |
atan(x) | x(ラジアン単位)のアークタンジェントを返す |
atan2(y, x) | y/x(ラジアン単位)のアークタンジェントを返す。関数の返す値域は -pi から pi の間である。
atan(y/x) とは異なり、x と y 両方の符号を考慮する |
ceil(x) | x の天井値 (ceil)、すなわち x 以上の最も小さい整数を float 型で返す |
cos(x) | x(ラジアン単位)のコサインを返す |
cosh(x) | x の双曲線コサインを返す |
degrees(x) | 角 x をラジアン単位から度数単位に変換する |
exp(x) | e の x 乗を返す (e ** x) |
fabs(x) | x の絶対値を float 型で返す |
floor(x) | x の床値 (floor)、すなわち x 以下の最も大きい整数を float 型で返す |
fmod(x, y) | 〔プラットフォームの C ライブラリで定義されている〕fmod(x, y) を返す。 プラットフォームに依存するので、x % y とは結果が異なる場合がある |
frexp(x) | x の仮数と指数を (m, e) のペアとして返す。m は float 型、 e は int 型であり、
式で表すと x = m * 2.**e となる。 x が 0 ならば m と e は共に 0 である。
それ以外の場合 0.5 <= abs(m) < 1.0 となる |
hypot(x, y) | ユークリッド距離 sqrt(x*x + y*y) を返す |
ldexp(x, i) | x * (2**i) |
log(x[, base]) | base を底とした x の対数を返す。 base を指定しないと、(e を底とした) x の自然対数を返す |
log10(x) | 10 を底とした x の対数を返す |
modf(x) | x の小数部分と整数部分を返す。 小数部分と整数部分の両方に x の符号が引き継がれる。 整数部分も float 型で返す |
pow(x, y) | x**y (y の x 乗)を返す。 y=2 である場合は
x*x を使用する方がより効率的である |
radians(x) | 角 x を度数単位からラジアン単位に変換する |
sin(x) | x(ラジアン単位)のサインを返す |
sinh(x) | x の双曲線サインを返す |
sqrt(x) | x の平方根を返す |
tan(x) | x(ラジアン単位)のタンジェントを返す |
tanh(x) | x の双曲線タンジェントを返す |
getopt(list, optstr) -- C言語に類似. <optstr> は探索用のオプション文字列 引数を取るオプション文字の後には ':' を付ける。例、 # "python test.py -c hi -a arg1 arg2" のように呼び出す opts, args = getopt.getopt(sys.argv[1:], 'ab:c:') # opts は、 [('-c', 'hi'), ('-a', '')] # args は、 ['arg1', 'arg2']
Lib
directory. The subdirectory
Lib/site-packages
contains platform-specific packages and modules. Operation | Result |
---|---|
aifc | Stuff to parse AIFF-C and AIFF files. |
anydbm | Generic interface to all dbm clones. (dbhash, gdbm, dbm, dumbdbm). |
asynchat | A class supporting chat-style (command/response) protocols. |
asyncore | Basic infrastructure for asynchronous socket service clients and servers. |
atexit | Register functions to be called at exit of Python interpreter. |
audiodev | Classes for manipulating audio devices (currently only for Sun and SGI). |
base64 | Conversions to/from base64 transport encoding as per RFC-1521. |
BaseHTTPServer | HTTP server base class |
|
|
bdb | A generic Python debugger base class. |
bsddb | (Optional) improved BSD database interface [package]. |
binhex | Macintosh binhex compression/decompression. |
bisect | Bisection algorithms. |
bz2 | BZ2 compression. |
calendar | Calendar printing functions. |
cgi | Wraps the WWW Forms Common Gateway Interface (CGI). |
CGIHTTPServer | CGI-savvy HTTP Server. |
cmd | A generic class to build line-oriented command interpreters. |
|
|
|
|
code | Utilities needed to emulate Python's interactive interpreter. |
codecs | Lookup existing Unicode encodings and register new ones. |
codeop | Utilities to compile possibly incomplete Python source code. |
collections | high-performance container datatypes. Currently, the only datatype is a double-ended queue. |
colorsys | Conversion functions between RGB and other color systems. |
commands | Execute shell commands via os.popen [Unix only]. |
compileall | Force "compilation" of all .py files in a directory. |
ConfigParser | Configuration file parser (much like windows .ini files). |
Cookie | HTTP state (cookies) management. |
copy | Generic shallow and deep copying operations. |
copy_reg | Helper to provide extensibility for modules pickle/cPickle. |
csv | Tools to read comma-separated files (of variations thereof). |
datetime | Improved date/time types (date , time , datetime , timedelta ). |
dbhash | (g)dbm-compatible interface to bsdhash.hashopen. |
decimal | Decimal floating point arithmetic. |
difflib | Tool for comparing sequences, and computing the changes required to convert one into another. |
dircache | Sorted list of files in a dir, using a cache. |
|
|
dis | Bytecode disassembler. |
distutils | Package installation system. |
distutils.command.register | Registers a module in the Python package index (PyPI). This command plugin adds the register command to distutil scripts. |
distutils.debug | |
distutils.emxccompiler | |
distutils.log | |
doctest | Unit testing framework based on running examples embedded in docstrings. |
DocXMLRPCServer | Creation of self-documenting XML-RPC servers, using pydoc to create HTML API doc on the fly. |
dumbdbm | A dumb and slow but simple dbm clone. |
|
|
dummy_thread | |
dummy_threading | Helpers to make it easier to write code that uses threads where supported, but still runs on Python versions without thread support. The dummy modules simply run the threads sequentially. |
A package for parsing, handling, and generating email messages. New version 3.0 dropped various deprecated APIs and removes support for Python versions earlier than 2.3. | |
encodings | New codecs: idna (IDNA strings), koi8_u (Ukranian), palmos (PalmOS 3.5), punycode (Punycode IDNA codec), string_escape (Python string escape codec: replaces non-printable chars w/ Python-style string escapes). New codecs in 2.4: HP Roman8, ISO_8859-11, ISO_8859-16, PCTP-154, TIS-620; Chinese, Japanese and Korean codecs. |
exceptions | Class based built-in exception hierarchy. |
filecmp | File and directory comparison. |
fileinput | Helper class to quickly write a loop over all standard input files. |
|
|
fnmatch | Filename matching with shell patterns. |
formatter | Generic output formatting. |
fpformat | General floating point formatting functions. |
ftplib | An FTP client class. Based on RFC 959. |
gc | Perform garbage collection, obtain GC debug stats, and tune GC parameters. |
getopt | Standard command line processing. See also optparse. |
getpass | Utilities to get a password and/or the current user name. |
gettext | Internationalization and localization support. |
glob | Filename "globbing" utility. |
gopherlib | Gopher protocol client interface. |
|
|
gzip | Read & write gzipped files. |
heapq | Heap queue (priority queue) helpers. |
hmac | HMAC (Keyed-Hashing for Message Authentication). |
hotshot.stones | Helper to run the pystone benchmark under the Hotshot profiler. |
htmlentitydefs | HTML character entity references. |
htmllib | HTML2 parsing utilities |
HTMLParser | Simple HTML and XHTML parser. |
httplib | HTTP1 client class. |
idlelib | (package) Support library for the IDLE development environment. |
ihooks | Hooks into the "import" mechanism. |
imaplib | IMAP4 client.Based on RFC 2060. |
imghdr | Recognizing image files based on their first few bytes. |
imputil | Provides a way of writing customized import hooks. |
inspect | Get information about live Python objects. |
itertools | Tools to work with iterators and lazy sequences. |
keyword | List of Python keywords. |
linecache | Cache lines from files. |
ossaudiodev (Linux). |
|
locale | Support for number formatting using the current locale settings. |
logging | (package) Tools for structured logging in log4j style. |
macpath | Pathname (or related) operations for the Macintosh [Mac]. |
macurl2path | Mac specific module for conversion between pathnames and URLs [Mac]. |
mailbox | Classes to handle Unix style, MMDF style, and MH style mailboxes. |
mailcap | Mailcap file handling (RFC 1524). |
marshal | Internal Python object serialization. |
markupbase | Shared support for scanning document type declarations in HTML and XHTML. |
mhlib | MH (mailbox) interface. |
mimetools | Various tools used by MIME-reading or MIME-writing programs. |
mimetypes | Guess the MIME type of a file. |
MimeWriter | Generic MIME writer. Deprecated since release 2.3.
Use the email package instead. |
mimify | Mimification and unmimification of mail messages. |
mmap | Interface to memory-mapped files - they behave like mutable strings. |
modulefinder | Tools to find what modules a given Python program uses, without actually running the program. |
multifile | A readline()-style interface to the parts of a multipart message. |
mutex | Mutual exclusion -- for use with module sched. See also std module threading ,
and glock. |
netrc | Parses and encapsulates the netrc file format. |
nntplib | An NNTP client class. Based on RFC 977. |
ntpath | Common operations on Windows pathnames. |
nturl2path | Convert a NT pathname to a file URL and vice versa. |
olddifflib | Old version of difflib (helpers for computing deltas between objects)? |
operator | Standard operators as functions |
optparse | Improved command-line option parsing library (see also getopt). |
os | OS routines for Mac, DOS, NT, or Posix depending on what system we're on. |
os2emxpath | os.path support for OS/2 EMX. |
|
|
pdb | A Python debugger. |
pickle | Pickling (save and restore) of Python objects (a faster C implementation exists
in built-in module: cPickle ). |
pickletools | Tools to analyze and disassemble pickles. |
pipes | Conversion pipeline templates. |
pkgutil | Tools to extend the module search path for a given package. |
platform | Get info about the underlying platform. |
|
|
popen2 | Spawn a command with pipes to its stdin, stdout, and optionally stderr. Superseded by module subprocess since 2.4 |
poplib | A POP3 client class. |
posixfile | Extended file operations available in POSIX. |
posixpath | Common operations on POSIX pathnames. |
pprint | Support to pretty-print lists, tuples, & dictionaries recursively. |
pre | Support for regular expressions (RE) - see re . |
profile | Class for profiling python code. |
pstats | Class for printing reports on profiled python code. |
pty | Pseudo terminal utilities. |
py_compile | Routine to "compile" a .py file to a .pyc file. |
pyclbr | Parse a Python file and retrieve classes and methods. |
pydoc | Generate Python documentation in HTML or text for interactive use. |
pyexpat | Interface to the Expat XML parser. |
|
unittest . |
Queue | A multi-producer, multi-consumer queue. |
quopri | Conversions to/from quoted-printable transport encoding as per RFC 1521. |
rand | Don't use unless you want compatibility with C's rand(). |
random | Random variable generators. |
re | Regular Expressions. |
readline | GNU readline interface [Unix]. |
reconvert | Convert old ("regex") regular expressions to new syntax ("re"). |
regex_syntax | Flags for regex.set_syntax(). |
regexp | Backward compatibility for module "regexp" using "regex". |
regsub | Regexp-based split and replace using the obsolete regex module. |
repr | Redo repr() but with limits on most sizes. |
|
|
rfc822 | Parse RFC-8222 mail headers. |
rlcompleter | Word completion for GNU readline 2.0. |
robotparser | Parse robot.txt files, useful for web spiders. |
sched | A generally useful event scheduler class. |
sets | A Set datatype implementation based on dictionaries (see Sets). |
sgmllib | A parser for SGML, using the derived class as a static DTD. |
shelve | Manage shelves of pickled objects. |
shlex | Lexical analyzer class for simple shell-like syntaxes. |
shutil | Utility functions for copying files and directory trees. |
SimpleHTTPServer | Simple HTTP Server. |
SimpleXMLRPCServer | Simple XML-RPC Server |
site | Append module search paths for third-party packages to sys.path . |
smtpd | An RFC 2821 smtp proxy. |
smtplib | SMTP/ESMTP client class. |
sndhdr | Several routines that help recognizing sound. |
socket | Socket operations and some related functions. Now supports timeouts
thru function settimeout(t) . Also supports SSL on Windows. |
SocketServer | Generic socket server classes. |
sre | Support for regular expressions (RE). See re. |
stat | Constants/functions for interpreting results of os. |
statcache | Maintain a cache of stat() information on files. |
statvfs | Constants for interpreting statvfs struct as returned by os.statvfs()
and os.fstatvfs() (if they exist). |
string | A collection of string operations (see Strings). |
stringprep | Normalization and manipulation of Unicode strings. |
StringIO | File-like objects that read/write a string buffer (a faster C implementation exists
in built-in module: cStringIO ). |
subprocess | Subprocess management. Replacement for os.system, os.spawn*, os.popen*, popen2.* [PEP324] |
sunau | Stuff to parse Sun and NeXT audio files. |
sunaudio | Interpret sun audio headers. |
symbol | Non-terminal symbols of Python grammar (from "graminit.h"). |
symtable | Interface to the compiler's internal symbol tables. |
tabnanny | Check Python source for ambiguous indentation. |
tarfile | Tools to read and create TAR archives. |
telnetlib | TELNET client class. Based on RFC 854. |
tempfile | Temporary files and filenames. |
textwrap | Tools to wrap paragraphs of text. |
threading | Proposed new threading module, emulating a subset of Java's threading model. |
threading_api | (doc of the threading module). |
timeit | Benchmark tool. |
toaiff | Convert "arbitrary" sound files to AIFF (Apple and SGI's audio format). |
token | Token constants (from "token.h"). |
tokenize | Tokenizer for Python source. |
traceback | Extract, format and print information about Python stack traces. |
trace | Tools to trace execution of a function or program. |
tty | Terminal utilities [Unix]. |
turtle | LogoMation-like turtle graphics. |
types | Define names for all type symbols in the std interpreter. |
tzparse | Parse a timezone specification. |
unicodedata | Interface to unicode properties. |
unittest | Python unit testing framework, based on Erich Gamma's and Kent Beck's JUnit. |
urllib | Open an arbitrary URL. |
urllib2 | An extensible library for opening URLs using a variety of protocols. |
urlparse | Parse (absolute and relative) URLs. |
user | Hook to allow user-specified customization code to run. |
|
A wrapper to allow subclassing of built-in dict class
(useless with new-style classes.
Since Python 2.2, dict is subclassable). |
|
A wrapper to allow subclassing of built-in list class
(useless with new-style classes.
Since Python 2.2, list is subclassable) |
|
A wrapper to allow subclassing of built-in string class
(useless with new-style classes.
Since Python 2.2, str is subclassable). |
|
|
uu | Implementation of the UUencode and UUdecode functions. |
warnings | Python part of the warnings subsystem. Issue warnings, and filter unwanted warnings. |
wave | Stuff to parse WAVE files. |
weakref | Weak reference support for Python. Also allows the creation of proxy objects. |
webbrowser | Platform independent URL launcher. |
|
|
whichdb | Guess which db package to use to open a db file. |
whrandom | Wichmann-Hill random number generator (obsolete, use random instead). |
xdrlib | Implements (a subset of) Sun XDR (eXternal Data Representation). |
xmllib | A parser for XML, using the derived class as static DTD. |
xml.dom | Classes for processing XML using the DOM (Document Object Model). 2.3: New modules expatbuilder, minicompat, NodeFilter, xmlbuilder. |
xml.sax | Classes for processing XML using the SAX API. |
xmlrpclib | An XML-RPC client interface for Python. |
xreadlines | Provides a sequence-like object for reading a file line-by-line without reading the entire file into memory.
Deprecated since release 2.3. Use for line in file instead.
Removed since 2.4 |
zipfile | Read & write PK zipped files. |
zipimport | ZIP archive importer. |
|
|
dir(object) | list valid attributes of object (which can be a module, type or class object) |
dir() | list names in current local symbol table. |
if __name__ == '__main__': | invoke main() if running as script |
map(None, lst1, lst2, ...) | merge lists; see also zip(lst1, lst2, ...) |
b = a[:] | create a copy b of sequence a |
b = list(a) | If a is a list, create a copy of it. |
a,b,c = 1,2,3 | Multiple assignment, same as a=1; b=2; c=3 |
for key, value in dic.items(): ... | Works also in this context |
if 1 < x <= 5: ... | Works as expected |
for line in fileinput.input(): ... | Process each file in command line args, one line at a time |
_ | (underscore) in interactive mode, refers to the last value printed. |
(The following has not been revised, probably not up to date - any contribution welcome -)
Type C-c ? when in python-mode for extensive help.
INDENTATION
Primarily for entering new code:
TAB indent line appropriately
LFD insert newline, then indent
DEL reduce indentation, or delete single character
Primarily for reindenting existing code:
C-c : guess py-indent-offset from file content; change locally
C-u C-c : ditto, but change globally
C-c TAB reindent region to match its context
C-c < shift region left by py-indent-offset
C-c > shift region right by py-indent-offset
MARKING & MANIPULATING REGIONS OF CODE
C-c C-b mark block of lines
M-C-h mark smallest enclosing def
C-u M-C-h mark smallest enclosing class
C-c # comment out region of code
C-u C-c # uncomment region of code
MOVING POINT
C-c C-p move to statement preceding point
C-c C-n move to statement following point
C-c C-u move up to start of current block
M-C-a move to start of def
C-u M-C-a move to start of class
M-C-e move to end of def
C-u M-C-e move to end of class
EXECUTING PYTHON CODE
C-c C-c sends the entire buffer to the Python interpreter
C-c | sends the current region
C-c ! starts a Python interpreter window; this will be used by
subsequent C-c C-c or C-c | commands
VARIABLES
py-indent-offset indentation increment
py-block-comment-prefix comment string used by py-comment-region
py-python-command shell command to invoke Python interpreter
py-scroll-process-buffer t means always scroll Python process buffer
py-temp-directory directory used for temp files (if needed)
py-beep-if-tab-change ring the bell if tab-width is changed