Python

【入門】初心者が3か月でPythonを習得できるようになる勉強法!

Python 勉強
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、Pythonを効率よく学習し習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。

こんにちは!

事業会社でデータサイエンティストをやっているウマたん(@statistics1012)です。

大学院時代は統計学を専攻していたのですが、ほぼRを使用しておりPythonは手を付けていない状況でした。

しかし巷ではPython全盛期。

なんとかPythonを習得したいと思うものの長続きせず、結局中途半端に終わってしまっていました。

それもそのはず、データ解析を行うにはRで事足りることが多くPythonを使う必要はなく当時はPythonを習得するメリットはこれと言ってなかったのです。

しかし、何とか習得したいと、色んなサービスを使いほぼ初心者の状態から3か月である程度のデータ分析・Webアプリケーションなら実装できるようになりました。

今まで実際にPython学習に使ってきたサービスはこちら!ドドン!

サービス名オススメ度価格の安さサポート体制どんな人におすすめ?公式サイト
テックアカデミーパーソナルメンターが欲しいテックアカデミー
Udemy特定の領域を深堀りして独学で学習したいUdemy
PyQ環境構築せずとりあえずPythonを触ってみたいPyQ
デイトラWebアプリをガシガシ作りたいならデイトラ一択!デイトラ

これらの体験をもとに、この記事ではPython初心者を抜け出すための勉強法・ロードマップについて見ていきたいと思います。

この記事で取り上げているのは以下の3つ

・Pythonで習得すべき要素と出来ること
・Pythonで出来ることをまとめたコードの公開
・Pythonを効率よく勉強できるサービス

初心者勉強のロードマップを参考に勉強を進め、並行してコードを参考にしてカスタマイズした機械学習ロジックを用いたWebアプリケーションを作っていただけると学習がはかどるかと思います。

ロボたん
ロボたん
そんなことまで出来るのか・・・
ウマたん
ウマたん
データ分析だけの言語だと思ったら大間違い!実際にPythonを習得しやすいお題に対してコーディングしていくよ!

ちなみにデータ分析の文脈においてはNishikaKaggleなどのデータコンペを使ってガシガシ学んでいくことをオススメします。

Pythonの特徴

pc python

まずは簡単にPythonのイメージについて見ていきましょう!

ちなみにPythonの勉強法については以下の動画でも解説していますので、合わせてチェックしてみてください!

Pythonはどうしてもデータ解析のイメージが強いです。

もちろんお馴染みの機械学習手法から流行りの手法まで幅広く実装することができますが、それであればRでも問題ありません。

現に大学院時代はRで困ったことはありませんでした(Rはグラフ描画や多変量解析手法に強いイメージがあります)。

以下の記事でPythonとRなどデータ解析用のプログラミング言語を比較しているのでよければご覧ください!

統計解析を行う上で便利なプログラミング言語を比較!当サイト【スタビジ】の本記事では、統計解析において便利なプログラミング言語「Python/R/Stan/SQL」を比較していきます。それぞれのプログラミング言語にどのような特徴があるのか、どのように勉強していけばよいのか見てきますよー!...

Pythonの真骨頂は、Webアプリケーション開発。

FlaskやDjangoと言ったモジュールを用いることで簡単にWebアプリケーションを開発することができるのです。

Flask Django
Flask vs Django!PythonのWebアプリケーションフレームワークを徹底比較!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークである「Flask」と「Django」の違いを徹底的に比較していきます!なんとなーく分かっているようで分からない2つのフレームワークの違いをこの機会にしっかりおさえておきましょう!...

つまりクライアントサイドからデータをもらい、そのデータに対してロジックを回し、クライアントサイドに返すといったことを一気通貫で出来てしまうのです!

それでいて変数宣言等が必要なく、簡易的なコーディングで実装できる初心者にも優しい言語なのです!

ロボたん
ロボたん
なんだその最強の言語は・・・
ウマたん
ウマたん
出来ることの幅の広さと分かりやすい記述方法で非常に人気なんだよー!

Pythonで勉強すべき基礎要素・応用

python

Pythonで出来ることはたくさんあるので、まずは自分がPythonを使って何をしたいか明確にしておくと良いです。

Pythonでできること7つをコード例をまじえてまとめておく!当サイト【スタビジ】本記事では、Pythonでできることを7つまとめていきます!!Pythonで何ができるのか分からない状況から深い理解にもっていきますよー!実際にPythonでの実装例や勉強方法も取り上げているのでぜひご自分の環境で手を動かして実装してみてくださいね!...

もし詳しくPythonで出来ることについて知りたい!という方は手前味噌ですが以下の僕の書籍で小説形式で分かりやすく解説していますので是非チェックしてみてください!

ストーリー形式でPythonを使ってどんなことができるかまとめていますので、最初にこの本に目を通していただけると学習がスムーズに進むかと思います。

価格は300円ちょっとですし、Kindle unlimitedであれば無料で読めるのでぜひチェックしてみてくださいね!

