Pythonとは?出来ること、人気の理由など

更新日: by Heysho

Pythonに興味があるけど、勉強するかどうか迷っている方のために、初心者向けにPythonに関する情報をまとめました。

「PythonはWebマーケティングやSEO、オフィスワークに活用できるのか?」という疑問をお持ちの方も多いでしょう。

Pythonを学ぶにあたって必要な基礎知識を知りたい方へ向けて、以下の内容を詳しく解説します。

この記事で分かること

  • Pythonとは?
  • 人気の理由
  • 弱点
  • できること
  • 専門家による評価
  • 導入方法
  • 基本構文一覧
  • おすすめのテキストエディター
  • 勉強方法
  • 環境構築

この記事はプログラマーを目指している方ではなく、会社員やWebマーケターとしてPythonを学ぶべきか検討している方に向けて書いています。

初心者が抱きやすい疑問を網羅的にカバーしています。

Pythonとは?

Pythonはプログラミング言語の一つです。

TIOBEインデックス(プログラミング言語の人気を格付けするグループ)では、2022年以降1位をキープし続けている人気のあるプログラミング言語です。

Pythonが人気の理由

以下は私が考えるPythonが人気の理由です。

難易度が低く、初心者が習得しやすい

コードを書いてみて実感したのは、構文がシンプルで短い行数で実装できることです。

例えば、以下のPythonとC言語のコードを比較してみてください。

Pythonのコード

def factorial(x):
    if x == 0:
        return 1
    else:
        return x * factorial(x - 1)

C言語のコード

int factorial(int x) {
    if (x == 0) {
        return 1;
    } else {
        return x * factorial(x - 1);
    }
}

Pythonは{}が必要なく、インデント(左側にスペースを空けること)によって階層を作れます。

このようにコードがシンプルで読みやすく設計されているため、初心者でも理解しやすいのが特徴です。

ライブラリーが豊富

ライブラリーというのは誰か他の人が作ったコードを流用することです。

Pythonでは「pip install ◯◯◯」という一行を打つだけで機能が実装できます。

例えば、ChatGPTの機能を使いたければ「pip install openai」と打てば使えるようになる訳です。

一からコードを書くのが嫌いな人にとっては、ライブラリーが豊富なことはすごく助かります。

汎用性が高い

後述にもあるのですが、Pythonではアプリ開発、データ分析、スクレイピング、自動化など、出来ることがいろいろあります。

いろいろなプログラミング言語を習得する時間がない人(会社員など)にとっては重宝しますね。

将来性が高い

Pythonは機械学習やデータ分析に強いと言われており、この分野は需要が伸びることは堅いため将来性があると言われています。

流行り廃りの見分けが難しいプログラミング言語において、長期的な活躍が約束されているというのは重要な要素です。

ネット上の記事が豊富

Pythonは人気のプログラミング言語で日本でも学習者が多いため、実践的な用途に対して先人がWeb上でコードが公開しているケースが多いです。

例えば、Twitterのフォロワー数をトラッキングする方法、Webサイトのスクショを定期的に撮る方法など。

私が勉強していて検索した際に気づいたのですが、Python関連の記事は非常に充実しています。

Web上で公開されている記事をコピペして実行するだけでもアプリが作れたりするので、学習過程が楽しいと感じます。

SEO、Webマーケティング、データアナリストや、その他会社員にとって強力な武器になる

近年はWebマーケティング界隈でもPythonを活用したテクニックが登場してきており、これが習得できると他のマーケターと比較して大きなアドバンテージを得ることができます。

ノウハウが普及したことによりスキルに差がつけにくくなったWebマーケティング業界において、Pythonなどを利用して作業を自動化したりリサーチして一次情報を収集することは差別化につながるからです。

また最近は求人にPythonが要件に入ることが増えており、これも自動化やデータ分析、リサーチなどに対する需要が高まっている影響だと考えられます。

学びやすさ、ツール開発の手軽さ、多様な用途への適用性という点において、会社員にとって強力な武器になるプログラミング言語であると言えます。

