Last Update 2025/09/06
概要
各種型に関する判別テスト
sample.py
import types
def samp_f1():
pass
print("各種型に関する判別テスト")
print("型 None")
x01 = None # None
print(f"x01 : {isinstance(x01, types.NoneType)} {type(x01)} {bool(x01)} --- {x01}")
print(f"samp_f1() : {isinstance(samp_f1(), types.NoneType)} {type(samp_f1())} {bool(samp_f1())} --- {samp_f1()}")
x02 = ... # Ellipsis
print(f"x02 : {isinstance(x02, types.EllipsisType)} {type(x02)} {bool(x02)} --- {x02}")
x03 = True # bool
print(f"x03 : {isinstance(x03, bool)} {type(x03)} {bool(x03)} {int(x03)} {x03}")
x04 = 123 # int
print(f"x04 : {isinstance(x04, int)} {type(x04)} {bool(x04)} {int(x04)} {x04}")
x05 = 123.123 # float
print(f"x05 : {isinstance(x05, float)} {type(x05)} {bool(x05)} {int(x05)} {x05}")
x06 = 2 + 3j # complex
print(f"x06 : {isinstance(x06, complex)} {type(x06)} {bool(x06)} --- {x06}")
x07 = "abc" # str
print(f"x07 : {isinstance(x07, str)} {type(x07)} {bool(x07)} --- {x07}")
x08 = b"abc" # bytes
print(f"x08 : {isinstance(x08, bytes)} {type(x08)} {bool(x08)} --- {x08}")
# tuple
x09 = tuple("1232")
print(f"x09 : {isinstance(x09, tuple)} {type(x09)} {bool(x09)} --- {x09}")
# type
print(f"int : {isinstance(int, type)} {type(int)} {bool(int)} --- {int}")
# set
x10 = set(["ab", "cd", "ef"])
print(f"x10 : {isinstance(x10, set)} {type(x10)} {bool(x10)} --- {x10}")
# frozenset
x11 = frozenset(["ab", "cd", "ef"])
print(f"x11 : {isinstance(x11, frozenset)} {type(x11)} {bool(x11)} --- {x11}")
# range
x12 = range(5)
print(f"x12 : {isinstance(x12, range)} {type(x12)} {bool(x12)} --- {x12}")
# slice
x13 = slice(0, 5, 1)
print(f"x13 : {isinstance(x13, slice)} {type(x13)} {bool(x13)} --- {x13}")
# list
x14 = list(["ab", "cd", "ef"])
print(f"x14 : {isinstance(x14, list)} {type(x14)} {bool(x14)} --- {x14}")
# bytearray
x15 = bytearray(5)
print(f"x15 : {isinstance(x15, bytearray)} {type(x15)} {bool(x15)} --- {x15}")
# dict
x16 = {'key1': 1, 'key2': 2}
print(f"x16 : {isinstance(x16, dict)} {type(x16)} {bool(x16)} --- {x16}")
# memoryview
x17 = memoryview(b"123")
print(f"x17 : {isinstance(x17, memoryview)} {type(x17)} {bool(x17)} --- {x17}")
# Function
print(f"samp_f1 : {isinstance(samp_f1, types.FunctionType)} {type(samp_f1)} {bool(samp_f1)} --- {samp_f1}")
# BuiltinFunction
print(f"print : {isinstance(print, types.BuiltinFunctionType)} {type(print)} {bool(print)} --- {print}")
# Code
s = "print('test')"
x18 = compile(s, "", "exec")
print(f"x18 : {isinstance(x18, types.CodeType)} {type(x18)} {bool(x18)} --- {x18}")
実行結果
$ python3 sample.py
各種型に関する判別テスト
型 None
x01 : True <class 'NoneType'> False --- None
samp_f1() : True <class 'NoneType'> False --- None
x02 : True <class 'ellipsis'> True --- Ellipsis
x03 : True <class 'bool'> True 1 True
x04 : True <class 'int'> True 123 123
x05 : True <class 'float'> True 123 123.123
x06 : True <class 'complex'> True --- (2+3j)
x07 : True <class 'str'> True --- abc
x08 : True <class 'bytes'> True --- b'abc'
x09 : True <class 'tuple'> True --- ('1', '2', '3', '2')
int : True <class 'type'> True --- <class 'int'>
x10 : True <class 'set'> True --- {'ef', 'cd', 'ab'}
x11 : True <class 'frozenset'> True --- frozenset({'ef', 'cd', 'ab'})
x12 : True <class 'range'> True --- range(0, 5)
x13 : True <class 'slice'> True --- slice(0, 5, 1)
x14 : True <class 'list'> True --- ['ab', 'cd', 'ef']
x15 : True <class 'bytearray'> True --- bytearray(b'\x00\x00\x00\x00\x00')
x16 : True <class 'dict'> True --- {'key1': 1, 'key2': 2}
x17 : True <class 'memoryview'> True --- <memory at 0x7fb678c48a00>
samp_f1 : True <class 'function'> True --- <function samp_f1 at 0x7fb678cd6480>
print : True <class 'builtin_function_or_method'> True --- <built-in function print>
x18 : True <class 'code'> True --- <code object <module> at 0x7fb678aa2330, file "", line 1>
実行環境
Python 3.12.11
コード例・出力内容中の表記
・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。