概要を掴んだ後、実際に手を動かすパートでは、僕自身が講師を務めている以下の講座で色んな出来ることを実装しているのでよければ見てみてください。

この記事ではPythonを勉強する中でこれだけはおさえておきたい内容を基礎編と応用編に分けてまとめていきます!

・Pythonでの基本的な記述方法が分かる
・関数・クラスが作れる
・データ解析が出来る(機械学習モジュールが使いこなせる)
・スクレイピングが出来る
・Webアプリケーションが作れる

【基礎編】勉強すべき基本要素

ここではどちらにしろ共通して習得しておいた方が良い基礎要素をまとめていきます。

Pythonでの基本的な記述方法が分かる

まあこれは、他の言語をある程度触ったことのある人ならそれほど苦労しない部分かもしれません。

ただ若干記述の方法が違ったり、Python独自の概念もあるのでしっかりと学びましょう!

NumpyPandasMatplotlibなどデータ加工や描画に関するモジュールの使い方を覚えましょう!

理論を学ぶのは書籍をオススメしているのですが、Pythonの勉強には書籍はおすすめしません。

基礎文法の習得にはPyQというオンライン学習サービスを利用しましょう!

【体験談】PyQの評判は?3か月本気でPythonを勉強してみたので徹底レビュー!PyQはPythonを学ぶ上で非常にオススメで評判の高いサービスです。ただ、他のサービスとの違いが分かりにくいのも事実。そこで当サイト【スタビジ】では、実際にPyQを3か月体験した僕がPyQのメリット・デメリット・評判について徹底的にレビューしていきます!...

基本的な文法から勉強することができPythonに特化しているのでクオリティが高い!価格は3000円/月なので書籍1冊ほどのお値段です!

なかなかPythonに特化してここまで教えてくれるオンライン学習プラットフォームはありません。

クエスト形式で進んでいくので達成感もありますし価格も安め!

ただ、実際に開発環境を作るのではなくPyQが用意してくれたプラットフォームを使うのでPyQだけやっても実務で回すときはまた違う設定が必要になります。

PyQ インターフェイス

実際に自分でJupyter notebookを立ち上げたりコマンドプロンプトから入力して実装してみることを忘れないでください。

また、Udemyで人気のシリコンバレーエンジニア酒井さんの講座が非常に分かりやすくシリコンバレー流のコーディングが学べるのでオススメです。

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

関数・クラスが作れる

関数・クラスの概念も他のプログラミング言語触ったことのある人なら問題ないかもしれませんが、初心者には非常に取っつきにくいところです。

一旦理解してしまえばそれほど難しくはありません。後ほど紹介する書籍に分かりやすく書いてあります。

昔、Javaのオブジェクト指向でつまづいてプログラミング投げ出した記憶があります笑

ここのフェイズでもPyQで学習してきましょう!

また、先ほどのUdemy講座もオススメ!

チームで開発する上でのクラスや関数・モジュールの扱い方に関してここまで詳しく解説している教材は見たことないです。

データ解析では関数・クラスは一見いらなそうですが、オートメーションに組み込む際などは必要になってきます。

【応用編】Pythonで出来ること

ここまでは、基本的にPythonを使用する上で誰しもある程度必要になる基礎要素をお伝えしてきました。

ここからは、自分がPythonを使ってやりたいことを明確にしてどれかつまみ食い的に勉強して大丈夫な領域です。

まあ色々出来た方がPythonを使用する意味は高まるのでなるべく色々できるようになることをオススメします。

ロボたん
ロボたん
出来ることの幅が広くてどのように勉強すればよいか迷っちゃいそうだなー・・・
ウマたん
ウマたん
出来ることを実際に見ていくから参考にしてぜひ自分の目指す姿を明確にしてね!

データ解析が出来る(機械学習ライブラリが使いこなせる)

データ解析を行う上でのライブラリは比較的たくさんありますので、それが使いこなせるようになっておきましょう!

手前味噌ですが、データ解析に関しては僕自身が作っているUdemyコースがオススメです!

このコースは、なかなか勉強する時間がないという方に向けてコンパクトに分かりやすく必要最低限の時間で重要なエッセンスを学び取れるように作成しています。

アニメーションを使った概要編ハンズオン形式で進む実践編に分かれており、概要編ではYoutubeの内容をより体系的にデータ分析・機械学習導入の文脈でまとめています。

正直、Pythonは最新の手法であれライブラリとしてインポートし使用することができるのでアルゴリズムを精緻に理解する必要はありません。

しかし、まるっきり分からないと結果の解釈を誤ってしまう可能性があるのである程度の理解はしておくべき。

統計学や機械学習に関して不安な方はそちらも学んでおきましょう!

統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...
機械学習独学勉強ロードマップ
【5分で分かる】機械学習の独学勉強ロードマップを徹底的にまとめていく!当サイト【スタビジ】の本記事では、機械学習の独学勉強ロードマップについて徹底的にまとめていきます。機械学習をいきなり理論からしっかり勉強しようとすると挫折しかねません。そこで、この記事ではなるべく挫折しないロードマップをお伝えしてきますよ!...

