
人気のプログラミング言語 【 python 】 特徴と出来ることまとめ
目を通していただきありがとうございます。
人気のプログラミングpythonの特徴やできることをわかりやすく具体的にご説明しております。ぜひ、無料分でもお読みください。
pythonとは
pythonはプログラミング言語の一つで、人気ランキング上位に入っています。
どんな特徴なのか、どうして人気なのかをみてみましょう。
特徴
シンプルで簡潔なコードによって理解することがとても簡単です。なぜかというと、インデント(空白を追加する)ことが必須であるため、全ての人が似たようなコードを書くことになるためです。
ですが、処理速度が遅くて困ることもあります…
これからあげる特徴は人気の理由でもあります。
コードの具体例
例えば、単純にfor文を用いた配列操作でもJavaScriptとpythonでは大きな違いがあります。今回は[1, 2, 3]という数字配列をそれぞれに倍してみますね。
var array = [1, 2, 3];for(var i=0;i<array.length;++i) { array[i] *= 2}console.log(array);
【 計算結果 】
ちなみに他の表記もできますが、今回は基本で記述しています。
この処理をpythonで行うと、
array = [1, 2, 3]for i in range(len(array)): array[i] *= 2print(array)
わかりますか…?
for分用の中括弧{}がなく、文の最後のセミコロン;が必要ありません。しかし、インデントと言ってfor文の中に決められた分だけ空白を入れる必要があります。
つまり、jsの{}がpythonのインデントと同じような役割だと言えますね。jsでインデントは必要ありませんが、やらないと見にづらいので必須だと思います。
シンプルで理解しやすい
pythonの特徴からもわかりますが、簡潔に理解しやすいコードを書くことができるため、複雑なプロジェクトなどに用いると効果大ですよね。それこそが人工知能にpythonが用いられる理由です。
プログラミング初心者はpythonから始めると良いでしょう。
とてもシンプルであるため、プログラミングの本質自体を理解することが容易になります。本質さえわかれば他の言語なんて全然勉強しなくても、少し調べると書けるようになるので、まずは1言語から習得してみましょう。
ライブラリの豊富さ
数多くのライブラリが用意されているため、計算処理を簡単にしたり、canvasを使ってアプリケーションを開発することもできます。
特にnumpyというライブラリでは配列計算を楽に行うことができます。行列式ができたり、形状が不明であっても足し算することができたりします。
使われているサービス
- YouTube
- 多くの方が使う世界最大の動画サービスですが、pythonがバックエンド(サーバーで動作)で利用されています。
- GmailやGoogle Mapsといったサービスのバックエンドでpythonが利用されています。
- Blender
- 3Dモデルを作成することのできる人気ソフトですが、キャラクターを動かす際などにpythonが利用されているようです。
- PayPal
- 決済サービスであり、人工知能のディープラーニングのライブラリであるTensorFlowを使っているようですね。
他にも多くのサービスにpythonは用いられており、仕事もたくさんあります。やっぱりシンプルさとライブラリの豊富さが評価されているのだと思います。
pythonで出来ること
では、具体的にどんなことができるのかみてみましょう。ライブラリの具体的なコードに関しては理解しないでも大丈夫です。
どんなことができるのかを知ることが大切です!
Webスクレイピング
Beautiful Soup 4というライブラリでは、webサイトの情報を取得することができます。情報収集を自動化するにはこれを使ってみましょう。
※ 注意点として、スクレイピングが禁止されているサイトがいくつかあります。YouTubeやTwitterがその例ですね。そう言った場合は取得することができません。
次のプログラムはGoogle検索した場合に表示されるサイトのタイトルを取得するためのものです。キーワードを入力すると検索結果が表示されるようにしています。
import requestsfrom bs4 import BeautifulSoup# 入力用の関数def inputer(content): return input(content+">> ")URL = "https://www.google.com/search?q="+KEY_WORD# 検索ワードKEY_WORD = inputer("Type the word you want to search")# 最大表示数LIMIT = 10try: results = [] for i in range(LIMIT): print("\r "+str(i)+"/"+str(LIMIT)+" ( "+str(round(i/LIMIT*100))+"% )",end="") res = requests.get(URL+"&start="+str(i*10)) soup = BeautifulSoup(res.text, 'html.parser') results += soup.find_all("h3") print("\r "+str(LIMIT)+"/"+str(LIMIT)+" ( 100% )") print("result :",res) for r in results: print(" ・",r.text.replace('<h3 class="zBAuLc"><div class="BNeawe vvjwJb AP7Wnd">',"").replace('</div></h3>',""))except: print("Cloudn't get the information")
【 実行例 】
(キーワード:ブログ リアイム)
サイト別にどのような情報を取得するのかを設定できるため、株価を取得したり、天気の情報を取得できたりします。
よくスクレイピングの求人を見かけますが、それだけ需要があり、細かく設定することができるため便利ですね。