Pythonの弱点

以下は自身の経験や、専門家からの意見を含めた内容です。

実行速度が遅い

Pythonベースで構築されたアプリを運用した経験から、動作速度が若干遅いと感じることがありました。

調査したところ、この実行速度の問題がPythonがプロダクト開発の主流になりきれない一因のようです。

最適化によって改善できる部分もありますが、基本的に他の言語と比較すると実行速度が遅い傾向にあります。

Pythonプログラマーとして活躍するには案件が少ない

プログラマーとして活躍している知人は多数いますが、Python一本で仕事をしている人は少ないのが現状です。

Pythonの求人は他の言語と比較するとまだ少ない傾向にあります。

Webサイトに埋め込む際に一手間かかる

これはJavascriptと比較しての話です。

Javascriptはフロントエンドにもバックエンドにも対応しているので簡単にHTMLファイルに実装できたりするのですが、Pythonだと一手間かけないとWeb上で公開できません。

慣れれば問題ないかもしれません。あと直接HTMLに埋め込める「PyScript」というものが出ていたり、その他気軽に実装できるフレームワークも登場しています。

Pythonで出来ることは既存のWebツールなどにお金を出せば出来ることが多い

Pythonでアプリを作るのはある程度の時間を要しますが、その用途をググれば既にプロダクトとして存在しているケースが多いです。

例えばWebスクレイピング(ネット上のテキストを抽出するテクニック)にしても、Screaming Frogというツールに課金すれば大抵のことは出来ます。

加えて言うと自作のツールよりもScreaming Frogの方が圧倒的に優秀だったりします。

ただ市場の汎用ツールを使用する場合、100%自分もしくはクライアントのニーズに応えられない場合もあります。そのような場合はPythonで自作ツールを作れると有用性がありますね。

Pythonで出来ること

Pythonで出来ることはいろいろあるのですが、他のプログラミング言語と比較して特に優れているのはデータ分析や機械学習の領域です。

ただそれ以外にも作業の自動化、スクレイピング、Webアプリ制作にも使用できます。

以下は一部の例を紹介します。

データ分析

PythonにはPandas、Matplot、Seaboarnといった表計算やグラフ化のライブラリーが豊富にあるため、エクセルなどでは出来ないような高度なデータ分析が可能になります。

データサイエンスの本などでは統計学を利用した本格的なデータ分析の方法をレクチャーしているので、学べることは多いです。

機械学習

データを解析し、予測を行うことができます。例えば株価の値動きの予想をしたりなど。

こちらの特徴はPythonの最大の魅力であり、この用途でプログラミが必要な場合はPythonがもっとも有効な手段となります。

WebマーケティングやEC運用においては、売上予測や在庫管理などで活用することが可能です。

アプリ開発

Webアプリ、スマホアプリ、デスクトップなどを作ることが出来ます。

例えば有名どころで言うと、InstagramはPythonで開発されているそうです。

私が以前勤務していたブランドのECサイトのアプリはPythonで開発されており、ECサイトと連携して購入金額に応じてポイントを加算する機能を実装していました。

ただし現在のトレンドではWebアプリやスマホアプリを開発する際のプログラミング言語は、PythonよりもJavascriptやRubyの方が主流です。

アプリ開発が主目的の場合はJavascriptを学ぶことをお勧めします。

Webスクレイピング

Web上の情報を自動で収集することが出来ます。

Beautifulsoupというライブラリを使用します。

作業の自動化

PythonではPCの画面のマウス操作を記録する「PyAutoGUI」というライブラリがあります。

Pythonにおすすめのテキストエディター

テキストエディターとは、コードを記述するためのアプリケーションです。