また、さらに深くディープラーニング等を学びたいのであれば、テックアカデミーのAIコースがオススメです。

テックアカデミーは、なかなかモチベーションが保てない人におすすめ!

パーソナルメンターが寄り添ってくれるので挫折せず学習を進めやすいです。

体験記事を挙げているので参考にしてみてください!

【体験談】テックアカデミー評判は?3か月本気受講してみたので徹底レビュー!当ブログ【スタビジ】では、様々なプログラミングスクールの中からテックアカデミーのメリット・デメリット・評判について3か月の体験談をもとに赤裸々にレビューしていきます。...
\今すぐ試す/Pythonコースを見てみる

ディープラーニングの勉強方法については以下の記事でも詳しくまとめています!

【初心者向け】ディープラーニングの学習ロードマップまとめ当サイト【スタビジ】本記事では、ディープラーニングの学習方法について詳しくまとめていきます!ディープラーニングは難しいと思われがちですが、アルゴリズムは意外とシンプルで実装自体も非常に簡単なんです!Pythonでの実装もおこなっていきますよー!...

スクレイピングが出来る

スクレイピングとは、Web上のデータを抽出する作業。

スクレイピングに関してはUdemyの以下の講座がおすすめ!

キカガクの執行役員の方が分かりやすく説明してくれるので初心者でもつまずかず進めやすいです。

スクレイピングを自動的に行えばネットに落ちている様々な情報を一挙に吸い上げることが可能です。

ウマたん
ウマたん
スクレイピングが出来ると幅が広がるから是非マスターして欲しい!

スクレイピングをする上では、インターネットの構造とHTMLやCSSの理解が必要になります。

正直HTML・CSSを0から書ける必要はありません。

クロームのディベロッパーツールを使ってWebブラウザを見ながら構造を勉強するとよいでしょう!

マーケター必読!ディベロッパーツールの使い方!こんにちは! 消費財メーカーでデジタルマーケティングに携わるウマたん(@statistics1012)です。 みなさんは、C...

またスクレイピングすることができるレベルのHTML・CSS・Javascriptを学ぶ本として以下の書籍が超超超名著なので読んでみてください。

Kindle版しかないみたい。

「WEBマーケターのためのテクノロジー入門:Webマーケターにとって必要十分なプログラミング・テクノロジーの基礎を解説」

本
「WEBマーケターのためのテクノロジー入門」はWebマーケター必読書だ!こんにちは! 消費財メーカーでデジタルマーケターやってるウマたん(@statistics1012)です! 大学院では統計学を...

APIを利用できる

世の中にはたくさんのサービスが提供してくれているAPIが存在します。

APIを利用することで自分で0から作り込まなくても様々なことができるんです!

APIをPythonで利用する方法については以下の記事で詳しく解説していますので是非チェックしてみてください!

PythonのAPIを利用
【5分で分かる】Pythonを使って様々なサービスのAPIを利用してみよう!当サイト【スタビジ】の本記事では、Pythonを使ってSlackやGoogleのAPIを利用していきます!APIを利用することで非常に様々なことができるので是非試してみましょう!APIを使えるようになると幅が広がりますよ!...

データベースを操作できる

Sqlite3というライブラリを使用すればSQLと同様なカタチでデータベース操作を行うことができます。

もちろんSQLの記法が分かっていないといけないので以下の記事も参考にしてみてください。

SQL
SQLを最速でマスターできるオススメ本と勉強方法!当サイト【スタビジ】の本記事では、SQLを勉強するのにオススメな本と勉強法についてまとめていきます!SQLはデータサイエンスの基本であり必ずマスターしておかなくてはいけない言語です。早い段階から手を動かすことで理解が深まりますよー!...

Webアプリケーションを開発できる

ここがPythonの特徴でもあるのですが、今までサーバーサイド言語を扱ったことのない人にはハードルの高い部分かもしれません。

僕もサーバーサイド言語はノータッチでした。

実際にWebアプリケーションとして落とし込むにはHTML・CSS・Javascriptの知識も必要になってくるので同時に学習しましょう!

PythonでWebアプリケーションを開発するなら以下のUdemy講座がオススメ!

Flask: 【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース
→楽天の在庫情報をスクレイピングしてそれをAPIを使ってSlackに通知するプログラムをFlaskでWebアプリケーション化していきます
Django:【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
To DoアプリやSNSアプリを実装していきます

Flaskは軽量で簡易的なWebアプリケーションを開発するのにオススメですが、本格的なWebアプリケーションを実装するのであればDjangoがオススメです。

