組込みクラスと関数

このページで紹介するクラスや関数は、何もインポートせずとも使えます。

入出力

input() str
input(prompt) str

ターミナルウィンドウでユーザーからの入力を取得します。ユーザーが Enter キーを押すまで待ちます。

パラメータ:

prompt (str) -- 指定した場合、その内容が最初に端末ウィンドウに表示されます。これは、ユーザが何を入力すればよいかが分かるよう、質問を表示するのに使えます。

戻り値:

Enter を押す前にユーザが入力したもの全て。

abcprint
abcprint abc abc
print(*objects, sep=' ', end='\n', file=usys.stdin)

ターミナルウィンドウにテキストなどのオブジェクトを表示します。

パラメータ:

objects -- 表示するオブジェクトを0個以上指定します。

キーワード引数:
  • sep (str) -- 複数のオブジェクトを指定した場合、これがオブジェクトの間に表示されます。

  • end (str) -- 最後のオブジェクトの後に表示されます。

  • file (FileIO) -- デフォルトでは、結果はターミナルウィンドウに表示されます。この引数により、ファイルがサポートされている場合は、表示の代わりにファイルに出力できます。

基本型

false
true
class bool()
class bool(x)

True または False の真偽値を作成します。

入力値は、標準的な真偽判定手順で変換されます。入力がない場合は False と見なされます。

パラメータ:

x -- 変換される値。

戻り値:

真偽判定の結果。

class complex(string)
class complex(a=0, b=0)

文字列または数値の組から複素数を作成します。

文字列を指定する場合、それは '1+2j' の形式でなければなりません。数字の組を指定する場合、結果は a + b * j のように計算されます。

パラメータ:
  • string (str) -- '1+2j' 形式の文字列。

  • a (float or complex) -- 実数または複素数。

  • b (float or complex) -- 実数または複素数。

戻り値:

結果の複素数。

class dict(**kwargs)
class dict(mapping, **kwargs)
class dict(iterable, **kwargs)

辞書オブジェクトを作成します。

例題を含む包括的なリファレンスについては、標準の Python ドキュメント を参照してください。

class float(x=0.0)

指定したオブジェクトから浮動小数点数を作成します。

パラメータ:

x (int or float or str) -- 変換する数値または文字列。

class int(x=0)

整数を作成します。

パラメータ:

x (int or float or str) -- 変換対象のオブジェクト。

to_bytes(length, byteorder) bytes

整数の bytes 表現を取得します。

パラメータ:
  • length (int) -- 何バイトで表現するか。

  • byteorder (str) -- "big" "を指定すると、最上位バイトが最初に置かれます。"little" を指定すると、最下位バイトが最初に置かれます。

戻り値:

整数を表すバイト列。

classmethod from_bytes(bytes, byteorder) int

バイト列をそれが表す数値に変換します。

パラメータ:
  • bytes (bytes) -- 変換するバイト列。

  • byteorder (str) -- 最上位バイトが最初の要素であれば "big" を指定します。最下位バイトが最初の要素であれば、"little" を指定します。

戻り値:

バイト列で表されていた数値。

class object

新しい、機能のないオブジェクトを作成します。

class type(object)

オブジェクトのタイプを取得します。これは、オブジェクトが特定のクラスのインスタンスであるかどうかを確認するために使えます。

パラメータ:

object -- 型を確認するオブジェクト。

シーケンス

class bytearray()
class bytearray(integer)
class bytearray(iterable)
class bytearray(string)

\(0 \leq x \leq 255\) の範囲の整数のシーケンスである新しい bytearray オブジェクトを作成します。このオブジェクトは 不変 であり、作成後にその内容を変更 できません

引数を指定しない場合、これは空の bytearray オブジェクトを作成します。

パラメータ:
  • integer (int) -- 引数が1つの整数の場合、これはゼロが並んだ bytearray オブジェクトを作成します。引数は、その数を指定します。

  • iterable (iter) -- 引数が byteearraybytes オブジェクト、あるいはその他の整数のイテラブルである場合、これは引数と同じバイト列を持つ bytearray オブジェクトを作成します。

  • string (str) -- 引数が文字列の場合、エンコードされた文字列を含む bytearray オブジェクトを作成します。

class bytes()
class bytes(integer)
class bytes(iterable)
class bytes(string, encoding)

