- pythonって何ができるの?
- pythonの向いている分野は?
- pythonが人気の理由は?
みなさんはこんな疑問をもっていませんか?
2021年プログラミング言語ランキングで1位※1を獲得した『python』ですが、なぜそんなに人気なのか気になりますよね ※1 米オライリー(O’Reilly)発表私も疑問に思っていましたが、やっていくうちに人気の理由がわかりました
そこで今回はpythonでできること・人気の理由を初心者の方にもわかるように解説していきます
この記事を読むとわかること・・・
- pythonで向いていること・向いていないこと
- python人気の理由
- 1年でpythonのレベルどれくらいになるか(実績公開します)
こんにちは!おへんじといいます!
私は趣味でプログラミングを独学ではじめて1年の初心者プログラマーです
pythonをメインにhtml, css を少し勉強しています
pythonでFXの自動売買マシンを作ろう!と夢をみて日々格闘中です
他にも同じような内容が書いてある記事はたくさんあるけど
- 初心者目線で書かれてない
- 実際にどれくらいできるようになるかイメージが湧かない
と見てて思いました
初心者の悩みは初心者にしかわからない!
ということで、分かりやすさ重視で初心者の方向けに実体験をふまえて解説していきますので
みなさん一緒にがんばっていきましょう!
pythonで向いていること4選
pythonでできることはたくさんありますが、なかでもpythonで向いていることおすすめ4つをピックアップして紹介していきます
1つでもやってみたいことがあったら、ぜひ一緒にpython初めてみましょう!
その1 AIを使って予測できる
なんと言っても、AIを簡単に使えることがpython人気の最大の理由です
AIが簡単に使える理由
pythonには目的ごとに必要な機能をまとめたライブラリという便利なものがあります
ライブラリの中にはAIを使うためのライブラリ(keras, tensorflowなど)もあります
ライブラリのおかげでAIの仕組みがわからない初心者の方でもAIを使用できます
たった数行でAIを作成することができます(1から作ると数百行は必要です)
参考コードはこんな感じです
# ライブラリのインストール
from keras.models import Sequentialfrom keras.layers import Dense
# AIくんの作成
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
# お勉強方法の設定
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# お勉強の開始
model.fit(x_train, y_train, epochs=5, batch_size=32)
# AIくんで予測
classes = model.predict(x_test, batch_size=128)
- AIの使い方の解説ページがあるのでコピペでAI作れます
今回記載しているコードの説明はこちらから(keras公式サイト)
AIの仕組み
AIを簡単に説明します(興味ない方・知ってるよ!って方は読み飛ばしちゃってください)
例えば、動物の画像を入力して、その動物が『かわいい』かを判定してくれるAIくんを作成するとします
完成イメージはこんな感じです
まず、AIくんが『かわいい』と判断するためには、『かわいい』とは何かを勉強してもらう必要があります
そこで、AIくんが勉強するためのデータを用意する必要があります
どんなデータを用意するかというと・・・
AIくんが勉強するには入力データと正解ラベルが必要です
- 入力データ:動物の画像
- 正解ラベル:画像が『かわいい』のか『かわいくない』かの情報
こんな感じの用意したデータをAIくんに渡してあげて『かわいい』とは何かを勉強してもらいます
上手に学習できると精度の高いAIくんが完成します
例では、動物が 『かわいい』か判定するAIくんを紹介しましたが、
入力データと正解ラベルを変えることでいろんなAIくんを作成することができます
例えば・・・
- 自分がどの芸能人に似ているのかを判定するAIくん
- チェスができるAIくん
- 株価など予測するAIくん
ちなみにチェスではAIくんが強くなりすぎて人間では勝つことができなくなってます
pythonでは自分が作りたいAIくんを作ることができます
AIについて詳しく知りたい方は、近日中に解説記事を投稿予定なのでそちらを参考にしてみてください
その2 webからデータを自動で取得できる
pythonでは自分の欲しいデータをwebサイトから取得できます
取得方法はいろいろありますが
例えば・・・『APIによる情報取得』や『スクレイピング』と呼ばれる方法があります
FXとは・・・外国為替取引のこと
簡単に言うと、画像のような値動きを予測してお金の取引をすることです
この他にもこんなことができます
- 自分の好きな芸能人の画像だけを取得できる
- オークションの価格が変動したら検知する
- ライバル会社の情報を取得する
その3 業務の効率化ができる
普段の仕事でExcel, wordなどの定型的な作業はありませんか
pythonでは、そんな定型的な作業を自動化できます
自動化すると1時間の作業が、数秒に短縮できた!なんてことが結構あります
いくつか具体例をあげると・・・
- メールを自動で作成して相手に送ってくれる
- 請求書などの定期的に作成する書類を自動で作ってくれる
- ネット上の天気情報をExcel, word等に書き写す(Webページの情報ならなんでもOK)
上の3つは実際に、私が自動化できた内容です
その4 データの分析・解析など
pythonは大量のデータを使った分析や処理などが得意です
pythonがデータ解析を得意としている理由は・・・
- 数値計算などを扱うライブラリが揃っている(numpy, pandas, scipyなど)
- 行や列などエクセルを使うような感覚でプログラムができる(直感的にプログラムができる)
numpyなどのライブラリを使用すればかなり早くなります
私は実際に
したことを簡単に説明すると・・・
- FXの過去データからテクニカル指標を作成(AIくんへの入力データ用)
- 過去データをグラフにして視覚的に確認する
pythonで向いていないこと
これまで紹介したこと以外にもpythonでできることはいろいろありますが
ここから紹介する内容は、
- pythonでもできるけど、pythonよりおすすめの言語がある内容です
- アプリケーションの作成
- ブロックチェーンの作成
- ゲームの作成
- webサイトの作成
1つずつ見ていきましょう!
アプリケーションの作成
アプリケーションなどの作成は、pythonでも作成できます
人によってはpythonでアプリケーションの作成をおすすめしている方もいます
プログラミングをしている方へ聞いたところ・・・
- pythonでも作成は可能だけど、『pythonじゃなくてJavaScriptの方がおすすめ』
- JavaScriptの方が流行っていて、その辺の情報更新のスピード感が全く違う
これからプログラミングをはじめる予定で
webアプリケーションを作成したい!のであればJavaScriptがおすすめです
ブロックチェーンの作成
ブロックチェーンは難しいのでサラッと流します
『ビットコイン』でも使用されている最近注目されている技術です
最近話題のブロックチェーンもpythonで実装は可能ですが
こちらもプログラミングをしている方へ聞いたところ・・・
Node.js(サーバーサイドのJavaScript)での実装が最近流行っているからpythonでなくてもいいとのことでした
ゲームの作成
pythonでも以下のようなゲームは作成できます
- クソゲーじゃんと思った方、正解ですクソゲーです笑
ちなみにこれはpyxelっていうゲームを作成するためのツールだよ
しかし『モンハン』や『ポケモン』といった高度なゲームになってくると
pythonだとどうしても『処理速度が落ちてしまう』ため高度なゲームを作成したい!
という方にはpythonはおすすめできません
webサイトの作成・デザイン
python が人気の理由
ここまでpythonでできることを紹介してきましたが
pythonが人気の理由をまとめておきます
その1 インタプリタ言語のため確認作業が早い
- コンパイル:人間語を機械語に翻訳すること
- インタプリタ言語:1行ずつ人間語を機械語へ翻訳する言語
- コンパイラ言語:一気に人間語を機械語へ翻訳する言語
プログラムを書くのは人間だから『人間語』
プログラムを実行するのはパソコンだから『機械語』
よってプログラムを実行するときには『人間語』を『機械語』へ翻訳をする必要があります
インタプリタ言語とコンパイラ言語は翻訳の仕方に違いがあります
コンパイラ言語は、1部分を修正しても全てを翻訳しないと確認作業ができないのに対して
インタプリタ言語は、1行ずつ翻訳するため、その箇所だけの確認作業が早くできます
その2 プログラミングが簡単に書ける
例えば『hello world』という文字を出力するプログラムを『python』と『C++』で書いてみます
ちなみに『C++』はプログラミング言語の1つです
〈c++〉
#include <iostream>int main() { std::cout << "hello, world" << std::endl; return 0; }
〈python〉
print("hello world")
これだけでもpythonが簡単そうだなーって思いませんか?
このようにpythonは他の言語に比べてコードがわかりやすい言語です
その3 できることがたくさんある
上でも紹介しましたが
pythonでは他の言語に比べてできることが幅広く1つの言語を覚えるだけで
様々なことができます
まとめ
pythonに向いていること
- AIで予測ができる
- webからデータを自動で取得できる
- 業務の効率化ができる
- データ分析・解析ができる
pythonに向いていないこと
- アプリケーションの作成
- ブロックチェーンの作成
- ゲームの作成
- webサイトの作成・デザイン
python人気の理由
- インタプリタ言語のため確認・修正が早い
- プログラミングが簡単
- できることがたくさんある
pythonはできることが幅広く初心者にもわかりやすい作りになっています
pythonができると副業で稼ぐことも可能です
pythonを独学で勉強しようかなーって思っている方への記事を今後書いていきますので
参考にして一緒にプログラミング頑張っていきましょう!
ohenziblogはプログラミングを独学で始めるための徹底ガイドを目指しています