Django 学習
Djangoの学習におすすめのサイトと勉強を進める注意点 こんにちは! 消費財メーカーでデータサイエンティスト・デジタルマーケターをやっているウマたん(@statistics101...

FlaskとDjangoの違いは以下の記事でまとめています!

Flask Django
Flask vs Django!PythonのWebアプリケーションフレームワークを徹底比較!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークである「Flask」と「Django」の違いを徹底的に比較していきます!なんとなーく分かっているようで分からない2つのフレームワークの違いをこの機会にしっかりおさえておきましょう!...

また、PythonでのWebアプリケーション開発について詳しくは以下の記事でまとめていますよー!

Webアプリ開発
【入門初心者向け】PythonのフレームワークでWebアプリを開発する方法を徹底解説!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークを用いてWebアプリを開発していく方法を徹底解説していきます。実際にDjangoでの実装とFlaskでの実装をおこなっていったあと、勉強法についても見ていきましょう!...

Pythonを習得するための勉強課題

Coding

先ほどのPython習得におけるいくつかの要素。

それらを同時に習得できるプログラムを作っていきましょう!笑

僭越ながら、少し前までPython初心者だった僕でもこんなの作れるんだぞ!という証明も含めて解説していきます。

ウマたん
ウマたん
そんなのあるのか!?

正直無理やり感ありますが・・・

今回作っていくのは、

Webフォーム上にURLを入力すると、スクレイピングによってテキスト情報を抽出し、そこから形態素解析を行いテキスト類似度を算出し、データベース(これはおまけ)に格納、最終的にフォームに入力したURL同士のテキスト類似度を表示するWebアプリケーション

です。

Python テキスト

URLを入れると・・・・

Python テキスト

類似度が算出されます!

まさにこれを作れば、先ほどの様々な応用要素が習得でき・・・そう・・・?

ガツンとコードだけ先に載せちゃいます。

PythonファイルとHTMLファイルを作成していきます。

いきなり長ったらしいコードが現れましたが安心してください。

順番に見ていきましょう!

Pythonのスクレイピングを習得

まずは、Pythonでスクレイピングを習得していきます。

スクレイピングを行うにはbeautifulSoupというモジュールを使います。

Pythonにおけるスクレイピングに関して詳細は以下の記事をご覧ください!

PC
【初心者向け】Pythonのbeautifulsoupでスクレイピングを実装してみよう!当サイト【スタビジ】の本記事では、初心者向けにPythonでスクレイピングを行う上での注意点や実装方法そして勉強方法についてまとめていきます!スクレイピングは比較的カンタンに実装できますが、奥が深く他の知識と組み合わせることで高いシナジーが見込める分野です。...

スクレイピングの部分だけ抜き出して見ていきます!

#スクレイピングして文書加工
class Scr():
    def __init__(self, urls):
        self.urls=urls
#スクレイピング
    def geturl(self):
        all_text=[]
        for url in self.urls:
            r=requests.get(url)
            c=r.content
            soup=BeautifulSoup(c,"html.parser")
            article1_content=soup.find_all("p")
            temp=[]
            for con in article1_content:
                out=con.text
                temp.append(out)
            text=''.join(temp)
            all_text.append(text)
            sleep(1)
        return all_text

スクレイピング用のクラスを作成しています。

article1_content=soup.find_all(“p”)でpタグを指定して抽出しています。

ここを変えれば別のタグの中身を抽出することが可能です。

Pythonで形態素解析をしてテキスト類似度計算

続いて、MeCabを使って形態素解析を行い、td-idfとcos類似度を用いてテキスト類似度を算出していきます。

MeCabをPythonで使うには少し設定が必要だったりするのですが、詳しくはこちらの記事をご覧ください。

Mecab 形態素解析
PythonのMeCabで形態素解析!Tf-idfとCos類似度で文書の類似度を算出してみよう!当サイト【スタビジ】の本記事では、形態素解析器であるMeCabとPythonを用いて形態素解析を行いその後Tf-idfとCos類似度を使い最終的に文章の類似度を算出していきます。また、文章の著者が誰なのかをMeCabとLight gbmを用いて予測していきます。非常に簡単に実装できるかつ応用度が高いです!自然言語処理の世界に入るきっかけにしてくださいね!...

形態素解析・テキスト類似度の部分だけ抜き出して見ていきます!

#メカブで形態素解析
def mplg(article):
    word_list = ""
    m=MeCab.Tagger()
    m1=m.parse(article)
    for row in m1.split("n"):
        word =row.split("t")[0]#タブ区切りになっている1つ目を取り出す。ここには形態素が格納されている
        if word == "EOS":
            break
        else:
            pos = row.split("t")#タブ区切りになっている2つ目を取り出す。ここには品詞が格納されている
            slice = pos[:2]
            if slice == "名詞":
                word_list = word_list +" "+ word
    return word_list

#文書類似度計算
class CalCos():
    def __init__(self,word_list):
        self.word=word_list
#tf-idf&cos類似度で文書類似度算出
    def tfidf(self):
        docs = np.array(self.word)#Numpyの配列に変換する
        #単語を配列ベクトル化して、TF-IDFを計算する
        vecs = TfidfVectorizer(
                    token_pattern=u'(?u)bw+b'#文字列長が 1 の単語を処理対象に含めることを意味します。
                    ).fit_transform(docs)
        vecs = vecs.toarray()
        return vecs

    def cossim(self,v1,v2):
        return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))

