プログラミング学習を効率的に行うためには目標を立てることが重要です!
しかしプログラミング初心者にとっては、プログラミングでできることが分からず、目標を決めることも難しいのではないでしょうか。
今回はPythonでできることを5つ紹介するので、自分のやりたいことを見つけてみてください!
- Pythonでできること
- Pythonが苦手な分野
Pythonでできること
モノのインターネット(IoT)の開発
IoTを簡単に説明すると、家電をインターネットにつないで遠隔操作できるようにすることです。
家に帰ってくる時間に合わせてお風呂を沸かしたり、予約し忘れてしまった番組を外出先から予約したりと、日常生活を便利にしてくれます。
Pythonではこのような仕組みを開発することができます!
PythonでIoTを開発することを学べる本もあるので興味がある人は参考にしてみてください!「Pythonで動かして学ぶ! あたらしいIoTの教科書」
スクレイピング
スクレイピングとは、大量のデータを収集して利用しやすいように加工する作業のことを言います!
この作業を手動で行うにはとても時間がかかりますが、プログラミングで自動化することで大幅に時間を短縮することができます。
例えば、Googleでの検索結果を自動でまとめて書き出しをしたり、YahooのトップニュースからタイトルとURLの一覧を取得するなど、手作業でやると数時間かかってしまうような作業を、数秒から数分で行うことができます!
人工知能(AI)の開発
Pythonでは、近年注目を集めているAIの開発も行うことができます!
AIは、画像認識や音声認識、推測・予測、創造などを得意としていて、動物のオス・メスを仕分けたり、将棋の最善の手を導き出したり、新たな音楽やアート作品を作り出すなど、さまざまな分野に活用されます!
ただし、AIの開発を行うにはPythonの知識だけではなく、深層学習や機械学習の知識、数学の素養など、様々な分野の知識が必要になり、ハードルが高い部分もあるので注意が必要です。
また、AIの機械学習には大量のデータが必要になるため、先ほど述べたスクレイピングができるという点でもPythonはAIの開発に適していると言えます!
業務効率化
Pythonで自動化できる業務には以下のようなものがあります!
- メールの整理・作成・送信
- ファイルの整理
- 画像編集
- ExcelやWordの操作
このような業務を自動化することで業務を効率化することができます!
業務効率化の1つの手法として、RPAというものがあります。
「ロボティックプロセスオートメーション(Robotic Process Automation)」
人がパソコン上で行っている反復的な(同じ操作を何度も繰り返すような)作業を自動で行ってくれるもの。人が行う処理手順を登録することで、その作業を自動化できる。
RPAはプログラミング不要でできるため、プログラミングの知識がなくても取り入れることができるというメリットがあります!
webアプリの開発
後ほどデスクトップアプリについても触れるので、
まずは「webアプリ」と「デスクトップアプリ」の違いを説明します。
ChromeやFireFoxなどのwebブラウザ上で使うアプリ
webアプリとは異なり、自分のPCにインストールして使うアプリ。
スマホアプリのPC版のようなもの。
両者のうち、Pythonはwebアプリの開発を得意としており、Pythonで開発されたwebアプリには以下のようなものがあります!
- YouTube
- Spotify
他にもさまざまなアプリがありますが、有名なwebアプリの開発にもPythonが用いられていることがわかります!
Pythonが苦手な分野
ここまではPythonでできることを紹介しましたが、当然ながらPythonには苦手な分野も存在します。
ここからはPythonが苦手とする分野を3つ紹介します!
苦手とは言っても、できないわけではありません!
モバイルアプリの開発
スマホで使うことができるモバイルアプリの開発には、Pythonはあまり使われません!
ただしこれはPythonがモバイルアプリの開発に向いていないのではなく、
AndroidアプリにはKotlin、iOSアプリにはSwiftなど、より適した言語が存在するためです。
デスクトップアプリの開発
デスクトップアプリの開発もモバイルアプリと同様、JavaやC#などのより開発に適した言語が存在するため、Pythonはあまり用いられません。
ゲーム開発
Pythonは処理が遅いという特徴があるため、高速な処理が求められるゲームの開発、特に3Dゲームの開発には適していません。
ゲームの開発を行うには、C++などの言語が適しています!
まとめ
今回は、Pythonでできることと苦手なことについて紹介しました!
紹介した内容を軽くおさらいしましょう!
- IoTの開発
- スクレイピング
- AIの開発
- 業務効率化
- webアプリの開発
- モバイルアプリの開発
- デスクトップアプリの開発
- ゲーム開発
興味のあることは見つかりましたか?
最初にも言いましたが、プログラミング学習で重要なことは、明確な目標を立てることです!
自分のやりたいことを見つけ、それをモチベーションにして学習に励みましょう!
この記事が、プログラミング学習の手助けになれば幸いです。
また、現在CodeCoachingでは、「無料」でプログラミングの学習相談やキャリア相談も行っているので、プログラミング学習で悩んでいる方は、一度ご相談ください!
株式会社CodeCoaching 取締役CTO。
富士通において文教、医療・ヘルスケア、自動車、警察・消防などの分野において、自らがプロマネをしながら、PythonでAIのプログラミングも行ってきた現役の技術者(エンジニア歴:20年)。
過去に、マーケット調査、ビジネス企画立案、顧客提案、AIプロトタイプ開発(ハイブリッドアジャイル方式)、ビジネス性検証、事業化までの一連プロセスを経験。
テクノロジーとビジネス両方の知見を活かしAI人材不足解消のため、CodeCoachingのサービスに情熱を注ぐ。
東京工業大学大学院理工学研究科博士前期課程修了。北京大学経済学院EMBA修了。
自分のやりたいことを見つけ、プログラミング学習のモチベーションにしましょう!