Pythonの学習リソースや開発者コミュニティでは、以下のテキストエディターが広く使用されています。

  • Visual Studio Code ... Pythonに限らず多くの開発者に支持されているマイクロソフト製の高機能テキストエディタ。拡張機能が豊富で柔軟なカスタマイズが可能です。
  • Googleコラボ(Colaboratory) ... Googleが提供するクラウドベースの開発環境。環境構築不要でブラウザ上からすぐにPythonコードを実行できる点が特徴です。
  • PyCharm ... Python専用の統合開発環境(IDE)。多くのPython専門家が推奨する高度な機能を備えたエディターです。

勉強方法

  • プログラミング言語 Python 総合情報サイト
  • Pythonの日本語公式ドキュメント
  • YouTubeチャンネル
    • Pythonプログラミング VTuber サプー
    • AI VTuber にゃんた【Python × 機械学習 × 株式投資】
    • いまにゅのプログラミング塾

英語が問題ない方であれば、Udemyの「100 Days of Code: The Complete Python Pro Bootcamp」というコースが一番おすすめです。

Pythonの環境構築方法

以下が全体の流れです。

  1. PythonをPCにインストール
  2. インストールされているか確認する
  3. Visual Studio CodeをPCにインストール
  4. Visual Studio CodeでPythonの拡張機能(Extensions)をインストール
  5. フォルダーを作成
  6. ファイルを作成
  7. Terminalを表示させる
  8. 適当なコードを書いてみる

10分くらいで出来る内容になります。

STEP 1. PythonをPCにインストール

こちらのサイトからインストール用ファイルをダウンロードして、後はファイルをクリックして「次へ」をクリックしていくとPythonをインストール出来ます。

STEP 2. PCにPythonがインストールされているか確認

Macの場合は「command + スペースキー」からターミナル(Terminal)というアプリを開きます。

そこで「Python --version」と打ったら「Python 3.11.3」のようなPythonのVersion名が返ってくることを確認ください。

正しく返ってきたら成功です。

ターミナルとは?

「Terminal(ターミナル)」とは、コンピューターでコマンドを入力することができる画面のことです。

通常、コンピューターを使うときには、マウスやキーボードを使って操作しますが、ターミナルでは、キーボードから文字を入力することで、コンピューターを操作することができます。

Pythonプログラムを実行する場合、ターミナルを開いて、Pythonインタープリタを起動する必要があります。

Pythonインタープリタは、Pythonコードを実行するためのツールで、ターミナルから起動することができます。

また、ターミナルを使って、Pythonプログラムを作成したり、ファイルを編集したり、プログラムのバージョン管理をしたりすることもできます。

STEP 3. Visual Studio CodeをPCにインストール

ここからファイルをダウンロードして、クリックしていくだけです。

STEP 4. Visual Studio CodeにPythonを連携させる

Visual Studio Codeを開いて、左のサイドバーの下から2番目をクリックすると拡張機能を探すページを移動します。

検索バーにPythonと入力するとPythonのインストールボタンが出現するのでクリックします。

これで連携完了です。

STEP 5 フォルダーを作成

左上のアイコン / Open Folder / New Folderから、新しいフォルダーを作成します。

ファイル名は適当に「test」としておいてください。

以下のように左のサイドバーにフォルダーが表示されればOKです。

STEP 6. ファイルを作成

次にファイルを作成します。

「UNTITLED(WORKSPCE)」の横にあるアイコンをクリックして、ファイル名を適当に「test.py」とします。

STEP 7. Terminalを表示させる

次にターミナル(Terminal)を表示させます。

メニューバーからView / TerminalをクリックすればOKです。

STEP 8. コードを打ってみる

これでPythonが使えるようになっているので、適当なコードを打ってみます。

コード

a = 1
b = 2
print(a + b)

右上の「▷」のアイコンをクリックするとPythonが実行されるので、3という回答が返ってきているか確認ください。

まとめ

今回は注目のプログラミング言語「Python」についてまとめました。

Pythonは初心者にとって学習しやすく、データ分析や機械学習の分野で特に強力なプログラミング言語です。

Webマーケティングや業務効率化にも活用できるため、会社員の方にとっても価値のあるスキルと言えるでしょう。

ご精読ありがとうございました。