という方向けの記事になります。
記事執筆者:オザック
年収1000万超、Web開発を生業にしていて9年以上のオザックです!
某有名R社で働き、副業も含めて個人事業主で関わってきたプロジェクトは20以上。
PythonでWebサービス開発を複数案件こなしたり、機械学習を実装した経験あり。
これを読むと「初心者からPythonを学ぶとどういう事、どういうものが作れるようになるのかがわかり、自分でPytnonを学ぶことが出来る」ようになります!
2~3分ほどで読み終わるので、Pythonを勉強すると作れるものを知りたい、またその勉強方法を知りたい方は最後まで読んでみてください!
目次
Pythonで作れるものとは?
まずそもそもPythonで作れるものとは何か?という点について解説していきます。
- AI(人工知能)
- デスクトップアプリ
- Webサービス
- データサイエンス(データ処理)
- スクレイピング
- ブロックチェーン
- DX(業務効率化)
- スマホアプリのAPI
など様々なものをPythonでは開発出来ます!
一つ一つ見ていきます!
AI(人工知能)を機械学習で作れる
AI(人工知能)とは「機械が人間のように学習して特定の分野において人間と同じまたはそれ以上の精度でアウトプットを出すロボットの頭脳」のことです。
実はこれはPythonで作られています!
というよりは正確にはPythonが一番開発しやすいプログラミング言語ということで、他のプログラミング言語でも原理的には開発可能です。
詳しくは後ほど勉強方法の部分で解説しますが、Pythonには機械学習(AIを作るためのやり方)ライブラリが多く揃っているため、
AI(人工知能)が開発しやすいです。
デスクトップアプリが作れる
デスクトップアプリとは
- mac
- linux
- windows
など様々なOSのPCがありますが、そのPC上で動かせるアプリのことを指します。
そのデスクトップアプリもPythonで開発することが出来ます!
もちろん他のプログラミング言語でも開発することは可能です。
Webサービスを作れる
Webサービスとは例えば
- このブログのようなWebメディア
- AmazonのようなECサイト
- freeeのような確定申告ツール
- TwitterなどのSNS
などがあります。
これもPythonで開発することが出来て詳しくは後ほど説明しますが、Webフレームワークというものを使って開発されます。
(もちろん他のプログラミング言語でも作れます)
ただPythonは他のプログラミング言語と比べると比較的Web開発には不向きなプログラミング言語です。
データサイエンス(データ処理)が出来る
データサイエンスとは例えば
- Webサービスのユーザ行動データから、データの特徴的な動きを抽出する
- ECサイトの購買ログからユーザに次買うおすすめの商品を紹介する
などの仕事です。
これらもPythonがよく使われています。
また他にはR言語やSQL言語なども使われたりします。
スクレイピングが出来る
スクレイピングとはWebページを取得、解析してWebページのデータをCSVやJSONなど、扱いやすいようにデータを抽出する方法です。
スクレイピングもPythonは得意ですが、Python以外にも
- Ruby
- Go
など他のプログラミング言語も得意としているので、特別Pythonが得意というわけではないです。
ブロックチェーンを作れる
ブロックチェーンは「取引履歴など暗号化し、一本の鎖のように暗号化データを管理して、改ざん不可能な状態に出来る技術」で、昨今ビットコインやWeb3.0のNFTなどで話題になった技術です。
ブロックチェーンもPythonで開発することが出来ます。
DX(業務効率化)が出来る
DXとはDigital Transformationの略で、IT技術を使って業務を効率化して企業の成長を後押しする変革のことを指します。
DXもPythonでは出来ますが、正直どのプログラミング言語でも出来ます!
またPythonが特別得意と言う訳ではないです!
スマホアプリのAPIを作れる
スマホアプリのAPIとはスマホアプリは操作している最中に、サーバと通信を行ってユーザのデータやスマホに表示するデータなどを通信する役割を担っています。
詳しくは勉強方法のところで解説していて、これもPythonで開発することが出来て、
開発の仕方としてはWebサービスの開発方法とかなり酷似していて、Webフレームワークを使って開発していきます。
Pythonで何が作れるのか?活用例4つ
実際のPytnonの活用例
- AlphaGo
- Watoson
- Dropbox
- Discord
などが有名です!
Python活用例1: AlphaGoとWatoson
AlphaGoは囲碁の人工知能です。
実際に初めて人間に勝利しているAIとして有名です!
Pythonの得意分野でもある機械学習で有名なAlphaGoは実装されています。
機械学習といえば基本的にPython一択なので、当然といえば当然ですね!
Python活用例2: DropboxのWebアプリケーション
画像やPDFなどファイルをクラウドに上げるのが当たり前になった今、Dropboxをご存じの方は徐々に少なくなってしまっていますが、
画像をクラウドに保存する先駆けとなったツールです。
今でこそGooglePhotoやiCloudなどで画像を保存している方も多いですが、昔はDropboxがよく使われていました。
このサービスもPythonで実装されていました。
Python活用例3: Discordのデスクトップのチャットツール
Discordはオンラインゲームをやる人なら使っている方も多いと思いますが、ゲームでよく使用されるチャットツールです!
ビジネスでも使いやすいので使っている会社も多いです。
こちらもPythonで実装されています。
Pythonを学ぶのに向いている人
という疑問に答えていきます。
- AI(人工知能)を作りたい人・作れるようになりたい人
- データサイエンティストになりたい人
- Webサービスを作りたい人・作れるようになりたい人
がPythonを学ぶのに向いています!
特に
- AI開発
- データサイエンス
を将来的にやりたいと思っている方はPythonを学ぶのがおすすめです!
初心者がPythonを勉強して作れるものは?
初心者がPythonを勉強するとどういうものが作れるようになるのか説明していきます。
ここではPythonを使ってどのように具体的にどのようなものが作れるのかを解説しているのでチェックすることをおすすめします!
Pythonを学んで作れるものは?
- Web開発をしてWebサービスやモバイルアプリのAPIが作れる
- あらゆるデータを使ってAI開発が出来るようになる
- データサイエンスが出来るようになる
です。
一つ一つ細かく作れるもの毎に見ていきます。
Pythonで初心者が作れるもの: WebサービスやモバイルアプリのAPI
- WebサービスやモバイルアプリのAPIとは?
- 初心者でも作ることが出来るのか?
この順で説明していきます。
Webサービス、モバイルアプリのAPIとは?
Pythonでは他のPHPやRuby、Goなどと同様にWebサービスやモバイルアプリAPI(携帯アプリからデータを連携するために使うプログラム)を作ることが出来ます。
Webサービスとは
- Amazon
- Wikipedia
など、Webで検索時に出てくるSaaSと呼ばれるサービスだったり、ECサイトや企業のHPなどがそれに当たります。
またモバイルアプリAPIとは携帯からサーバへ通信してデータを取得してアプリというのは使えます。
そのデータを取得する役割を果たすプログラムをAPIと呼びます。
WebサービスやAPIを開発するときは基本的にどの言語でもWebフレームワークというのを使って開発します。
参考
WebフレームワークとはWebサービスを簡単に作るための開発キットで、
ゼロからプログラミングをする必要がなくすでにWebサービスを作るための機能がまとまっていて、
それを駆使して開発することで簡単にWebサービスが開発できます。
Pythonでは特にFastAPIやDjangoやというWebフレームワークが使われます。
Python初心者でもWebサービスやモバイルアプリのAPIは作ることが出来る
もちろんかなり熟練になるまでは時間がかかりますが、Webフレームワークを使ってWebサービスやモバイルアプリのAPIを作るまでは目安で1~3ヶ月程度で出来るようになります。
Pythonで初心者が作れるもの: AI開発ができる
Pythonを学ぶとAIが作れるようになります。
ではまずAIについて説明します。
Pythonで作ることが出来るAIとは?
AIとは凄いものでいうとAlphaGoやWatsonなどで、例えば上の例では画像を識別するAIを例にしていて、
大量のデータを学習させたモデルに、新たに別の画像をAIに投稿すると、AIがその画像がどの動物なのかを判断するというものです。
AI開発の手順
- 大量のデータを用意する
- データを学習させたモデルを作る
- 性能検証
とざっくりいうとこのような手順でAIと言うのは作られます(かなりざっくりなので実際はこんなに単純ではないです)。
AIは初心者でもPythonを使って作ることが出来る
もちろんかなり独自の学習AIモデルを作るには数学や統計、Pythonの知識やAI開発の経験がかなり必要です。
ただAI開発は昨今コモディティ化してきて、ある程度のAIを開発するのはPythonにあるライブラリを駆使すれば作ることが出来ます!
プログラミングスクールでも教えているAI開発はそういったものになるので、初心者でも学んでAIを作ることが出来ます。
Pythonで初心者が作れるもの: データサイエンスができる
続いてPythonを学ぶとデータサイエンスが出来るようになります。
参考
データサイエンスとは企業が持っているビッグデータから、データの特徴を抽出してビジネスに活かすのが仕事です。
例えばビッグデータから20代前半の男性がよく購入される商品だと言うことが分かれば、
その人たち向けに広告を打つなどの施策をビッグデータから考えることが出来ます。
もちろん熟練者になるまでには時間はかかりますが、どういうことが出来るのか、また熟練者までの最初のきっかけを作るという点では独学でも可能です!
Python初心者におすすめのサイト
何よりもまずはPythonをどうやって実装するのかを実際にプログラムを書いてみて学ぶ必要があります!
その場合に一番手っ取り早いのでUdemyでの学習です!
評価が高い!ベストセラー講座です
30日感返金保証
Udemyの勉強サイトをおすすめする4つのメリット
Udemyは以下のようなメリットがあります
メリット
- 動画なのでわからなければ何度でも見直せる
- 自分のペースで出来る
- 実装するためのサンプルコードが用意されている
- 講師に質問できる
特に最後の講師に質問できるというのはなかなか他のサイトにはないメリットではないでしょうか?
Python初心者におすすめの本
それでも本が良いという方のために、初心者におすすめの本も紹介いたします!
こちらはPythonが全く出来ない初心者向けになっていて、
Pythonの文法〜簡単な人工知能を作るまでを実戦形式でわかりやすく丁寧に解説されています!
初心者がPythonで作れるものごとの勉強方法
では続いて作れるもの毎のPython勉強方法について紹介していきます!
Webサービス、モバイルアプリAPIを作るための初心者の勉強方法
まずWebサービス・モバイルAPIを作れるようにするには
必要な知識・技術
- Pythonの文法
- Webフレームワークの使い方
- Webの仕組み
- (HTML・CSS)
となります。
Pythonの文法・Webフレームワークの使い方・Webの仕組みの勉強方法
まずPythonの文法とはプログラミング言語のPythonでプログラムを書くための文法のことです!
例えば
- for文
- if文
- class
- 関数の作り方
などの文法を覚える必要があります。
参考
ちなみにプログラミング言語毎に上記のような文法は書き方が違ったり、そもそも機能としての有無が違いますが、
基本的にはどの言語にもよくある機能で一つのプログラミング言語で覚えると他の言語でも応用が効きます。
Python・フレームワークの詳しい勉強方法はこちらの記事がとても参考になります!
HTML・CSSの勉強方法
HTML,CSSとはWebページの画面を作るためのマークアップ言語と呼ばれるものになります。
参考
HTML,CSSは正確にはプログラミング言語ではなくマークアップ言語と呼ばれるものになります。
モバイルアプリのAPI開発にはWeb画面は作らないのでこの知識は不要になります。
HTMLは画面の骨組みを作るためのもので
- hタグ
- pタグ
- divタグ
などタグと呼ばれるものを使って、Web画面を作っていきます。
例えば
このボタンはbuttonというタグを使って作られていて、
それぞれの赤、黄色、緑色はCSSというデザインをつくためのマークアップ言語で出来ています。
なのでWeb画面を作るためにはHTML、CSSを覚えるのが必須です!
HTML,CSSの勉強方法はこちらの記事が詳しいので是非ご確認ください!
AI開発をするための初心者の勉強方法
AI開発と一口に言っても
- 機械学習
- 深層学習
- 強化学習
などいくつかに分かれています。
今回はまずは基本となる機械学習を勉強する方法について説明していきます
初心者が機械学習をするために必要なスキルとは?
機械学習をするためには必要なスキルは
機械学習をするために必要なスキル
- Pythonの文法
- 機械学習の原理
- 機械学習で使うためのPythonライブラリの使い方
- (数学や統計学と機械学習の関係)
これらを学んでいく必要があります。
「機械学習の原理」とはデータを使って学習をさせた学習モデルを作るための原理を理解するということです。
そしてモデルをつくためのPytnonライブラリの使い方や数学、統計学との関係を学ぶことで、自分で機械学習が出来るようになってきます。
機械学習を学ぶための勉強方法
初心者でもわかりやすいように数学や機械学習が全くわからない人でもOK
30日間返金保証があります、またセールがやっているときもあるので必ず確認してみましょう!
この講座の特徴は
特徴
- 機械学習の基礎の基礎から教えてくれる
- 数学や統計学とプログラミングのひも付きがわかる
- 機械学習で使うライブラリがわかる
- 実践的な機械学習の内容がわかる
機械学習の基礎の中の基礎がわかるというのが一番の特徴です!
機械学習はコモディティ化していて世にあるツールキットを使うと、知識がなくても機械学習が出来るようになります。
ただ基礎を知らないとエンジニアとしては通用しないので、基礎を学ぶのは当然大事なことです。
その基礎がわかるのがこの講座になっています!
また詳しくはこちらの記事をご参考にしてください
30日間返金保証があります、またセールがやっているときもあるので必ず確認してみましょう!
データサイエンスをするための初心者の勉強方法
- データサイエンスをするために必要なスキル
- そのスキルを学ぶための勉強方法
について解説していきます。
データサイエンスをするためのスキル
データサイエンティストはビッグデータから特徴を見つけてビジネスに活かすということを生業としています。
それを満たすためにデータサイエンスに必要なスキルは
機必要なスキル
- Pythonの文法
- SQL言語
- 統計学
- (機械学習)
(今回はPythonで分析する場合を想定して必要なスキルを書いています)
Pythonでビッグデータを解析する場合もあれば、R言語と呼ばれる言語で分析する場合もあります(プロジェクトや会社によって使う言語が違います)。
参考
またSQL言語とはリレーショナルデータベースのデータを取得するための言語で、
データサイエンティストはビッグデータから解析していくため、
データベースからデータを取得するSQL言語は基本的に使えないといけないといけません。
データサイエンスを学ぶための勉強方法
初心者でも実践的なデータサイエンスが学べる講座です
30日間返金保証があります、またセールがやっているときもあるので必ず確認してみましょう!
この講座の特徴は
講座の特徴
- 実践的なデータサイエンスを学べる
- 初心者でもわかる分析環境構築から学べる
となっています。
ビジネスシーンごとにハンゾーンで解説してくれるため、より実践的な内容が理解できます。
また実践的ことを学ぶための分析をするための環境を構築する必要がありますが、それもちゃんとゼロから作れるように解説してくれます。
「Pythonで初心者が作れるもの」まとめ
まとめ
- Pythonで出来ることは大きく分けるとWeb開発、AI開発、データサイエンスと3つに分かれる
- Web開発はWebフレームワークを覚えること
- AI開発は基礎の基礎から勉強するのがおすすめ