Python/組込み型
組込み型
編集Pythonインタープリターには、常に利用可能な関数や型がいくつか組込まれています。
Pythonは動的型付けな言語です。変数には型がなく変数の示すオブジェクトが型を持ちます。 これはPythonの興味深い特徴であり、PythonはLispやSchemeなどのような特殊な言語群の一部となっています。
一方、静的型付けな、C言語やJavaなどのコンパイル言語の場合には、最初に変数の名前と型を宣言してから、内容を割当てる必要があります。 これはコンパイル作業を最適化することができるので、これらの言語にとっては好ましいことです。
他方、動的型付けは、特にメタプログラミングや再帰性(Reflexivity)のような高レベルの論理構成を簡単に書くことができます。 またポリモーフィズムを実践するためには、リストや辞書などの充実したデータ構造の使用が役に立ちます。
組込み型の概観
編集- 数値
-
- int
- 整数
- bool
- 論理型
- float
- 浮動小数点数
- complex
- 複素数
- シーケンス型
-
- str
- 文字列
- list
- リスト
- tuple
- タプル
- range
- 範囲
- dict
- 辞書
- 文字シーケンス型
-
- str
- 文字列
- バイトシーケンス型
-
- bytes
- イミュータブルなバイト列
- bytearray
- ミュータブルバイト列
- memoryview
- メモリービュー
- 集合
-
- set
- ミュータブルな集合
- frozenset
- イミュータブルな集合
- マッピング
-
- dict
- 辞書
- Dictionary view objects
- 辞書の項目の動的なビュー
- 定数の型
-
- NoneType
- 定数Noneの型
- NotImplementedType
- 定数NotImplementedの型
- 呼出し可能
- その他の組込み型
-
- module
- モジュール
- class
- クラスとクラスのインスタンス
- function
- 関数
リテラル
編集# 数値型 (Numeric types) # int: 整数 decimal_integer = 42 # 10進数 binary_integer = 0b101010 # 2進数 (42) octal_integer = 0o52 # 8進数 (42) hexadecimal_integer = 0x2A # 16進数 (42) # bool: 論理型 boolean_true = True boolean_false = False # float: 浮動小数点数 decimal_float = 3.14 scientific_notation_float = 6.022e23 # 6.022 × 10^23 # complex: 複素数 complex_number = 2 + 3j complex_with_float = 1.5 - 0.5j # シーケンス型 (Sequence types) # str: 文字列 string_value = "Hello, World!" # list: リスト list_value = [1, 2, 3, "apple", True] # tuple: タプル tuple_value = (1, 2, 3, "banana", False) # range: 範囲 range_value = range(1, 10, 2) # 1, 3, 5, 7, 9 # マッピング型 (Mapping types) # dict: 辞書 dict_value = {"key1": "value1", "key2": 42, "key3": True} # 辞書の項目の動的ビュー dict_keys = dict_value.keys() dict_values = dict_value.values() dict_items = dict_value.items() # バイトシーケンス型 (Binary sequence types) # bytes: イミュータブルなバイト列 bytes_value = b"immutable bytes" # bytearray: ミュータブルバイト列 bytearray_value = bytearray(b"mutable bytes") # memoryview: メモリービュー memoryview_value = memoryview(bytearray_value) # 集合型 (Set types) # set: ミュータブルな集合 set_value = {1, 2, 3, "orange"} # frozenset: イミュータブルな集合 frozenset_value = frozenset({1, 2, 3, "apple"}) # 定数の型 (Constants types) # NoneType: Noneの型 none_value = None # NotImplementedType: NotImplementedの型 not_implemented_value = NotImplemented
数値
編集数値には、int(整数)、float(浮動小数点数)、complex(複素数)の3種類があります[1]。 標準ライブラリには、有理数を表すfractions.Fractionと、ユーザーが精度を定義できる十進数浮動小数点数を表すdecimal.Decimalという追加の数値型があります。
int
編集整数型 int はPythonの組込み型です。 整数の精度は無限です[2]。
bool
編集論理型 bool はPythonの組込み型です。 論理型は整数のサブタイプでもあります。
float
編集浮動小数点型 float はPythonの組込み型です。 浮動小数点数は、通常Cではdoubleを使って実装されています。 プログラムを実行しているマシンの浮動小数点数の精度や内部表現についての情報は、sys.float_infoにあります。
complex
編集複素数型 complex はPythonの組込み型です。 複素数には実数部と虚数部があり、それぞれが浮動小数点数になっています。 複素数zからこれらの部分を抽出するには、z.realとz.imagを使用します。
脚註
編集- ^ “Numeric Type” (2021年11月15日). 2021年11月17日閲覧。
- ^ 多倍長整数という意味です。
参考文献
編集- “Built-in Types” (2021年11月15日). 2021年11月17日閲覧。