26.組み込み関数について

pythonでは標準の機能として
組み込み関数というのが備わっています。

この講座のはじめから使っている
print()関数なども組み込み関数です。

プログラムには欠かすことのできない機能であるため
組み込み関数の使い方を学んでいきましょう。

関数の使い方

関数名(引数,・・・)

関数名の後のカッコに指定するものを引数と言い
引数は関数によっては複数存在することもあります。

その場合は「カンマ」で区切ることで、
何番めの引数に該当するかを指定できます。

関数を実行した結果は、何かしらの値が返ってくることがあります。
この返却される値のことを「戻り値」と言っています。

様々な組み込み関数

abs関数

数の絶対値を返す。

In [1]:
print(abs(2.5))

print(abs(-12.2))
2.5
12.2

float関数

文字や整数値から浮動小数点の値に変える。
文字は数字でなくてはダメ。文字も小数点と数字だけ。

In [2]:
print(float(13))

print(float('15.5'))
13.0
15.5

hex関数

数値を16進法の文字列に直す

In [3]:
print(hex(255))
print(hex(16))
0xff
0x10

※0xが付くのは16進法の表記法
0から始まって16になると桁が繰り上がる。

16進数の先頭の0x付きや無しに変換したい場合は
format関数を用いて実現できます。

In [4]:
print(format(255 , 'x'))
print(format(255 , 'X'))
print(format(255 , '#x'))
ff
FF
0xff

input関数

入力欄が出てきて
プログラムに対して入力を行うことができる。

In [5]:
s = input('--> ') 
print(s)
--> 入力したよ
入力したよ

int関数

文字列や小数点を整数値に変える。
文字列の場合は数字のみで整数のみ、小数点はエラー

In [6]:
print(int(12.3))
print(int('13'))
print(int(0.9))
12
13
0

小数点以下は切り捨て

len関数

引数に指定したオブジェクトの長さを返す。

In [7]:
a = 'こんにちは、マット・デイモンです。'
# 文字数を返す
print(len(a))
17
In [8]:
b = [1,2,3,4,5]
# リストの要素数を返す
print(len(b))
5

list関数

引数に指定したオブジェクトをリスト型に変換

In [9]:
# 辞書型を定義
d1 = {1:2,3:4,5:6}
print(d1)

# キーをリストに変換
print(list(d1.keys()))

# 値をリストに変換
print(list(d1.values()))

# キーと値のタプル型の要素を持つリストに変換
print(list(d1.items()))
{1: 2, 3: 4, 5: 6}
[1, 3, 5]
[2, 4, 6]
[(1, 2), (3, 4), (5, 6)]

dict関数

キーと値の2つの組み合わせになっているものであれば 辞書型に変換

In [10]:
# タプル型の要素を持つリストを辞書に変換
d2 = dict([('k1', 1), ('k2', 2), ('k3', 4)])
print(d2)
{'k1': 1, 'k2': 2, 'k3': 4}

max,min関数

maxは複数指定したオブジェクトの中で、一番大きなものを返す。
min関数はその逆で、最小の値を返す。

In [11]:
sample_list = [1,2,3,4,5,6]
# 最大値を返す
print(max(sample_list))
# 最小値を返す
print(min(sample_list))
6
1
In [12]:
sample_st= 'apple'
# 最大値を返す
print(max(sample_st))
# 最小値を返す
print(min(sample_st))
p
a

oct関数

数値を8進法の値に変換

In [13]:
print(oct(8))
print(oct(2))
0o10
0o2

open関数

ファイルを開いてファイルオブジェクトを作る関数。
こちらは紹介だけで、後の講義で詳細解説。

range関数

引数に指定した回数分のオブジェクトを生成する。

range(回数)
range(開始 , 終了)
range(開始 , 終了 , 間隔)

In [14]:
# 4つの整数を生成
print(list(range(4)))
[0, 1, 2, 3]

round関数

小数点を丸めて、一番近い整数を返す。

In [15]:
print(round(3.499)) 
print(round(3.5))
3
4

第二引数に桁を追加すると、その小数点の桁数で丸めを行う。

In [16]:
print(round(3.5187,3))
print(round(3.5187,1))
3.519
3.5

sorted関数

引数に指定したオブジェクトの要素の並び替えを行う。
※sorted関数の詳しい使い方に関しては後のソートの講義で

str関数

引数に指定したものを文字列に変換

In [17]:
# 整数値を文字列に変換
print(str(12))
12

sum関数

リスト型の要素の合計値を返す。
※要素が数値で無いとダメ

In [18]:
li =[1,2,3,4]
print(sum(li))
10

zip関数
enumerate関数

詳細は後の講義で。

関数は複数を組み合わせて使うことも可能

In [19]:
# 文字を小数点にしてから整数値に変換して絶対値にする。
print(abs(int(float('-3.14'))))
3

カッコの最も内側に有るものの処理が先に行われる。

関数ではこのように複数を組み合わせて使って行くのが一般的になりますが
処理が複雑になり、追って行くのも大変になります。

まずは一番初めに処理が行われる部分を探して、その結果が正しいのか
ということを一つ一つ追って行くのが良いと思います。