初めまして。AI-Tech-Lab愛知支部の学生エンジニア佐々木です。
人工知能(AI)について学ぶ上で、耳にするPythonとはいったい何なのか。
今回はAIエンジニアに必須であり、高い需要と人気を持つプログラミング言語Pythonについて紹介していきます。
もくじ
Pythonとは
Pythonとは、主にアプリ開発や機械学習の分野で採用されているサーバーサイドのプログラム言語です。
プログラミングとは、「ある目的のためにプログラム(コンピュータに行わせる処理を記述したもの)を設計・構築する」プロセスのことを言います。プログラミングをするときには何らかのプログラミング言語を使用します。
Pythonの特徴
Pythonには以下の特徴があります。
①誰が書いてもコードが同じになる言語
②汎用プログラミング言語
③ライブラリが豊富
それぞれの特徴について詳しく説明していきます。
①誰が書いてもコードが同じになる言語
Pythonは読みやすさ・書きやすさを重視して開発されたプログラム言語であり、だれが書いても同じようなコードになります。
Pythonのコードを読みやすくしている要因としてインデントの導入があります。これにより、書き出しを行う位置を自由に調整しプログラムの構造をわかりやすくしており、読みやすいプログラムとなっています。
また、Pythonの学習例としてプログラミング初学者が上級者の記述したコードを読んで学ぶこともできます。
そのため、プログラミング初学者にとってわかりやすく、比較的低い学習コストで習得が可能です。
②汎用プログラミング言語
Pythonは汎用プログラミング言語です。
汎用プログラミング言語とは、特定の用途に特化しないコンピュータープログラム言語の総称であり、Pythonを用いることで実現できることは多方面にわたります。
そのため、PythonはAIの開発だけではなく、Webサービスの開発にも使われています。Webサービスのなかでも大規模なWebサービスに用いられることが多く、YouTube、Instagram、DropboxなどPythonで作られています。
③データ分析・機械学習のためのライブラリが豊富
ライブラリとは、ある特定の機能を持つプログラムを、ほかのプログラムから引用できるようにして、それらを複数集めて1つのファイルにしたものです。
「ライブラリ=プログラムの部品をたくさん集めたファイル」という認識で十分です。
Pythonにはデータ分析・機械学習のためのライブラリが豊富であり、これらのライブラリがAI開発を強力にサポートしてくれます。
例えば、数値計算ライブラリであるNumpyを活用すると、AI(特にディープラーニング)を作成する際に必須となる行列計算などが簡単に実装できます。
また、統計処理やデータ分析に役立つPandasというライブラリや機械学習の様々なモデルが利用可能となっているscikit-learnなどのライブラリも存在します。
これらのライブラリについても今後ブログでまとめていきます。
Pythonの文法
プログラミング言語にはAというプログラムを書くとBという処理が行われるという規則が定められており、これを文法と言います。
ここからはPythonの文法について代表的なものを4つ紹介します。
・文章の出力
・四則演算
・繰り返し処理
・条件分岐
今から紹介するPythonの文法はわかりやすくするために単純にしていますが、実際にはこれらを組み合わせて使うことにより、高度なAI開発などを行うことができます。
※紹介するコードについてはGoogleColabにて実行し、実行結果を画像として貼り付けています。
文章の出力
上記のプログラムはHello Worldを出力するプログラムです。
今回出力したHello Worldのような文字列の他に数値や真理値、変数の値などを出力することができます。
Pythonなどで複雑な計算やデータ分析を行う時に、現時点での変数の状況を確認するために使用することもあります。
print関数のフォーマットは以下のようになっています。
print('出力したい文字列')
四則演算
上記のプログラムは四則演算を行ったプログラムです。
加算は「+」、減算は「ー」、乗算は「*」、除算の商は「/」用いて記述できます。
他にも「%」を使うことで除算の余剰を、「**」を使うことで累乗を記述できます。
繰り返し処理
上記のプログラムは0から9までを記述するプログラムです。
for文を使うことで繰り返される処理を一度記述して、繰り返す回数を指示することで繰り返し処理を実行できます。
for文のフォーマットは、以下のようになっています。
for <変数> in <イテレータ>
<処理>
ここで、イテレータとは何らかのデータ系列を生成するものを示し、上記のプログラムの、range(10)は0,1,…,9を生成します。
つまり、for文のある行が表すのは、「nを0から9まで10回の処理を実行する」です。
ここでnは「1から10」ではなく「0から9」であることに注意します。
このように、プログラミングでは数字のスタートが0であることが多いです。
条件分岐
上記のプログラムは変数xの絶対値を計算し、その結果をyに格納するプログラムです。
if文を使うことで条件によって実行する処理を変えることが可能となります。
if文のフォーマットは、以下のようになっています。
if <条件式0>:
<(条件式0がTrueの時に実行する)処理>
else:
<(条件式0がFalseの時に実行する)処理>
上記のプログラムでは変数xが-1であり条件式( x < 0 )を満たすため、y = -xの処理が実行され出力結果が1となっています。
まとめ
今回はpythonの基礎知識について簡単にまとめてみました。pythonなどのプログラミング言語に対して難しいという意識を持っている人が多いと思いますが、この記事を読んでプログラミング言語に対するハードルが少しでも低くなれば嬉しく思います。
また、プログラミング言語を学ぶ上で、手を動かして実際にコードを書くことで学習スピードは飛躍的に上がるため、コードを見るだけでなく実際に書いてみましょう。
私たち学生エンジニア集団「AI-Tech-Lab」では、今回紹介したPythonを用いて以下のような自社開発も行っています。
▼AI-Tech-Labの自社開発についての詳細はこちら
AI-Tech-Labの2つの自社開発紹介【学生エンジニアによるAI開発】