本当にPython初心者でも作れるモノ4選【Webアプリ・データ取得・自動化etc.】
GeekSalonライターのたかぱんです!
この記事をお読みの方は
「Python始めたばかり初心者におすすめなプロダクトが知りたい」
「Pythonでなにか作ってみたいけれど何が作れるかわからない」
といったような悩みをお持ちではありませんか?
この記事では、Pythonでどのような物が作れるか、その中でも初心者におすすめなプロダクトについて解説していきます。
目次
Pythonってどんな言語?
Pythonの特徴
Pythonは汎用性の高いプログラミング言語として人気な言語です。Pythonは、書きやすくて読みやすい構文であるということが特徴となっています。
日経クロステック プログラミング言語利用実態調査2021より
日経クロステックのプログラミング言語利用実態調査でのアンケートでは、現在使っているプログラミング言語を3つまで挙げており回答数は、455となっています。
その結果、利用言語の第1位は「Python」でした。回答者455人中151人が利用している結果となり、3割以上のエンジニアがPythonを何らかの業務に使っているという実態でした。
アンケートを見てもわかるように多くのエンジニアがPythonを利用している現状となっています。
では実際にPythonでできることとはどのようなことがあるのでしょうか?
Pythonでできること
Pythonは多くの場面で使用されており、さまざまな分野で活躍しています。Pythonでできることは大きく分けて、以下の通りとなっております。
- Web開発
- データ解析と数学的な計算
- 機械学習と人工知能
- 自然言語処理
- ネットワークプログラミング
- 自動化
- IoT開発
Web開発
Pythonでは、DjangoやFlaskなどのフレームワークを使用してウェブアプリケーションを構築することができます。
Djangoは、PythonのWebフレームワークの中でも最も広く使われているものの1つです。Djangoは、高速で堅牢なウェブアプリケーションを構築するための豊富な機能を提供しています。
Flaskは、軽量かつシンプルなPythonのWebフレームワークです。Flaskは柔軟性が高く、最小限の構成で素早くウェブアプリケーションを構築することができます。
データ解析と数学的な計算
Pythonでは、データ解析と数学的な計算を行うことができます。Pythonでは、NumPy、Pandas、Matplotlibといったライブラリを利用することによって比較的簡単にデータ解析や数学的な計算が可能になっています。
近年大学生の研究などにPythonが利用されるケースも多くなってきています。
機械学習と人工知能
近年急速に需要が増加しているAI。AIはPythonを利用して開発することが可能です。AIを開発する際にはこれから説明する自然言語処理の技術や、音声処理の技術、画像処理の技術など様々な技術が利用されています。
自然言語処理
自然言語処理とは、コンピューターが人間の自然言語を理解し、処理するための技術です。つまり、コンピューターが人間が普段使っている言語(例えば英語、日本語など)を読み取り、解釈し、生成することができるようになります。
ネットワークプログラミング
ネットワークプログラミングとは、コンピューターネットワーク上で通信を行うためのプログラムを開発することを指します。これは、コンピューター同士がデータを送受信する方法を制御するための技術であり、インターネットやローカルネットワークなどのネットワーク環境で広く使用されています。
自動化
Pythonでは、自動化をすることができます。具体的にできる自動化とは以下の通りです。
- ファイル操作
- データ処理
- ウェブスクレイピング
これらを駆使することによって、さまざまなタスクを効率化することが可能になります。
IoT開発
IoTとは、Internet of Thingsの略であり、さまざまなデバイスやセンサーをインターネットに接続し、データの収集、処理、制御を行う技術です。
IoT開発には、ハードウェアの設計と製造、組み込みソフトウェアの開発、クラウドサービスの設定と管理、アプリケーションの開発など、さまざまなスキルが必要です。Pythonは、IoT開発においても広く使用されており、デバイス制御からデータの分析まで、さまざまなタスクを実行するためのツールとして役立ちます。
Python作られている有名なサービスの紹介
実際にPython初心者でも作れるものを紹介する前に、世の中にある有名なサービスの中でPythonが使割れているサービスを紹介していきます。実際に世の中に展開されているサービスを知ることで、Pythonでできることの解像度が上がると思います。
- Youtube
- Amazon
YoutubeやAmazon、InstagramといったサービスでPythonが利用されています。
YouTubeの一部はPythonで記述されており、内部のさまざまなプロセスやツールで使用されています。InstagramのバックエンドはPythonで構築されています。Djangoフレームワークを使用しています。
Python初心者でも作れるモノ4選
Python初心者にオススメなプロダクトは以下の4つです。
- 自動化ツール
- スクレイピングツール
- 画像処理ツール
- Webアプリケーション
1. 自動ログインなどの自動化ツール
まずPython初心者におすすめなものの1つ目として、自動化ツールが挙げられます。
自動化ツールとは、SNSやWebサービスなどログインが必要なものに対して自動でログインするようなツールのことを指します。
自動ログインなどの自動化ツールの難易度
自動化ツールを実装する際の難易度は以下の通りです。
- ★★☆☆☆
自動ログイン等は比較的に簡単に実装することができます。
Pythonの知識と同時に、Webの知識が必要である場合などがあります。
自動化ツールでできること
自動化ツールでできることは以下の通りです
- 画像データの収集
- ダウンロードしたファイル、画像の名前がばらばらなものの名前を統一する編集の作業
- エクセルの自動操作
- SNSなどのサービスに自動でログイン
自動化ツールを実装する時に利用するPythonのライブラリ
- Selenium・・・Web ブラウザの操作を自動化する
- Beautiful Soup・・・Webサイト上のデータを取得・解析する
- (Request・・・HTTP通信用のPython)
- openpyxl・・・エクセルを操作できる
2. ネットから株価やなどの情報を取得するスクレイピング
初心者におすすめなPythonプロダクトの2つ目として、ネットから情報を取得するスクレイピングツールです。
スクレイピングの難易度
- 難易度 ★★★☆☆
スクレイピングとは?
Web上から必要なデータをプログラム等を使用して取得してくることです。Scrapingは「こすり、ひっかき」に由来しており、プログラミングで使うときは特にWeb上から必要なデータをとってくることを意味します。
スクレイピングは、データを手動で収集するのに比べて大きく時間と手間を短縮できます。
その分Webサイト上のデータを取得してくるためサーバーに負担がかかり、スクレイピングが禁止されていたり違法になるサイトもあるため、スクレイピングするサイトには気をつける必要があります。
スクレイピングでできること、活用例
スクレイピングでできることの一例は以下の通りです。
- メルカリで高額で売れた出品の一覧データの取得
- 定期的な株価の取得
- 検索の関連ワードの所得
3. Webアプリ
Webアプリを作成する際のプログラミング言語には、Ruby、PHP、Javaが多く採用されますが、実はPythonを使ってWebアプリを作成することができます。
Pythonを利用したWebアプリ開発の難易度
- ★★★★☆
Pythonには、簡単にWebアプリが作れるようなフレームワークが作成できるライブラリがあります。(フレームワークとは、中身になにも入っていない骨組みのようなもので、プログラムを使って中身を埋めていいきます)
Webアプリにおいてフレームワークを作成するライブラリとして、以下の2つが挙げられます。
- Flask(簡単手軽)
- Django(難しいが高級感のある仕上がりになる)
Webアプリはインターネットやサーバーにも関係のあるものなので、Python以外にも必要となってくる知識があります。例えば、HTMLや通信、セキュリティなどに対する知識がWebアプリを作る上で必要になります。
しかし、自分の作ったプログラムをネット上にアップロードし、友達や知り合いにも活用してもらうことができるので、とてもおすすめです。
4. 画像処理
初心者におすすめなPythonプロダクトの4つ目は、画像処理ツールです。Pythonのライブラリの1つであるOpenCVは画像認識や画像処理を得意としています。
画像処理の難易度
- ★★★☆☆
画像処理でできること
Pythonにある、OpenCVというライブラリを利用して、画像処理ができます。OpenCVは簡単に画像のピクセルを読み取り分析して処理したり、特徴を検出したりすることができるので、以下のような活用ができます
- 顔の認識
- 色の反転や融合で新たな画像を生み出す(芸術分野にアツい)
- 画像の中の物を認識して、背景とそのものを切り離す技術(Zoomの背景フィルターのような)
では実際に、顔の認識をするコードを書いてみましょう。
こちらは、Google Colaboratoryで実行させます。
(Google Colaboratoryはオンラインで動くエディターです。インストール方法や、使用方法は下記に載せているため、こちらを参考にしてみてください。
【サンプルコード】
import cv2
from google.colab import files
#公式からダンロード
face_cascade_path = '/usr/local/opt/opencv/share/'\
'OpenCV/haarcascades/haarcascade_frontalface_default.xml'
eye_cascade_path = '/usr/local/opt/opencv/share/'\
'OpenCV/haarcascades/haarcascade_eye.xml'
face_cascade = cv2.CascadeClassifier(face_cascade_path)
eye_cascade = cv2.CascadeClassifier(eye_cascade_path)
uploaded_file=files.upload()
uploaded_file_name = next(iter(uploaded_file))
src = cv2.imread(uploaded_file_name)
src_gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(src_gray)
for x, y, w, h in faces:
cv2.rectangle(src, (x, y), (x + w, y + h), (255, 0, 0), 2)
face = src[y: y + h, x: x + w]
face_gray = src_gray[y: y + h, x: x + w]
eyes = eye_cascade.detectMultiScale(face_gray)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(face, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
cv2.imwrite('data/dst/opencv_face_detect_rectangle.jpg', src)
コードを実行することで、アップロードした画像の顔の部分を認識して、四角で囲ったものを出力してくれます。
<実行前>
<実行後>
Python初心者が開発を始める手順
Python初心者が開発を始めるときに、パソコンの中に色々なソフトをダンロードして、開発できる環境を整える必要があります。
ダウンロードする物として基本的には、以下の2つをダウンロードする必要があります。
- Python
- エディター
Pythonそのもの自体のダンロードは、Anacondaというものをインストールする方法があります。
AnacondaをインストールすることでPythonの使いやすい環境もPythonとセットでダウンロードすることができるので、Anacondaでインストールをしましょう。
エディターは、コードを書くためのWordのようなアプリを想像していただけるとわかりやすいです。そのエディターとして、VSCodeの使用をおすすめしています。
VSCodeは、世界中のプログラマーに使われているエディターであり、誤字の修正や、見やすいにようにスペースの調整を自動でしてくれる機能をつけることができます。
加えてVSCodeはPythonに限らず様々な言語で使用することができるので、Python以外の言語も使ってみたい方にもおすすめです。
Pythonでの開発につまづいたらプログラミングスクールがオススメ
いかがでしたか?Python初心者でも作れるものを4つに絞って紹介しました。
Pythonを勉強する際にはいくつかの方法があります。開発につまづいたらプログラミングスクールがオススメです。
プログラミングスクールに通うメリットとは?
プログラミングスクールに通うメリットは大きく分けて3つです。
- 独学に比べて挫折しにくい
- 分からない時にすぐに聞けてすぐに解決ができる
- 就職・転職に有利
独学に比べて挫折しにくい
プログラミングスクールは挫折率が低いと言われています。
実は、独学の場合、プログラミングの挫折率は80%から90%と言われています。
独学と比較して、プログラミングスクールでの挫折率はとても低いと言われています。
分からない時にすぐに聞けてすぐに解決ができる
前述したプログラミングスクールでの挫折率が低い理由として、分からない時にすぐに聞けてすぐに解決ができるという理由があります。
プログラミングスクールの多くは、メンターや講師が付き教えてくれます。
そのため、分からないと思った時にすぐに質問することができ、すぐに解決することができます。
就職・転職に有利
プログラミングスクールに通うメリットの3つ目として就職・転職に有利という点があります。プログラミングスクールが就職・転職に有利な理由としては、大きく2つが挙げられます。
1つ目が、受講期間中にポートフォリオを作成できるという点です。就職・転職活動中、必ずと言ってもいいほどポートフォリオの提出を求められます。そのポートフォリオをプログラミングスクールの受講中に作成することが多くのプログラミングスクールで可能です。(※一部プログラミングスクールではできない可能性があります。)
2つ目がプログラミングスクール受講中に講師の方から就職・転職サービスを受けられる可能性があるからです。一部のプログラミングスクールでは、企業と連携しているケースがあります。その場合、プログラミングスクール限定の選考がある場合もあるため、就職・転職活動に有利と言われています。
大学生がプログラミングスクールを選ぶならGeekSalon
大学生の方でプログラミングスクールを探している方は、GeekSalonがオススメです。
GeekSalonは大学生限定のコミュニティ型プログラミングスクールです。受講生の8割以上がプログラミング未経験で、約5割の方が文系の学部に所属している大学生になります。
GeekSalonでは、Pythonを学ぶことができます。Pythonを学ぶことができるコースは以下の2つです。
- Pythonコース
- AIコース
Pythonコース
Pythonコースでは、1ヶ月という短い期間でPythonの基礎を学ぶことができます。プログラミング学習の最初の一歩目としてPythonコースを選ぶ方が多いです。
AIコース
AIコースは、3ヶ月間の期間でAIを学び最終的にWebサイトの作成を行うコースです。3ヶ月の期間でAIの基礎を学び、最終的には自分だけのオリジナルサービスの開発を行います。
GeekSalonの詳しい説明を聞いてみたいと思った方は、毎日Zoomで無料の説明会を行なっています。おしゃべり感覚でぜひ参加してみてください。