ここでもそれらのクラスを作成しています。

形態素解析をして得られた結果から名詞だけを抜き出して、助詞等を除いています。

td-idfとcos類似度はnumpyとscikit-learnを用いれば簡易的に計算することが可能です。

Pythonでデータベースを操作する

続いてはPythonを使ってデータベースを操作していきます。

詳しくは以下の記事にまとめていますのでご覧ください!

PythonのSqlite3を使ってデータベースを操作する方法を見ていこう!当サイト【スタビジ】の本記事では、PythonのSqlite3を使ってデータベース操作をおこなっていきます。PythonでSQL扱えると便利!もちろんPythonだけでなくSQLの知識も必要になるので注意してくださいねー!...

データベース操作部分だけ抜き出して見ていきます!

class Db():
    def __init__(self,dbname):
        self.db=dbname

    def db_input(self,article):
        #値をデータベースに格納
        conn=sqlite3.connect(self.db)
        c = conn.cursor()
        # executeメソッドでSQL文を実行する
        create_table = '''DROP TABLE IF EXISTS article_match;
                        create table article_match (text_1 verchar,text_2 verchar,match_rate double)'''
        c.executescript(create_table)
        # SQL文に値をセットする場合は,Pythonのformatメソッドなどは使わずに,
        # セットしたい場所に?を記述し,executeメソッドの第2引数に?に当てはめる値を
        # タプルで渡す.
        sql = 'insert into article_match (text_1, text_2, match_rate) values (?,?,?)'
        c.execute(sql, article)
        conn.commit()
        c.close()
        conn.close()

    def db_output(self):
        #データベースから値を抽出
        conn=sqlite3.connect(self.db)
        c = conn.cursor()
        select_sql = 'select * from article_match'
        c.execute(select_sql)
        match_rate=c.fetchone()
        conn.commit()
        c.close()
        conn.close()
        return match_rate

細かい処理が必要なのですが、基本的にはsqlite3.connect()でデータベースを作成し、executeメソッドでSQLを実行していきます。

PythonでWebアプリケーションを作成

ここの部分が一番重いですね。HTMLも作成するのでPython以外の知識もある程度必要になってきます。

こちらの記事をはじめに読んでいただくと理解が進みやすいと思います。

有意差を算出してくれるWebアプリケーションを作成しています。

macとsurface
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!当サイト【スタビジ】の本記事では、Pythonの軽量WebアプリケーションフレームワークであるFlaskを使って簡単なWebアプリケーションを作成していきたいと思います。Pythonを開発言語としても使えるようになると、幅が広がりますよー!...

今回のプログラムで特別行っているところはローディング時にローディングのgif画像を差し込むという処理です。

/* ローディングGIF */
  #loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,.5);
  background-image: url(../static/images/325-88.gif);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: 50px 50px;
  }
$.ajax({
        type:'POST',
        url:'/output',
        data:textData,
        contentType:'application/json',
        //リクエストが完了するまで実行される
        beforeSend: function(){
          $('#loading').removeClass('hide');
          },
        // 非同期通信が成功したら実行される
        success:function(data){
          $('#loading').addClass('hide');
          var result = JSON.parse(data.ResultSet).result;
          $("#match1").text("類似度は"+result+"%です");
        }
      });

これがあるとユーザーにとっては計算中なんだなということが分かり親切ですが、あってもなくても構いません。

nc = Flask(__name__)
bootstrap = Bootstrap(nc)

@nc.route("/")
def check():
    return render_template('sr_all.html')

@nc.route('/output', methods=['POST'])
def output():
    #json形式でURLを受け取る
    url1 = request.json['url1']
    url2 = request.json['url2']

    word_list=[]
    url=[url1,url2]
    sc=Scr(url)
    texts=sc.geturl()
    for text in texts:
        word_list.append(mplg(text))

    wl=CalCos(word_list)
    vecs=wl.tfidf()
    match_rate=wl.cossim(vecs,vecs[0])
    #DB格納
    article = (url[0], url, match_rate)
    dbname = 'article.db'
    db=Db(dbname)
    db.db_input(article)
    match_rate=db.db_output()

    return_data = {"result":round(match_rate*100,1)}
    return jsonify(ResultSet=json.dumps(return_data))

Flaskを使ってWebアプリケーションを作成する部分は少し複雑ですが、こういうもんだと思って覚えるしかありません。

HTMLとの整合性が合うように命名等気を付けましょう!

これで終了!

Flaskを使う場合はpythonファイルと同じディレクトリにtemplatesフォルダを作成し、その中にhtmlファイルを置かないといけないので注意しましょう!

画像ファイルはimgフォルダ、css・jsはstaticフォルダと決まっています。