\(0 \leq x \leq 255\) の範囲の整数の列である新しい bytes オブジェクトを作成します。このオブジェクトは 不変 であり、作成後にその内容を変更 できません

引数を指定しない場合、これは空の bytes オブジェクトを作成します。

パラメータ:
  • integer (int) -- 引数が1つの整数の場合、これはゼロが並んだ bytes オブジェクトを作成します。引数は、その数を指定します。

  • iterable (iter) -- 引数が byteearraybytes オブジェクト、あるいはその他の整数のイテラブルである場合、これは引数と同じバイト列を持つ bytes オブジェクトを作成します。

  • string (str) -- 引数が文字列の場合、エンコードされた文字列を含む bytes オブジェクトを作成します。

  • encoding (str) -- 引数の string に使用するエンコーディングを指定します。 "utf-8" のみをサポートしています。

listlength of
len(s) int

オブジェクトの長さ(項目の数)を取得します。

パラメータ:

s (Sequence) -- 長さを取得するシーケンス。

戻り値:

長さ。

empty list
000list with
listdataunpackto
listlistgetfirst
0listlistget#
listlistgetlast
listlistgetrandom
123listlistprefix
0123listlistinsert at #as
123listlistappend
listlistremove first
0listlistremove #
listlistremove last
123listlistset firstto
0123listlistset #to
123listlistset lastto
class list()
class list(iterable)

新しいリストを作成します。引数が与えられていない場合は、空の list オブジェクトを作成します。

リストは 可変 です。つまり、作成後に内容を変更 できます

パラメータ:

iterable (iter) -- リストを作成するためのイテラブル。

class set
class set(iterable)

新しい集合を作成します。

引数がない場合は新しい空の集合を作成し、そうでない場合は イテラブル な一意の要素を含む集合を作成します

集合は集合リテラルを使っても作成できます:

my_set = {1, 2, 3}

集合の要素はハッシュ可能でなければなりません。ハッシュ可能でないものはごくわずかですが、たとえば list が該当します。

パラメータ:

iterable -- ハッシュ可能なオブジェクトのイテラブル。

copy() set

集合の浅いコピーを返します。

戻り値:

新しい集合。

difference(other1, other2, ...) set

他のどの集合にもない要素を持つ新しい集合を返します。

集合の差は - 演算子を使っても計算できます:

diff = s - other
パラメータ:

others -- 1つ以上の他の集合。

戻り値:

新しい集合。

intersection(other1, other2, ...) set

この集合と他のすべての集合に共通する要素を持つ新しい集合を返します。

集合の交差は & 演算子でも計算できます:

intersect = s & other
パラメータ:

others -- 1つ以上の他の集合。

戻り値:

新しい集合。

isdisjoint(other) bool

この集合と other 集合に共通の要素がないかどうかを判定します。

パラメータ:

other -- 別の集合。

戻り値:

この集合が other と共通の要素を持たない場合は True 、そうでない場合は False

issubset(other) bool

この集合が other 集合の部分集合であるかを判定します。

この判定は <= 演算子でも実行できます:

if s <= other:
    # s is subset of other
    ...
パラメータ:

other -- 別の集合。

戻り値:

この集合が other の部分集合であれば True 、そうでない場合は False

issuperset(other) bool

集合が other の上位集合であるかどうかを判定します。

この判定は >= 演算子でも実行できます:

if s >= other:
    # s is superset of other
    ...
パラメータ:

other -- 別の集合。

戻り値:

この集合が other の上位集合であれば True 、そうでない場合は False

symmetric_difference(other) bool

一方の集合または他方の集合に含まれ、両方に含まれない要素を持つ新しい集合を返します。

対称差は ^ 演算子を使っても計算できます:

diff = s ^ other
パラメータ:

other -- 別の集合。

戻り値:

新しい集合。

union(other1, other2, ...) set

この集合と他のすべての集合の要素を持つ新しい集合を返します。

和集合は | 演算子を使っても計算できます:

u = s | other
パラメータ:

others -- 1つ以上の他の集合。

戻り値:

新しい集合。

class slice()

このクラスのインスタンスを作成することはサポートされていません。

代わりにインデックス構文を使います。例: a[start:stop:step] または a[start:stop, i]

abc
class str()
class str(object)
class str(object, encoding)

オブジェクトの文字列表現を取得します。

引数を指定しない場合は、空の str オブジェクトを作成します。

