今回は「組み込み関数」について紹介するよ!
組み込み関数?
組み込み関数は、Pythonに最初から用意されている関数のことだよ!
だけど、実はもう既にいくつかは紹介していて、例えば「print()」や「range()」とかも組み込み関数の一種なんだよね
えぇ!?ということは、一番最初に覚えたのが組み込み関数だったの!?
そういうことだね!
とはいえ、これまで組み込み関数をまとめて紹介する機会がなかったから、ここではよく使われるものだけでも紹介しようと思うよ!
お願いします...!!
まず最初は、データの長さを返してくれる「len()」
配列型の問題に出てきた関数だね!
要素の長さを返してくれるんだよね?
そうだね!
だけど、別に配列だけじゃなくて、文字列の長さや辞書の要素数も返してくれるよ!
そうだったんだ!
次に紹介するのは「最小値」と「最大値」を返す「min()」と「max()」
実はこれ、数値だけじゃなくて、文字列の最小値と最大値も返してくれるんだよね
なんと...!!
文字列の最小値と最大値ってどういうこと?
文字列の最小値と最大値は、アルファベット順で最も小さい文字と最も大きい文字のことだよ
あぁ、そういえば、配列型の「.sort()」の時もアルファベット順で並び替えられてたから、あれと同じなんだね!
そういうこと
だけど、数値と文字列が混ざってるときは、エラーになるから注意してね!
りょーかい!!
その2つとセットで覚えとくと良いのが、配列内の数値を合計してくれる「sum()」
もしかして、これも文字列を持った配列に対して使えるの?
これについては残念ながらエラーになるんだよね
もし文字列を持った配列を合成したい場合は「"".join(文字列を持った配列)」を使えば良いよ!
ほぅほぅ
次は配列の中身を逆順にする「reversed()」
トランプの山札をひっくり返すイメージだね
そういうこと!
ちなみに、文字列に対しても使えるから、文字列を逆順にしたいときにも便利だよ!
「いおあはのとこ」!!
条件式を考える時に便利なのが、全ての要素が条件を満たしているかを返す「all()」と、いずれかの要素が条件を満たしているかを返す「any()」
条件を満たしているかっていうのは、「True」か「False」ってこと?
そうだね!
配列で複数の真偽値を管理してる時に、その要素を活用したいときに便利かな
最後に紹介するのは、ちょっとマニアックだけど存在は知っておいてほしい「ord()」と「chr()」
「ord()」は、文字を対応する数値に変換する関数で、「chr()」は数値を対応する文字に変換する関数だよ
たしか、Webカメラを使った時に「キーボードで入力された文字が指定した文字か判定するため」に使ってたよね?
コンピュータは文字を数値で管理していて、例えば「A」は65、「B」は66、「a」は97、「b」は98みたいに対応しているんだよね
キーボードで入力された時の情報もコンピュータが理解できる数値で送られてるから、それに合わせるために使う必要があるって感じ
なかなか使う機会は少ないかもだけど、存在自体は知っておいた方が良さそうだね!
...ん?もしかして、文字の順番ってこの数値で決まってる??
お!よく気づいたね!!
「sorted()」とかで文字の順番が決まるのはこの数値の順番に従ってるからなんだ!
やっぱり!!
他にもまだまだ沢山の組み込み関数があるから、興味が出たらまた調べてみてね!
最後に、これまで登場した組み込み関数をまとめて表にしておくよ
| 関数 | 機能 | 例 | 出力 |
|---|---|---|---|
| print() | 画面に文字や結果を表示する | print("Hello") | Hello |
| type() | データの種類(型)を調べる | type(10) | <class 'int'> |
| str() | データを「文字列」に変換する | str(100) | "100" |
| int() | データを「整数」に変換する | int("5") | 5 |
| float() | データを「小数」に変換する | float("3.1") | 3.1 |
| input() | キーボードからの入力を受け取る(文字列として取得) | input() | (入力された文字) |
| abs() | 数値の「絶対値(マイナスをとった純粋な距離)」を出す | abs(-5) | 5 |
| enumerate() | forループでインデックス(番号)と要素を同時に取り出す | for i, v in enumerate(["a", "b"]): | (0 "a"、1 "b" の順に処理) |
| zip() | 複数の配列を同時にループで回してペアで取り出す | for x, y in zip([1, 2], [3, 4]): | (1 3、2 4 のペアで処理) |
| round() | 小数を指定した桁数で四捨五入(丸め)する | round(3.1415, 2) | 3.14 |
| sorted() | 元のデータを壊さずに、新しく綺麗に並び替えた配列を作る | sorted([3, 1, 2]) | [1, 2, 3] |
| len() | 文字列の長さや、配列の要素の数を数える | len("Python") | 6 |
| sum() | 配列(リスト)の中身をすべて合計する | sum([10, 20, 30]) | 60 |
| max() | 配列(リスト)の中から一番大きいデータをみつける | max([5, 9, 2]) | 9 |
| min() | 配列(リスト)の中から一番小さいデータをみつける | min([5, 9, 2]) | 2 |
| reversed() | 配列(リスト)などの順序を逆さまにしてループ処理する | for x in reversed([1, 2, 3]): | (3、2、1 の順に処理) |
| all() | 配列(リスト)の中身が「すべてTrue」ならTrueを返す | all([True, False, True]) | False |
| any() | 配列(リスト)の中に「1つでもTrue」があればTrueを返す | any([True, False, True]) | True |
| ord() | 指定した文字を「文字コード(コンピューターの裏側の数字)」に変換する | ord("A") | 65 |
| chr() | 「文字コード(数字)」を対応する文字に変換する | chr(65) | "A" |
