皆さん、こんにちは!「Pythonで何ができるの?」そんな疑問を抱えていませんか?「プログラミングを始めたいけど、どの言語を選べばいいか分からない」「Pythonの勉強を始めたけど、次に何をすればいいか迷子になっている」そんなあなたに、朗報です!今日の記事は、まさにあなたのための「神回」となるでしょう。
Pythonは、今やIT業界で最も注目されているプログラミング言語の一つ。しかし、「話題だから」という理由だけでPythonを選んでいませんか?あるいは、Pythonの基礎はなんとなく分かったものの、その先に何があるのか見失っていませんか?大丈夫です!この記事を読み終える頃には、あなたの迷いは完全に吹き飛び、Pythonで実現できる具体的な未来がはっきりと見えてくるはずです。
見どころ
- Pythonの可能性を完全網羅:★★★★★
- 未経験でも安心の具体的な解説:★★★★★
- あなたの疑問を解消するロードマップ:★★★★★
Pythonでできること10選!具体例50個で徹底解説
それでは早速、Pythonで何ができるのか、具体的な事例を交えながら10個ご紹介していきましょう。きっと「え、これもPythonで!?」と驚くはずです。
AI・機械学習
Pythonといえば、やはりAI(人工知能)と機械学習は外せません。もうこの二つはPythonの代名詞と言っても過言ではないでしょう。
「機械学習ってよく聞くけど、いまいちピンとこないんだよな」と感じる方もいらっしゃるかもしれませんね。簡単に言うと、機械学習とは大量のデータを使ってコンピューターが何かを判別したり、将来の予測をしたりできるようにすることです。
判別の具体例
- 犬と猫の画像を分類する。
- X線画像から癌を検出する。
- 農作物がきちんと出荷できる形をしているか判定する。
- 製造ラインに不良品がないか検知する。
- メールのスパムを自動的に検出する。
これはほんの一部です。例えば、あなたが普段使っているGmailのスパムメールフィルターも、機械学習の技術が使われているんですよ。知らない間にPythonの恩恵を受けているんですね!
予測の具体例
- 売上データから来年の売上を予測する。
- 自分が保有している株の将来価格を予測する。
- 東京港区の住宅価格を予測する。
- 気象データから未来の気温を予測する。
- メンテナンス履歴から生産ラインの故障を予測する。
どうですか?想像以上にPythonでできることって多いですよね。未来を予測するなんて、まるで魔法のようですが、Pythonを使えばそれが現実になるんです。
Pythonで機械学習を使うための主要なツールとしては、scikit-learn(サイキットラーン)、TensorFlow(テンソルフロー)、PyTorch(パイとーチ)が挙げられます。データによって適切なツールは異なりますが、まずはこの3つを押さえておけば大丈夫です。
豆知識: これらのツールは「ライブラリ」と呼ばれ、Pythonの機能を拡張するためのプログラムの集合体です。まるで、色々な道具が詰まった工具箱のようなものですね。必要な道具を選んで使うことで、複雑なことも簡単に実現できます。
「でも、実際に動くものが見たいな」と思った方もいるでしょう。今回は、簡単な画像認識プログラムを動かしてみたいと思います。たった数行のコードで、人やバスを判別できてしまうんです。驚きですよね?
Pythonでは、このように簡単にAIを実装・利用するためのツールが非常に充実しています。これならあなたも「すぐできそう!」と感じたはずです。
データ分析
Pythonでできることの2つ目はデータ分析です。これもご存じの方が多いのではないでしょうか。NumPy(ナムパイ)、Pandas(パンダス)、Matplotlib(マットプロットリブ)、Seaborn(シーボーン)といったPythonツールを使うと、データの加工や可視化、平均や中央値などの基本統計量の計算、さらには分析レポートの作成まで可能です。
例えば、Appleの株価のグラフ。これもPythonを使って描画されたものです。かなり見やすいと思いませんか?しかもPythonなら、こういったグラフを驚くほど簡単に書くことができます。
「どれくらい簡単なの?」と気になりますよね。実は、このグラフを作成するコードは、株価データの取得や移動平均の描画部分を除けば、わずか10行程度で済んでしまうんです!さらに、たった1行変更するだけでAmazonの株価を表示したり、描画期間を変更したりすることも可能です。これぞ、プログラミングの醍醐味!同じコードを使い回して汎用的に活用できるのも、Pythonでデータ分析をする大きなメリットです。ぜひ、活用してみてください。
業務効率化・自動化
Pythonでできることの3つ目は、業務効率化・自動化です。Excel、Word、PowerPoint、PDF、ブラウザ操作、メール送信、SNS(Twitter、LINE)、デスクトップ操作など、Pythonを使えば、もうありとあらゆることを自動化できます。
自動化の具体例
- Excelで管理している売上データを顧客ごとに集計し、月次の請求書を自動で発行する。
- Excelに書かれている内容をWordに転記する。
- WordファイルをPDFに変換する。
- PowerPointのテキストを自動で翻訳する。
- ZIPファイルを添付してメールを自動送信する。
- Windowsのパソコンで定期的にPythonプログラムを実行する。
いかがでしょうか?「これ、うちの会社でも使えるかも!」と感じたものもあったのではないでしょうか。日々のルーティンワークで「この作業、もっと楽にならないかな…」と感じているなら、Pythonがその悩みを解決してくれるかもしれません。
豆知識: Pythonを使った自動化は、あなたの仕事時間を劇的に短縮し、より創造的な業務に時間を費やすことを可能にします。単純な繰り返し作業はコンピューターに任せて、人間はもっと人間らしい仕事に集中できる、まさに理想の働き方ですね。
Pythonを使った自動化の具体的な事例については、他の動画でも詳しく解説されていますので、興味のある方はぜひそちらも参考にしてみてください。Pythonを使えば、あなたのデスクワークは格段に効率的になりますよ。
Webスクレイピング
Pythonでできることの4つ目はWebスクレイピングです。Webスクレイピングとは、Web上のデータを自動で取得する技術のこと。業務効率化・自動化の一部ではありますが、今回はあえて分けてご紹介します。
Requests(リクエスツ)、BeautifulSoup(ビューティフルスープ)、Selenium(セレニウム)といったPythonツールを使うと、以下のようなことが可能になります。
- 競合他社の商品価格や商品レビューを定期的に収集し、競争戦略を立てる。
- 求人情報を収集して、同業他社の募集要項をExcelに一覧で取得する。
- 不動産情報を収集して、最適な物件を見つける。
- せどり物販で複数サイトの価格を自動取得する。
- テクニカル分析するために為替データを自動で収集する。
このような面倒なデータ収集作業を自動化できてしまうんです。もし、今の会社業務で特定のウェブページからデータをコピーしてExcelに貼り付けるといった作業を手動で行っている方がいたら、もうお分かりですよね?Pythonを使えば、面倒なコピペ作業から解放され、しかも人為的なミスも防ぐことができます。
そして、スクレイピングには皆さんにとって非常に大きなメリットがあります。それは、スクレイピングの案件を受けることで副業できてしまうということです。なぜなら、このスクレイピングは非常に便利だと感じる企業が多いからです。実際に、データ収集やスクレイピングのプログラム作成を依頼する企業は意外と多いんですよ。
私の受講生の中には、7〜8時間の稼働で5万円の案件を獲得した人もいます。たったそれだけの稼働で月の収入が5万円増えるって、めちゃくちゃいいと思いませんか?月5万円の収入が増えれば、毎月家族で美味しいものを食べに行ったり、子供を連れてディズニーランドに行ったりと、生活にゆとりが生まれますよね。
というわけで、Pythonでできることの4つ目がWebスクレイピングでした。ぜひ、参考にしてみてください。
Webアプリ開発
Pythonでできることの5つ目はWebアプリ開発です。そもそも「Webアプリって何だろう?」と感じる方もいますよね。例えば、今あなたが見ているYouTubeもWebアプリの一つです。スマホにアプリをインストールして使うこともできますが、パソコンでChromeやSafari、EdgeなどのWebブラウザを使って動画を見ることもできますよね。このブラウザを開いて使うアプリのことをWebアプリと言います。
Flask(フラスク)、Django(ジャンゴ)、FastAPI(ファストエーピーアイ)といったPythonツールを使うと、以下のようなものを開発することができます。
- X(旧Twitter)のようなSNSアプリ
- 楽天のようなネット通販サイト
- アメーバブログやライブドアブログのようなブログサイト
- Udemyのようなオンライン学習プラットフォーム
- 一休レストランのようなオンライン予約システム
実際に、初期のInstagramではPythonが使われていたことは、野球で言うと大谷選手ぐらい有名です。他にも、数年前に流行ったClubhouseでは、DjangoというWebアプリ開発用のPythonツールが使われていました。このように、Pythonを使えばWeb上で動くありとあらゆるアプリケーションを開発することができます。
「自分でサービスを運営したい」「Webアプリを開発するエンジニアになりたい」と考えている方は、このWebアプリ開発を学んでみてください。きっと、あなたのアイデアを形にできるはずです。
デスクトップアプリの開発
Pythonでできることの6つ目はデスクトップアプリの開発です。デスクトップアプリとは、簡単に言えばパソコンにインストールして使うアプリケーションのこと。Excel、Word、PowerPoint、Teams、Slack、Notionなど、皆さんが毎日仕事で使っているツールは、すべてデスクトップアプリです。
デスクトップアプリを作れるPythonツールはTkinter(ティーケーインター)、PySimpleGUI(パイシンプルジーユーアイ)、PyQt(パイキューティー)など複数ありますが、正直TkinterまたはPySimpleGUIの2つだけ押さえておけば大丈夫です。
これらのツールを使うと、以下のようなものを開発することができます。
- サクラエディタのようなテキストエディター
- ワンクリックで請求書を発行するツール
- ExcelからWordへの転記を自動化するツール
- 画像、音声、動画などの形式変換ツール
- ファイル検索システム
「でも、実際に動いているものが見たいな」と思いますよね。今回は、簡単なファイル検索システムツールを動かしてみたいと思います。たった40行程度のコードで、指定したフォルダの中から特定のファイルを検索できるアプリが作れてしまうんです。
「ワンクリックで請求書を発行するツール」なんかは、今の会社業務でもすぐに活用できる人も多いのではないでしょうか。Pythonを使えば、あなたの日常業務ももっと便利に、もっとスマートになりますよ。
ゲーム開発
Pythonでできることの7つ目はゲーム開発です。Pygame(パイゲーム)やKivy(キビー)といったツールを使うと、Pythonでゲームまで開発できてしまうんです!
「え、じゃあポケモンとかドラクエみたいに面白いゲームを作れるの?」と思われたかもしれません。残念ながら、そこまですごいことはできません。あくまでPythonを使って開発できるのは、以下のようなシンプルなゲームです。
- パズルゲーム
- シューティングゲーム
- 脱出ゲーム
- ボードゲーム
- 見た目を豪華にしなくても大丈夫なRPG
イメージとしては、初期のスーパーマリオブラザーズぐらいのゲームを開発することができます。でも、簡単なゲームでも自分で作れるというのは、プログラミング学習のモチベーション維持にも繋がりますし、非常に達成感がありますよね。
おそらく、この動画を見ている人の中には、「自分もスキルアップしたいけど、子供にもプログラミングを習わせたいな」と思っている保護者の方もいるのではないでしょうか。そんな方はぜひPythonを勉強して、お子さんが簡単なゲームを作れるようサポートしてあげてください。きっと、お子さんも大喜びするはずです!
スマホアプリの開発
Pythonでできることの8つ目はスマホアプリの開発です。「え、Pythonを使うとスマホアプリまで開発できるの!?」と驚きましたよね。そう、Kivy(キビー)というPythonツールを使うと、iPhoneやAndroidで使えるアプリまで開発できてしまうんです。どこまでPythonは万能なんだと、思わずツッコミたくなりますよね。
実際にPythonを使ってスマホアプリを開発するのであれば、以下のようなアプリが挙げられます。
- タスク管理アプリ
- メモアプリ
- ヘルスケアアプリ
- 天気予報アプリ
- 音楽ストリーミングアプリ
ただし、ゲーム開発と同じで、見た目を豪華にするのにはあまり向いていません。それはなぜだと思いますか?それはPython自体が、そもそも見た目を整えるためのプログラミング言語ではないからです。普通、スマホアプリと聞くと、YouTubeやInstagramのように見やすい画面をイメージしますよね。しかし、Pythonを使って開発できるのは、サクラエディタやWindows 7の電卓のような見た目のアプリだと思っておきましょう。なので、物理的に開発することはできますが、あまりいい見た目のものはできない、ということを抑えておいてください。
組み込みアプリの開発
Pythonでできることの9つ目は組み込みアプリの開発です。「え、またアプリの開発!?」と思いましたよね。ただ、この組み込みアプリはこれまでのアプリとは少し系統が違います。デジカメ、テレビ、洗濯機、冷蔵庫、その他にも自動車の制御など、家電や車に搭載されているアプリケーションのことを言います。
例えば冷蔵庫ですが、最近だとスマホと連携していたり、温度を2℃、湿度80%に自動で保ってくれたり、肉や魚を冷凍せずに3日から10日保存できる機能があったりしますよね。そのような一つ一つの機能を実現しているのが、この組み込みアプリです。
こう聞くと、「じゃあ個人で使うことはないからあんまり関係ないか」と思いますよね。実はそんなことありません。Raspberry Pi(ラズベリーパイ)という小型のコンピューターを使うと、個人でも組み込みアプリを開発することができます。
- 温度と湿度をモニタリングしてディスプレイに表示する。
- 簡単なロボットを作成する。
- カメラで動画を撮影する。
例えば、Raspberry Piで動画を撮影し続ければ、家に防犯カメラを設置することも可能です。どうですか?意外に面白そうだと思いませんでしたか?面白い例でいくと、くら寿司の座席案内システムでもRaspberry Piが使われていたりするんですよ。
もし組み込みアプリに興味があれば、ぜひPythonとRaspberry Piに触れてみてください。きっと、あなたの好奇心を刺激するはずです。
ブロックチェーンの開発
Pythonでできることの最後の10個目はブロックチェーンの操作です。そもそも「ブロックチェーンって何だろう?」「聞いたことはあるけど、いまいちよく分からないな」と感じている人も多いと思います。今はブロックチェーン=データベースのようにデータを保存できる技術だと思ってください。
ブロックチェーンのPython活用例としては、例えばweb3.pyというPythonツールを使うと、Ethereum(イーサリアム)というブロックチェーンから過去の取引履歴を取得することができます。他にも、仮想通貨を管理している自分のお財布があれば、Pythonを使ってコインAからコインBに交換できたりします。
このように、Pythonではブロックチェーン本体を開発するというより、取引履歴のデータを取ってきたり、通貨の交換のように取引の実行を命令したりすることが多いです。今回はPythonでできることの紹介なので、これぐらいに留めておきます。ブロックチェーンに興味がある人は、ぜひ別で調べてみてください。非常に奥深い世界が広がっていますよ。
Pythonが向いている分野と向いていない分野
ここまでPythonでできること10選と具体的な事例50個を紹介してきました。おそらく、「Pythonを使えば色々できるってことは分かってもらえたんじゃないかと思います。
しかし、実は今回紹介した中で、「確かにPythonでもできるんだけど、ぶっちゃけ他の言語を使った方がいいよな」というものが6つあります。「え、半分以上はPythonを使わない方がいいの!?」と正直驚きましたよね。ですが、少し考えてみてください。もしPythonだけで全て開発できてしまうなら、他のプログラミング言語はいらないという話になりませんか?そう、様々なプログラミング言語があるということは、適材適所、得意不得意があるんです。
Pythonが向いていない分野
結論から言うと、今日紹介した中で他の言語を選んだ方がいい分野は以下の6つになります。
- Webアプリケーション
- デスクトップアプリ
- ゲーム開発
- スマホアプリ
- 組み込みアプリ
- ブロックチェーン
Webアプリケーション開発
まず1つ目のWebアプリケーションですが、確かに最近Pythonを使う企業は増えています。私もフリーランスでやっているので、そのことは十分に分かっています。しかし、やはり案件数が多い、つまりWebアプリ開発でよく使われているのは、JavaScript(ジャバスクリプト)、TypeScript(タイプスクリプト)、あるいはPHP(ピーエイチピー)やRuby(ルビー)になります。一方で、WebアプリにAIの機能をつける場合は、その部分だけPythonを使うことも多いです。例えばYouTubeの関連動画やX(旧Twitter)のおすすめ機能など、AIを使った機能だけPythonで開発するケースは多々あります。なので、初めからWebアプリ開発を専門にしていきたいなら他の言語を、AIアプリケーションも興味があればPythonを選ぶといいでしょう。
デスクトップアプリ、ゲーム開発、組み込みアプリ
そしてデスクトップアプリ、ゲーム開発、組み込みアプリ。これらの分野はPythonでも開発できますが、Java(ジャバ)やC#(シーシャープ)といった言語を使うのが一般的になります。もちろん、「組み込みアプリに興味があるから、まずはRaspberry Piに触れてみようかな」という方はPythonを使えば大丈夫です。ただし、世の中の開発的には、デスクトップアプリならJavaやC#、ゲーム開発ならC++(シープラプラ)やC#、組み込みアプリならC言語(シーゲンゴ)やC++がよく使われるということは抑えておきましょう。
スマホアプリ、ブロックチェーン
最後にスマホアプリとブロックチェーンですが、この2つは少し特殊な言語やツールが入ってきます。スマホアプリ、特にiPhoneアプリを開発するならSwift(スウィフト)、Androidアプリを開発するならJavaやKotlin(コトリン)、そして最近だとiOSとAndroidの両方に対応できるReact Native(リアクトネイティブ)やFlutter(フラッター)などが使われます。また、ブロックチェーンの開発にはどのネットワークを使うかによって言語が変わってきたりします。この辺りはかなり複雑で、それだけでも一本の動画になってしまうので、今は「Pythonだと適してないんだ」ということだけ抑えておきましょう。
Pythonが向いている分野
そして、今挙げなかったAI・機械学習、データ分析、業務効率化・自動化、Webスクレイピングの4つに関しては、Pythonを使うのが最も向いている分野になります。こう聞くと、「おお、この4つがPythonにしかできないことなのか!」と思いますよね。しかし、Pythonが向いているだけで、他の言語を使って実装することもできます。
例えばAIや機械学習、データ分析はPython以外にもR言語(アールゲンゴ)が使われます。それでもPythonの方が向いていると言えるのは、以下の3つの理由があるからです。
- 情報量が多い
- 案件数・求人数が多い
- 他の言語と比較して難易度が低い
大手フリーランスエージェントのレバテックフリーランスが抱えている案件数を見ても、Rが63件なのに対してPythonは3,765件あります。Pythonがシステム開発やWeb開発で使われることを差し引いても、圧倒的にPythonの方が案件数が多いことが分かります。
業務効率化・自動化も同様で、PythonじゃなくてもGAS(Google Apps Script/ガス)という言語を使うこともできます。ただし、GASはGoogleドライブやスプレッドシートなど、Googleが提供するサービスの自動化にしか使えないんですね。もちろんGoogleが提供するサービスを使っていて、それしか自動化しないならGASでも問題ありません。むしろその方が楽に自動化できます。果物を切るなら包丁じゃなくて果物ナイフを使った方が便利なのと同じです。
でもほとんどの人は、「いや、Googleが提供するサービス以外も自動化したいな」と思いますよね。果物を切るだけじゃない、なんなら肉や魚、野菜も切る機会の方が多いですよね。それならPythonを選んでおけば大丈夫です。それに、GASを使った実装は、Pythonでプログラミングの基礎をしっかり理解すれば、あとはGoogleで検索しながら問題なく自動化を実現できるようになります。私もGASの本とかは買ったことないですが、検索しながら問題なく自動化を実現できています。
Webスクレイピングも、データを自動で取得した後そのままデータ分析で使えるので、やはりPythonが向いています。
というわけで、AI・機械学習、データ分析、業務効率化・自動化、Webスクレイピングの4つの分野であれば、Pythonを使うのがおすすめです。
おすすめのPythonジャンル2選
ここまで動画を見てくれたあなたは、Pythonでできることを知った上で、実際にPythonを始めてみるのが目的ですよね。あるいは、すでにPythonの勉強を始めていて、どの分野に取り組もうか悩んでいる人も多いと思います。そこで最後に、やりたいことが決まっていない人向けにおすすめのPythonジャンルを2つ紹介します。
結論から言うと、業務効率化・自動化、またはデータ分析・データサイエンスの2つがおすすめになります。
実は、Pythonに向いている分野で紹介したAI・機械学習、データ分析、業務効率化・自動化、Webスクレイピングの4つは、結局業務効率化・自動化、またはデータ分析・データサイエンスの2つに集約されます。
- AI・機械学習は、データを使って将来を予測するため、そもそも必然的にデータ分析をしますよね。
- Webスクレイピングは、Web上のデータを自動で収集する技術なので、自動化の一つでもありますし、データ分析するための準備にもなります。
だから、業務効率化・自動化、またはデータ分析・データサイエンスに興味があれば、Pythonを勉強していきましょう。
コメント