パラメータ:
  • object -- この引数のみを指定した場合、オブジェクトの文字列表現を返します。

  • encoding (str) -- 第1引数が bytearray または bytes オブジェクトで、encoding 引数が "utf-8" の場合、バイトデータをデコードして文字列表現にします。

class tuple()
class tuple(iterable)

新しいタプルを作成します。引数を指定しない場合、これは空の tuple オブジェクトを作成します。

タプルは 不変 であり、作成後にその内容を変更 できません

パラメータ:

iterable (iter) -- タプルを構築するためのイテラブル。

イテレータ

all(x) bool

イテラブルのすべての要素が真であるかどうかをチェックします。

これは以下の処理と等価です:

def all(x):
    for element in x:
        if not element:
            return False
    return True
パラメータ:

x (Iterable) -- チェックするイテラブル。

戻り値:

イテラブルな x が空であるか,すべての要素が真であれば True 。それ以外は False

any(x) bool

イテラブルの少なくとも1つの要素が真であるかどうかをチェックします。

これは以下の処理と等価です:

def any(x):
    for element in x:
        if element:
            return True
    return False
パラメータ:

x (Iterable) -- チェックするイテラブル。

戻り値:

x の少なくとも1つの要素が真であれば True 。それ以外は False

class enumerate(iterable, start=0)

既存のイテレータに数値インデックスを追加して列挙します。

この関数は以下の処理と等価です:

def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1
iter(object) Iterator

可能であればオブジェクトのイテレータを取得します。

パラメータ:

object -- イテレータを取得するオブジェクト。

戻り値:

イテレータ。

map(function, iterable) Iterator
map(function, iterable1, iterable2...) Iterator

指定のイテラブルの各項目に指定の関数を適用し、その結果を返す新しいイテレータを作成します。

パラメータ:
  • function (callable) -- イテラブル(複数可)の各項目に対して結果を計算する関数です。この関数の引数の数は、指定のイテラブルの数と一致しなければなりません。

  • iterable (iter) -- データを取得するための1つまたは複数のソースイテラブル。複数のイテラブルを持つ場合、最短のイテラブルを使い切った時点でイテレータは停止します。

戻り値:

新しい、マップされたイテレータ。

next(iterator) Any

イテレータの __next__() メソッドを呼び出して、イテレータから次の項目を取得します。

パラメータ:

iterator (iter) -- 次の取得するための初期化済みジェネレータオブジェクト。

戻り値:

ジェネレータから次の値を取得します。

class range(stop)
class range(start, stop)
class range(start, stop, step)

start から stop までの値を step 単位で出力するジェネレータを作成します。

パラメータ:
  • start (int) -- 開始値。引数が1つだけの場合、デフォルトは 0 です。

  • stop (int) -- 終点。この値自体は 含みません

  • step (int) -- 値の増分値。引数が1つまたは2つしか与えられていない場合、デフォルトは 1 です。

reversed(seq) Iterator

サポートされていれば、シーケンスから値を逆引きするイテレータを取得します。

パラメータ:

seq -- 項目を取得するシーケンス。

戻り値:

最後の値から逆順に値を返すイテレータ。

sorted(iterable: Iterable, key=None, reverse=False) List

オブジェクトをソートします。

パラメータ:
  • iterable (iter) -- ソートされるオブジェクト。有限個のオブジェクトを生成するジェネレータでも指定できます。

  • key (callable) -- オブジェクトを数値にマップする def(item) -> int 関数です。これは、ソートされた項目の順番を知るために使われます。

  • reverse (bool) -- 逆順(高い値を最初に置くか)にソートするかどうか。

戻り値:

ソートされた項目を含む新しいリスト。

zip(iter_a, iter_b, ...) Iterable[Tuple]

タプルのイテレータを返します。i 番目のタプルは、引数のシーケンスまたはイテラブルのそれぞれの i 番目の要素を持ちます。イテレータは、最短の入力イテレータブルを使い果たした時点で停止します。

引数が1つの場合,1項目のタプルのイテレータを返します。引数がない場合は、空のイテレータを返します。

この関数は以下の処理と等価です:

def zip(*iterables):
    sentinel = object()
    iterators = [iter(it) for it in iterables]
    while iterators:
        result = []
        for it in iterators:
            elem = next(it, sentinel)
            if elem is sentinel:
                return
            result.append(elem)
        yield tuple(result)