ちなみに今回はURLでもテキストでもどちらを入力しても判定できるようなUIにしました。

おまけですが、最後に作ったWebアプリケーションをHerokuというサービスでデプロイするステップを記事にしています!

heroku
herokuを使ってPythonのflaskで作ったアプリケーションをデプロイする方法と注意点!当サイト【スタビジ】の本記事では、PythonのWebフレームワークであるFlaskを使って作成したWebアプリケーションをインターネット上に公開するためにHerokuというサービスを使ってデプロイしていきます。Herokuを使えば簡単にWebアプリケーションを公開することが可能なんです。...

Webアプリケーションを作ったら色んな人に見てもらいたいですよね!

そんな時はぜひHerokuを使ってみてください!

このスクリプトをまねて何かWebアプリケーションを勉強がてら作ってみてくださいねー!

ウマたん
ウマたん
これが出来ればPythonの勉強は一通り出来たことになるよ!

Python勉強におすすめのサービス

最後にこれらのPython勉強を進めるおすすめサイト・サービスを紹介していきます。

ある程度、本で学ぶこともできますが正直しっかり学ぶならサービスを利用した方が効率が良いです。

何回か登場しているサービスもありますが、最後にまとめておきましょう!

サービス名オススメ度価格の安さサポート体制どんな人におすすめ?公式サイト
テックアカデミーパーソナルメンターが欲しいテックアカデミー
Udemy特定の領域を深堀りして独学で学習したいUdemy
PyQ環境構築せずとりあえずPythonを触ってみたいPyQ
デイトラWebアプリをガシガシ作りたいならデイトラ一択!デイトラ

PyQ

PyQ トップページ公式サイト:https://pyq.jp

【価格】3040円/月~
【オススメ度】

PyQはPythonに特化したサービスです。

完全オンライン学習サービスで、定額制で全ての講座を受講することができます。

実際に手を動かすことをかなり重視しているので、楽しくモチベーションを保ちながら進めることが可能です。

インターフェイスが使いやすくてサクサク進められます。

PyQ インターフェイス

プランはプロに質問ができて過去の質問も閲覧できるスタンダードプランと講座の受講だけできるライトプランがあります。

不安ならスタンダードプランをオススメしますが、ライトプランでも問題なく進められます。

正直Pythonを素早く身に付けて実装してみたい!かつお金も安く済ませたい!ならPyQ一択です。

ただ完全自力なので、モチベーションが続かないと厳しいです。

以下の記事でPyQの体験を基に詳しくレビューしています。

【体験談】PyQの評判は?3か月本気でPythonを勉強してみたので徹底レビュー!PyQはPythonを学ぶ上で非常にオススメで評判の高いサービスです。ただ、他のサービスとの違いが分かりにくいのも事実。そこで当サイト【スタビジ】では、実際にPyQを3か月体験した僕がPyQのメリット・デメリット・評判について徹底的にレビューしていきます!...

Udemy

Udemy

公式サイト:https://www.udemy.com/

【価格】1200円~(コース売り切り型)
【オススメ度】

Udemyは様々な専門知識が学べる世界最大の教育プラットフォーム!

Pythonに特化したプラットフォームではありませんが、Python関連の講座も大量にあります。

実際にPython関連のコースを20個以上受講して比較した記事を以下にまとめています!

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

Udemyでは、好きな講座を売り切り価格で購入することができるので自分のレベルに合った講座だけをつまみ食いして勉強することが可能です!

また講座別の評価も明記してあるので、選びやすいです!

PyQでは深く学ぶことが出来ないディープラーニングなども学ぶことが出来ます。

網羅出来ている範囲は一番広いと言えます。

自分のレベルややりたいことに合わせて受講することが可能なのがいいですねー!

\30日間全額返金可能/UdemyのPythonコースを見てみる

ちなみにコースによってはセール価格で購入できる場合があります!

自分はPyQテックアカデミーでPythonまわり勉強してきたのですが、基礎が分かってからはUdemyガツガツ利用しました。

Udemy レビュー
【体験談】評判の良いUdemyを30コース以上受けている僕が徹底レビュー!当サイト【スタビジ】の本記事では、世界最大のオンライン学習プラットフォームであるUdemyのメリット・デメリット・評判・口コミについてまとめていきます!実際にプログラミングやデータサイエンス、Webマーケ関連のコースを30個以上受講している体験談をもとにお伝えしていきます。...

テックアカデミー

テックアカデミートップページ

公式サイト:https://techacademy.jp/

【価格】163,900~
【オススメ度】

テックアカデミーは、オンライン学習ですが現役エンジニアのパーソナルメンターがつくので分からないところも解消しやすく書籍などで進めるよりは圧倒的に進みが早いです。

テックアカデミー 価格表

価格が高い分お尻に火が付きますが、テックアカデミーは教材のクオリティが低く、ネットで無料で学べるレベルです。

メンターのレベルは非常に高いので自分のやる気さえあれば教材の範囲を超えた内容をガツガツ学ぶことが可能!

