
PythonってAIで使う言語?

文系の私には無理だよね?
これから学習するプログラミング言語がPythonでいいのか、迷っている人もいるかもしれません。プログラミング言語ってどれも英語や記号がいっぱいだし、違いが良くわかりませんよね。
そこでこの記事では、これまで10以上のプログラミング言語をマスターした経験を踏まえ、Pythonの特徴や用途、学習難易度を紹介します。Pythonの将来性や最近の求人についてもまとめて解説します。
この記事を読めば、あなたにPythonがピッタリかどうかが分かりますよ。
Pythonとは?
Python(パイソン)は、1994年に開発された比較的新しいプログラミング言語です。
最新のバージョンは 3.10 です(2021年8月時点)。
「スクリプト言語」といって、「コンパイル」という事前処理をすることなく、プログラムを実行できる言語です。ソースコードの拡張子は.pyです。
また、PythonはWindows・Mac・Linuxなど、様々なOSで動作します。
Pythonの特徴
Pythonはインデント(スペース)が意味を持つ珍しいプログラミング言語です。ほとんどのプログラミング言語では、インデントは人間の読みやすさのために使いますが、Pythonでは構文規則としてインデントをいくつ書かないといけないかが決められています。
また、Pythonではプログラムの書き方にバリエーションがほとんどありません。結果的に誰が書いても同じような書き方になるので、他人が書いたプログラムが読みやすいというメリットがあります。
そのほか、Pythonにはネットワーク通信やデータベース接続など、高度な機能が標準で組み込まれています。なので、追加インストールなどを行うことなく、様々な機能をすぐに開発することができます。
完全なオブジェクト指向言語で、整数もオブジェクトとして扱います。
Pythonの利用用途
Pythonは、統計やAI関連のライブラリが充実しているので、データ解析処理や機械学習といった分野でよく使われています。
もちろん、ウェブサイト制作にも使われています。
また、書いてすぐ動かせる「スクリプト言語」としての長所を活かし、処理を自動化するときにも利用されています。
PythonのWebフレームワーク
PythonでWebアプリ(ログインやフォームがあるウェブサイト)を作るとき、1からすべてを作ることは少ないです。普通は、ウェブサイトでよく使う機能が組み込まれている「Webフレームワーク」を使うことが多いです。
フレームワークを使うと、データベース処理が短く書けたり、セキュリティが向上したり、便利な機能が使えたりするので、使わない手はありません。
Pythonの代表的なWebフレームワークは、Django(ジャンゴ)やFlaskがあります。
Django
Djangoは、モデル・ビュー・テンプレート・国際化・管理インタフェースなど、多数の機能がある全部入りフレームワークです。特に、データベースの管理インタフェース(管理画面)を自動生成できることが特長です。インスタグラムなどで利用されています。
Flask
Flaskは、Djangoとは逆にマイクロフレームワークと言って、必要最低限の機能しか含んでいない軽量なWebフレームワークです。
しかしながらシンプルであることが評価され、DjangoとFlaskは同じくらい人気があります。
Pythonの将来性
Pythonは数値計算が得意なので、機械学習分野で多く利用されています。AIは様々な分野で活用されてきていて、Pythonとは切っても切り離せない関係にあります。機械学習の需要があることから、基盤となるPythonもこれまで以上に使われるでしょう。
もちろん、Pythonを単に学習すれば機械学習プログラミングができるわけではありません。ディープラーニングや統計の知識が必要です。それでもPythonを勉強しておけば、機械学習へのステップアップもやりやすいはずです。
Pythonの求人
転職サイトを見ると、Pythonの求人数が2,900社以上ありました(2021年7月15日時点でのレバテックキャリアの求人数)。
JavaやPHPに比べると少ないですが、それでも3,000社近い需要があることが分かります。
また業種で見ると「IT・通信」「サービス」「メディア・エンターテイメント」業界での需要が多いです。

なお、未経験者の年収は300万~400万円くらいが多いです。
Pythonの学習難易度
Pythonは比較的短いコードで書ける言語なので、学習難易度としては低めです。完全なオブジェクト指向とはいえ、記号をあまり使わない言語なので読みやすい言語でもあります。最初に学習する言語としておすすめします。
例として、フレームワーク「Django」を使って作ったWebアプリを紹介します。以下のプログラムは、フォームに入力したテキストをTwitterに投稿します。
フロントエンド(.htmlファイル):ブラウザに入力フォームと送信完了メッセージを表示する
<div>{{ message }}</div>
<form action="/tweet" method="post">
{% csrf_token %}
<div>
<label for="content">名前</label>
<input type="text" id="content" name="content">
</div>
<input type="submit" value="送信する">
</form>
バックエンド(.pyファイル):フォームから入力した値を受け取り、ツイートする処理
import tweepy
class TweetView(View):
def get(self, request, *args, **kwargs):
context = {
}
return render(request, 'tweet.html', context)
def post(self, request, *args, **kwargs):
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
api.update_status(request.POST['content'])
context = {
'message': 'ツイートしました。'
}
return render(request, 'tweet.html', context)
tweet = TweetView.as_view()

う~ん、自分にもできるか不安になってきたよ。

じゃあ、初心者におススメの学習法をこれから紹介します!
Pythonの学習の進め方
Pythonの学習のポイントは、まず最初に基本構文をしっかり理解したうえで、簡単なプログラムを作って動かすことです。
いきなりDjangoやAIプログラミングから始めるのは、サーバーの設定などもあって理解が追いつかないのでオススメしません。あせらず、まずはPythonの基本を学びましょう。
おススメの勉強法は以下です。
- Pythonの本や学習教材に載っているプログラムをコピペせず、自分で入力して動かします。
- その後、そのプログラムを少しだけ変更してみて、どのように動きが変わったのかを確認します。
- 1と2を何度も何度も繰り返して応用していきます。
たとえば、「Twitterで”こんにちは”とツイートするプログラム」を例にします。まずはそのサンプルプログラムを動かしてみた後、応用例として、次のようなプログラムに変更してみます。
先ほどは「フォームで入力したテキストをTwitterに投稿する」というDjangoのプログラムを紹介しましたが、これも応用例の一つですね。
Pythonの本やWebサイトはたくさんあるので、学習題材に困ることはありません。ですが、最初に買うのはDjangoやFlaskの本ではなく、Pythonの基本を詳しく書いてあるものを選ぶようにしてください。
独学で進めると、プログラムがうまく動かなかったり、書き方が分からなかったりしたときに解決できなくなってしまいます。友だちや会社の先輩など、身近に質問できる人がいるといいですね。
Pythonが学べるプログラミングスクール
Pythonに詳しい人がいなかったり、自分一人でコツコツ進めるのが苦手なら、プログラミングスクールに通うという手もあります。
メンターと呼ばれる講師がPythonに関する質問に答えたくれたり、ビデオ会議で図を描いて説明してくれたりします。「Pythonを独学でマスターしたい!」と思っていた人でも、メンターがいれば安心ですよね。