パラメータ:
  • iter_a (iter) -- 最初のイテラブル。これは、生成されたタプルのそれぞれについて、最初の値を提供します。

  • iter_b (iter) -- 2番目のイテラブル。これは、得られたタプルのそれぞれにおける2番目の値を提供します。以降の引数も同様です。

戻り値:

個々のイテラブルの値を含むタプルを生成する新しいイテレータ。

変換関数

bin(x) str

整数を2進数表現に変換します。結果は接頭辞 0b のついた文字列になります。結果は有効な Python 式です。たとえば bin(5) は``"0b101"`` になります。

パラメータ:

x (int) -- 変換される値。

戻り値:

入力の2進数形式を表す文字列。

chr(x) str

Unicode (utf-8)のコードが整数 x である文字を表す文字列を返します。これは ord() の逆の変換になります。たとえば chr(97)"a" になります。

パラメータ:

x (int) -- 変換される値(0-255)。

戻り値:

指定した Unicode 値に対応する1文字の文字列。

hex(x) str

整数を16進数表現に変換します。結果は接頭辞 0x のついた文字列になります。結果は有効な Python 式です。たとえば hex(25) は``"0x19"`` になります。

パラメータ:

x (int) -- 変換される値。

戻り値:

入力の16進数形式を表す文字列。

oct(x) str

整数を8進数表現に変換します。結果は接頭辞 0o のついた文字列になります。結果は有効な Python 式です。たとえば hex(25) は``"0o31"`` になります。

パラメータ:

x (int) -- 変換される値。

戻り値:

入力の8進数形式を表す文字列。

ord(c) int

Unicode の1文字からなる文字列を、対応する数値に変換します。これは chr() の逆の変換になります。

パラメータ:

c (str) -- 変換される文字。

戻り値:

文字を表す数値(0--255)。

repr(object) str

オブジェクトを表す文字列を取得します。

パラメータ:

x (object) -- 変換対象のオブジェクト。

戻り値:

オブジェクトの __repr__ メソッドで実装された文字列表現。

数学関数

浮動小数点演算については umath も参照してください。

0abs
abs(x) Any

数値の絶対値を返します。

引数には、整数、浮動小数点数、または __abs__() を実装した任意のオブジェクトを指定できます。引数が複素数の場合、そのマグニチュード(大きさ)が返されます。

パラメータ:

x (Any) -- 値。

戻り値:

x の絶対値。

divmod(a, b) Tuple[int, int]

2つの整数を割ったときの商と余りを取得します。

ab が浮動小数点数である場合の動作については、 Python の divmod ドキュメント を参照してください。

パラメータ:
  • a (int) -- 分子。

  • b (int) -- 分母。

戻り値:

a // b と余り a % b を持つタプル。

00max
max(iterable) Any
max(arg1, arg2, ....) Any

最大値を持つオブジェクトを取得します。

引数は単一のイテラブル、または任意の数のオブジェクトです。

戻り値:

最大値を持つオブジェクト。

00min
min(iterable) Any
min(arg1, arg2, ....) Any

最小値を持つオブジェクトを取得します。

引数は単一のイテラブル、または任意の数のオブジェクトです。

戻り値:

最小値を持つオブジェクト。

pow(base, exp) Number

base の exp 乗を返します: \(\text{base}^{\mathrm{exp}}\)

これは base ** exp と同じです。

パラメータ:
戻り値:

結果。

0round
round(number) int
round(number, ndigits) float

数値を小数点以下の指定された桁数に丸めます。

ndigits が省略された場合,あるいは None の場合、最も近い整数を返します。

小数点以下1桁以上の丸めでは、末尾の0が切り捨てられるとは限りません。数字をきれいに表示するには、代わりにフォーマット文字列を使ってください:

# 小数点以下2桁を表示
print('my number: %.2f' % number)
print('my number: {:.2f}'.format(number))
print(f'my number: {number:.2f}')
パラメータ:
  • number (float) -- 丸める数値。

  • ndigits (int) -- 小数点以下の残り桁数。

sum(iterable) Number
sum(iterable, start) Number

イテラブルの各項目と開始値を合計します。

パラメータ:
  • iterable (iter) -- 合計するイテラブル。

  • start (Number) -- 合計に加える値。

戻り値:

合計値。

ランタイム関数

eval(expression) Any
eval(expression, globals) Any
eval(expression, globals, locals) Any