僕自身3か月のコースを1か月で終わらせて、応用をガツガツ学んでました。

どちらにせよやる気があって良い意味でメンターを使い倒せる自信があるのであればテックアカデミーは非常にオススメです!

※メンターは変更を願い出れば変えられます。

Python関連のコースは以下の3つがあります。

Pythonが全くはじめての場合はPythonコースを受講して、その後に画像認識などAIの活用まで踏み込みたいならAIコース、機械学習などを使った予測やデータ分析を深めたいならデータサイエンスコースに移りましょう!

複数コースを並行して学習するセットパックもあります。

テックアカデミーについては以下の記事で体験談をまとめていますので是非チェックしてみてください!

【体験談】テックアカデミー評判は?3か月本気受講してみたので徹底レビュー!当ブログ【スタビジ】では、様々なプログラミングスクールの中からテックアカデミーのメリット・デメリット・評判について3か月の体験談をもとに赤裸々にレビューしていきます。...

無料体験は事前に出来るので不安な方は試してみることをオススメします!

デイトラ

デイトラ公式サイト:https://www.daily-trial.com/python
【オススメ度】
【レベル】初級〜中級
【価格】89,000円

プログラミングスクール「デイトラ」のPythonコースではめちゃくちゃ実践的なPythonの使い方が学べます。

他のプログラミングスクールと比較して圧倒的に安いのでめちゃくちゃオススメです。

パーソナルメンターによる面談などはないので進捗管理はされませんが、Slackによる質問はできるのでやる気のある人にはオススメです!

データ分析というよりもWebアプリケーション作成の文脈が多いので開発よりのコースです。

Webマーケティングの世界ですぐにでも使える、様々なノウハウが詰まったアプリケーションを開発していきます。

TwitterやInstagram、Youtubeを用いてアカウントをグロースさせるための情報を抽出して表示するアプリケーションを作成したり、LINEのAPIを用いてチャットボットを作成したりします。

Herokuを使ってのデプロイも教えてくれるので、非常に実用的な内容。

ただ、上級編に関しては少し説明が省略されているのでDjango初心者は辛いかもしれないです。

デイトラに関しては以下の記事で体験談をふまえて詳しくレビューしていますので気になる方は是非チェックしてみてください!

デイトラ タイトル
【体験談】デイトラを受講して評判・口コミを徹底解剖!当サイト【スタビジ】の本記事では、デイトラを実際に受講した体験談を元にデイトラのレビューをしていきたいと思います!主観的なレビューだけではなく客観的な評判などもチェックしてデイトラの評価を徹底的に見ていきますよ!...

ここで紹介した意外にもPythonを勉強できるスクールやサイトはあります。

以下の記事でまとめていますので是非こちらも参考にしてみてください!

Python おすすめ スクール
【2020年最新】Python学習に最適なオンラインスクールおすすめ6選当サイト【スタビジ】の本記事では、実際にスクールに通ったりWebサービスを利用したりしながらPythonを習得した僕がおすすめするオンラインメインのスクールを紹介していきます。正直Python学習スクールは乱立し過ぎていてどれを選べばよいのか難しい!そんな人にぜひ読んで欲しいです...
Python サイト
【入門者向け】Pythonを効率良く学習できるサイトおすすめ7選!当サイト【スタビジ】の本記事では、入門者向けにPythonを効率よく学習するサイトを紹介していきます!複数のサイトがありますのでメリット・デメリットについて見ながら点数付けをしていきます。ぜひ自分に合ったPython学習サイトを見つける上での参考にしてください!...

いくつかサービスを紹介してきましたが、一番手っ取り早くオススメなのは

おすすめロードマップ

デイトラもしくはテックアカデミーのコースを3か月間並行して、Udemyも適宜自分に合わせて購入する

というロードマップ!

僕の場合、PyQとテックアカデミーを並行して進めながらテックアカデミーのメンターにディープラーニングRNNそしてWebアプリケーションのデプロイ方法なんかを聞いて自分で進めていました。

データ分析よりもPythonによるWeb開発に興味のある方はデイトラが実践的なWebアプリをガシガシ作れるのでオススメです!

Python勉強を挫折しないためには

Feeling bad

最後にPython学習を挫折しない方法を少しだけお話しておきましょう。

ロボたん
ロボたん
確かにプログラミングって結局勉強し始めても挫折しちゃうことが多いんだよ・・・
ウマたん
ウマたん
分かる分かる!ちょっとだけTipsを伝えておくよ!

プログラミング勉強において重要なのは、目的を明確にしておくことです。

なんとなく惰性でプログラミングを勉強しようとしてもそう簡単には上手くいきません。

実際、大学院時代に流行りの手法だからとPythonに取り組んでみましたが結局上手くいかず・・・

今回のように実際に実装したいモノが明確にあれば習得しやすいです。(作りたいモノに対する熱量にもよります)

