Pythonにはインポートしなくても使える組み込み関数が多く用意されています。
それらの関数について、説明します。
組み込み関数
abs
数の絶対値を返します。引数は、整数、浮動小数点数です。
a = 2
b = -10
c = -4.5
print(abs(a)) # => 2
print(abs(b)) # => 10
print(abs(c)) # => 4.5
print(a + b) # => -8
print(abs(a + b)) # => 8
min, max
最小の要素または、最大の要素を返します。
2つ以上の要素や、iterableを引数で渡すことができます。
iterableは、要素を1つずつ返せるオブジェクトで、list や str、tuple、dictなどです。
a = 2
b = 5
print(max(a, b)) # => 5
c = 4
print(max(a, b, c)) # => 2
# リストでも使える
l = [2, 5, 1, 9, 4]
print(min(l)) # => 1
print(max(l)) # => 9
# 文字列でも使える
s = 'abcde'
print(min(s)) # => a
print(max(s)) # => e
sum
引数の iterable を合計した結果を返します。
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sum(l)) # => 55
divmod
割り算を行ったときの、商と余りを返します。引数には割り算をする2つの整数を渡します。
a = 5
b = 2
print(divmod(a, b)) # => (2, 1)
q, m = divmod(6, 3)
print(q, m) # => 2, 0
pow
累乗を計算します。
base = 2
exp = 4
# 2 の 4 乗の計算
print(pow(base, exp)) # => 16
累乗を計算して、その余りを返すこともできます。
base = 2
exp = 4
mod = 10
# 2 の 4 乗の計算して、その結果の 16 を 10 で割った余りを出力
print(pow(base, exp, mod)) # => 6
bin
整数を2進数に変換します。先頭に 0b が付きます。
a = 8
print(bin(a)) # => 0b1000
# formatを使うこともできる
print(f'{a:#b}') # => 0b1000
# 0bを省くとき
print(f'{a:b}') # => 1000
oct
整数を8進数に変換します。先頭に 0o が付きます。
a = 8
print(oct(a)) # => 0b10
# formatを使うこともできる
print(f'{a:#o}') # => 0b10
# 0oを省くとき
print(f'{a:o}') # => 10
hex
整数を16進数に変換します。先頭に 0x が付きます。
a = 16
print(hex(a)) # => 0b10
# formatを使うこともできる
print(f'{a:#x}') # => 0b10
# 0xを省くとき
print(f'{a:x}') # => 10
chr
文字コードを文字列に変換します。
print(chr(65)) # => A
print(chr(97)) # => a
ord
文字列を文字コードに変換します。
print(ord('A')) # => 65
print(ord('a')) # => 97
len
引数に渡された、文字列やリスト、タプル、dictなどの要素数を返します。
a = '12345'
print(len(a)) # => 5
l = ['apple', 'banana', 'cherry']
print(len(l)) # => 3
enumerate
引数に渡す iterable のインデックスと要素を取得できます。
l = ['apple', 'banana', 'cherry']
print(list(enumerate(l))) # => [(0, 'apple'), (1, 'banana'), (2, 'cherry')]
for ループで使うこともできます。
l = ['apple', 'banana', 'cherry']
for i, a in enumerate(l):
print(i, a)
"""
0 apple
1 banana
2 cherry
"""
map
map(function, iterable)
iterable のすべての要素に function を適用します。
l = [-5, 2, -10]
# すべての要素に abs を適用
print(list(map(abs, l))) # => [5, 2, 10]
sorted
要素を並び替えた新しいリストを返します。
l = [3, 2, 1, 4]
print(sorted(l)) # => [1, 2, 3, 4]
# 元のリストは変わらない
print(l) # => [3, 2, 1, 4]
# reverseを使えば反対に並び替えることができます
print(sorted(l, reverse=True)) # => [4, 3, 2, 1]
reversed
要素を逆に並び替えます。
l = [3, 2, 1, 4]
print(list(reversed(l))) # => [4, 1, 2, 3]
# 元のリストは変わらない
print(l) # => [3, 2, 1, 4]