式の結果を評価します。

構文エラーは例外として報告されます。

パラメータ:
  • expression (str) -- 結果を評価する式。

  • globals (dict) -- 指定した場合、式で利用可能な関数を制御します。デフォルトでは、グローバルスコープにアクセス可能です。

  • locals (dict) -- 指定した場合、式で使用できる関数を制御します。デフォルトは globals と同じです。

戻り値:

式を実行して得られた値。

exec(expression)
exec(expression, globals) None
exec(expression, globals, locals) None

MicroPython コードを実行します。

構文エラーは例外として報告されます。

パラメータ:
  • expression (str) -- 実行するコード。

  • globals (dict) -- 指定した場合、式で利用可能な関数を制御します。デフォルトでは、グローバルスコープにアクセス可能です。

  • locals (dict) -- 指定した場合、式で使用できる関数を制御します。デフォルトは globals と同じです。

globals() dict

現在のグローバルシンボルテーブルを表す辞書を取得します。

戻り値:

グローバルの辞書を取得します。

hash(object) int

オブジェクトがサポートしている場合、オブジェクトのハッシュ値を取得します。

パラメータ:

object -- ハッシュ値を取得するオブジェクト。

戻り値:

ハッシュ値。

help()
help(object) None

オブジェクトに関する情報を取得します。

引数がない場合、REPL を操作するための指示を表示します。引数に "modules" を指定した場合、利用可能なモジュールを表示します。

パラメータ:

object -- ヘルプ情報を表示するオブジェクト。

id(object) int

オブジェクトの 識別子 を取得します。これは、このオブジェクトが生きている間、一意で一定であることが保証されている整数値です。

パラメータ:

object -- 識別子を取得するオブジェクト。

戻り値:

識別子。

locals() dict

現在のローカルシンボルテーブルを表す辞書を取得します。

戻り値:

ローカルの辞書。

クラス関数

callable(object) bool

オブジェクトが呼出し可能かどうかをチェックします。

パラメータ:

object -- チェックするオブジェクト。

戻り値:

オブジェクトの引数が呼出し可能であれば True 、そうでなければ False

dir() List[str]
dir(object) List[str]

オブジェクトの属性のリストを取得します。

オブジェクトの引数が与えられていない場合、この関数は現在のローカルスコープにある名前のリストを取得します。

パラメータ:

object -- 有効な属性をチェックするためのオブジェクト。

戻り値:

オブジェクトの属性のリスト、または現在のローカルスコープにある名前のリスト。

getattr(object, name) Any
getattr(object, name, default) Any

指定したオブジェクト(object)の name で指定した属性を調べます

パラメータ:
  • object -- 属性を探すオブジェクト。

  • name (str) -- 属性の名前。

  • default -- 属性が見つからなかった場合に返すオブジェクト。

戻り値:

指定した属性の値を返します。

hasattr(object, name) bool

オブジェクトに属性が存在するかをチェックします。

パラメータ:
  • object -- 属性を探すオブジェクト。

  • name (str) -- 属性の名前。

戻り値:

指定した名前の属性が存在すれば True 、存在しなければ False

isinstance(object, classinfo) bool

オブジェクトが特定のクラスのインスタンスであるかどうかをチェックします。

パラメータ:
  • object -- 型をチェックするオブジェクト。

  • classinfo (type or tuple) -- クラス情報。

戻り値:

object 引数が classinfo 引数のインスタンス、またはそのサブクラスであるとき、 True を返します。

issubclass(cls, classinfo) bool

あるクラスが他のクラスのサブクラスであるかどうかをチェックします。

パラメータ:
  • cls -- クラス型。

  • classinfo (type or tuple) -- クラス情報。

戻り値:

clsclassinfo のサブクラスであるとき True

setattr(object, name, value)

オブジェクトが許可している場合に限り、属性に値を割り当てます。

これは getattr() と対になるものです。

パラメータ:
  • object -- 属性を格納するオブジェクト。

  • name (str) -- 属性の名前。

  • value -- 格納する値。

super() type
super(type) type
super(type, object_or_type) type

親クラス、または指定された型の兄弟クラスにメソッド呼び出しを委譲するオブジェクトを取得します。

戻り値:

一致する super() オブジェクト。

メソッドデコレータ

@classmethod

メソッドをクラスメソッドに変換します。

@staticmethod

メソッドを静的メソッドに変換します。