仮にPythonでできることのイメージを掴むためにはぜひ以下の書籍に目を通してみてください!

created by Rinker
¥322
(2021/09/21 13:20:51時点 Amazon調べ-詳細)

手前味噌で恐縮なのですが、僕自身が書籍を出版しています。

Pythonで出来ることやデータサイエンスの業務イメージをつけてもらうのに最適だと思います。

ストーリー形式で分かりやすく書いていますので、ぜひ最初に目を通していただけると具体的な目標のイメージが湧くと思います。

価格は300円ちょっとですし、Kindle unlimitedであれば無料で読めるのでぜひチェックしてみてくださいね!

もし、実装したいモノが特にない場合、ある程度強制的に目標を作ることをオススメします!

強制的に目標を作るにはやはり先ほど紹介したテックアカデミーデイトラなどのプログラミングスクールに通うことをオススメします!

基本的にはオンライン学習コンテンツを進めていくものになりますが、現役エンジニアのメンターがついて分からないことは素早く対応してくれます。

正直かなりの大金を払うことになるのでやらざるを得ない状況に追い込まれますしメンターチェックが入るのでお尻に火がつきます。AIコースを受講しましたが割と大変でした・・・

教材というよりメンタリングにお金を払っているイメージです。

プログラミングを習得するのにオススメな方法について以下の記事でまとめています!

PC
【体験談】プログラミングを挫折しない方法3つの秘訣!当サイト【スタビジ】の本記事では、プログラミングを挫折しないで独学で勉強し続けられる方法についてまとめていきます。プログラミングを挫折し続けてきたからこそ伝えられる価値があると思い、今までの経験を基に徹底的にお話しいていきますよー!...

Python勉強でよくあるFAQ

Social strategy

最後にいままでの内容を簡単にPython勉強でよくあるFAQとしてまとめておきましょう!

Pythonを勉強するのにどんなサービスがあるの?

独学ならUdemyPyQがおすすめで自力はしんどいならプログラミングスクールがおすすめです

Pythonの勉強を挫折しないようにするためには?

なぜPythonを勉強したいのか、Pythonを習得して何がやりたいのか、目的を明確にしておくことがまず大事です。「Python勉強を挫折しないためには

Pythonでどんなことができるの?

データ分析はもちろんのこと、スクレイピングやWebアプリケーション開発もできます。「Pythonで勉強すべき基礎要素・応用

Pythonの勉強法 まとめ

長々と書いてきましたが、結局のところPythonは手段でしかないので目的がないと習得もクソもありません。

自分でモチベーション保てる人はPyQUdemyを中心に勉強して、

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

なかなか続かないなー強制力が欲しいなーという人はテックアカデミーデイトラなどのプログラミングスクールに挑戦してみることをオススメします!

Python おすすめ スクール
【2020年最新】Python学習に最適なオンラインスクールおすすめ6選当サイト【スタビジ】の本記事では、実際にスクールに通ったりWebサービスを利用したりしながらPythonを習得した僕がおすすめするオンラインメインのスクールを紹介していきます。正直Python学習スクールは乱立し過ぎていてどれを選べばよいのか難しい!そんな人にぜひ読んで欲しいです...

どれを選ぶかは人それぞれですが、必ずPythonを使って何を達成したいのかは念頭においておくようにしましょう!

サービス名オススメ度価格の安さサポート体制どんな人におすすめ?公式サイト
テックアカデミーパーソナルメンターが欲しいテックアカデミー
Udemy特定の領域を深堀りして独学で学習したいUdemy
PyQ環境構築せずとりあえずPythonを触ってみたいPyQ
デイトラWebアプリをガシガシ作りたいならデイトラ一択!デイトラ
ロボたん
ロボたん
なんだかワクワクしてきたよ!!Pythonを勉強したい!
ウマたん
ウマたん
是非Pythonをマスターしようー!

Pythonを習得しつつも統計学・機械学習・ディープラーニング、そしてデータサイエンティストになるための勉強は続けていきましょう!

ぜひ以下の記事を参考にしてみてくださいね!

統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...
機械学習
【入門】機械学習のアルゴリズム・手法をPythonとRの実装と一緒に5分で解説!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
【初心者向け】ディープラーニングの学習ロードマップまとめ当サイト【スタビジ】本記事では、ディープラーニングの学習方法について詳しくまとめていきます!ディープラーニングは難しいと思われがちですが、アルゴリズムは意外とシンプルで実装自体も非常に簡単なんです!Pythonでの実装もおこなっていきますよー!...
【入門者向け】データサイエンティストに必要なスキルと独学勉強ロードマップ!当サイト【スタビジ】の本記事では、データサイエンティストに求められるスキルとそれを身に付けるための勉強法について徹底的にまとめていきます!入門者でも、しっかりデータサイエンティストについて理解しある程度独学で駆け出しの状態までいけることを目指します。...
本記事で紹介したサービス

Udemy
PyQ
テックアカデミー
デイトラ
Nishika

Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!