📚

文章生成AIのPython関数説明が分かりやすい

2023/01/27に公開

はじめに

文章生成AIにPythonの組込み関数の一覧とその解説、具体例を書かせてみました。使用した文章生成AIは最近話題沸騰中のChatGPTです。

学生ですので自身の勉強のために作成していたのですが、「あー、この関数どうやって使うんだっけ??」となったときに使えるかもしれないと思い、記事にしました。(初めてのZenの投稿です。至らない点もあるかと思いますがご容赦ください。)

非常に優秀な説明を出力してくれたため、文章生成AIの出力をそのまま記載しています。しかし、バグかどうかは分かりませんが、たまに支離滅裂の文章を返すことがありました。一応、チェックしたつもりではあるのですが、間違い等あればご指摘ください。70ほどある組込み関数のうち個人的に分かりやすいと思ったものに絞って紹介します。

abs()の解説&具体例

abs()はPythonの標準ライブラリに含まれる関数で、与えられた数値の絶対値を返します。絶対値とは、数値の符号を無視した値を指し、正の数値の絶対値はそのまま、負の数値の絶対値は符号を反転した値になります。

>>> abs(-5)
5
>>> abs(3)
3

上の例では、abs(-5)は-5の絶対値である5を返し、abs(3)は3の絶対値である3を返します。

callable()の解説&具体例

callable()は、Pythonの関数で、引数で渡されたオブジェクトが、関数やメソッドとして呼び出し可能かどうかを判定します。

引数に渡されたオブジェクトが、関数やメソッドとして呼び出し可能ならば True を、そうでなければ False を返します。

def my_func():
    pass

class MyClass:
    def my_method(self):
        pass

print(callable(my_func))  # True
print(callable(MyClass.my_method))  # True
print(callable(MyClass))  # True
print(callable("Hello"))  # False

上記の例では、関数 my_func や、クラス MyClass のインスタンスメソッド my_method は、関数として呼び出し可能なので、True が返されます。
一方、文字列 "Hello" は関数やメソッドではないので、Falseが返されます。

compile()の解説&具体例

compile()は、Pythonの文字列をPythonプログラムに変換するための関数です。この関数は、文字列を引数として受け取り、それをPythonのプログラムに変換し、それを実行するためのコードオブジェクトを返します。このコードオブジェクトは、eval()やexec()関数などで実行することができます。

具体例を見ると、以下のようになります。

>>> code = "print('Hello, world!')"
>>> code_obj = compile(code, "<string>", "exec")
>>> exec(code_obj)
Hello, world!

上記の例では、文字列 "print('Hello, world!')" を、execモードでコンパイルして、それを実行します。

また、引数には、文字列、ファイル、またはAST(抽象構文木)のいずれかを指定することができ、第二引数には、そのソースのファイル名、または "<string>" のような特別な値を指定し、第三引数には、'exec' 、'eval'、'single'のどれかを指定することができます。

enumerate()の解説&具体例

enumerate()は、イテラブルなオブジェクト(リストやタプルなど)の要素を反復処理する際に使用する関数です。インデックス番号と要素の値を同時に取得することができます。

具体的には、次のように使用します。

# リストの要素を取得
fruits = ['apple', 'banana', 'orange']
for i, fruit in enumerate(fruits):
    print(i, fruit)

# 出力結果
# 0 apple
# 1 banana
# 2 orange

第二引数にはインデックス番号の開始値を指定することも可能です。

# インデックス番号を1から始める
fruits = ['apple', 'banana', 'orange']
for i, fruit in enumerate(fruits, 1):
    print(i, fruit)

# 出力結果
# 1 apple
# 2 banana
# 3 orange

enumerate()関数を使うと、要素のインデックス番号と要素の値を同時に取得することができるので、要素のインデックス番号を使った処理を行うことができます。

format()の解説&具体例

format()は文字列の書式設定を行うための関数です。文字列の中に、変数の値や式の結果を埋め込むことができます。

具体的には、文字列の中に{}を記述し、その中に変数や式を記述します。そして、format()関数にそれらの変数や式を渡します。

例:

>>> name = "Mike"
>>> age = 25
>>> print("My name is {} and my age is {}".format(name, age))
My name is Mike and my age is 25

上記の例では、文字列"My name is {} and my age is {}"の{}の部分に、変数name、ageの値が埋め込まれます。

また、整形指定子を使うことで、数値の出力形式を変更することもできます。

例:

>>> pi = 3.141592
>>> print("Pi is {:.2f}".format(pi))
Pi is 3.14

上記の例では、整形指定子 :.2f を使用し、小数点以下2桁で表示されるようになります。

さいごに

画像生成AIや文章生成AIなど、AIが目覚ましい進化をしていて楽しいです♪

Discussion