プログラミングというと、難しそう、自分にできるのかなといった不安を感じ敬遠する人が多い印象がある。かく言う私も大学時代に初めてプログラミングを触ったときは、文字の羅列を見て苦手意識を持っていました。
ここ数年、様々な分野、モノで自動化やAI化が進んでいる。私達はこれらを購入することによって、より一層快適な生活が出来るようになりましたが、そこで 終わっていいんでしょうか?
快適な生活を送るための「自分の自分による自分のための」プログラミング
により、例えばぐるなび+ホットペッパーなどの予約サイトから、お得情報を抜き出すソフトを作ることができます。
本ブログでは、本業でのpythonの知識を生かし、プログラミングを全くやったことがない人でも始められるようにプログラミングの作業環境や、ツールの作成方法、こんなこともできるといった紹介をし、自分のためのツールを作れるようになることが目的です。
Pythonとは?
Python(パイソン) は1990年代初頭ごろから公開されているプログラミング言語で、わかりやすく、実用的な言語として、広く使われ続けています。Pythonはプログラムの「読みやすさ・わかりやすさ」をとても重視していて、Pythonを知らない人でも、理解しやすいようにデザインされています。
もちろん、読みやすさ一辺倒ではなく、実用的で、高い拡張性も備えています。読みやすさ・習得しやすさと、実用性のバランスが、Pythonの大きな魅力といえるでしょう。
https://www.python.jp/pages/about.html
良いところ
実行までが早い
プログラム言語にはそれぞれコードを実行する際、PCがコードを理解できるように翻訳し実行をします。この翻訳する方式には2種類(コンパイル方式とインタプリタ方式)あります。
コンパイル方式は、作成したコードがPCで理解できるようにコンパイル(翻訳)し、問題なければコードの実行ができるようになります。そのため、実行するまでには2ステップを踏む必要があります。
インタプリタ方式は、作成したコードをそのまま動かすことができ、命令を1つずつ翻訳しながら実行されます。そのため、1ステップでコードの実行をすることができます。
python言語はインタプリタ方式のため、コーディングだけでプログラムを実行できます。
ライブラリが豊富
最近注目されている機械学習を始め、Excelなどのデータ作成や、Twitter、Facebook、ネットショップ(Amazon, 楽天)のAPIなど多くのライブラリをpythonで使用することができます。
ライブラリは以下のサイトのように基本無料で公開されているものも多くあり、手軽に利用することができます。
- PyPI(https://pypi.org/)
- GitHub(https://github.com/)
コードが書きやすい
例えば文字を書いたファイルを保存するとき、以下のコードを書くだけでファイルが作成され、入力した「”Hello”」という文字が保存されます。
需要の増加
Pythonは年々Shareを拡大しており、現在Share率が1位となっています。
機械学習への
開発環境が様々
pythonのライブラリが豊富にあるため、開発できるものは多岐に渡ります。そのため、開発環境も何を作りたいかで使いやすいものや使いにくいと感じるものがあります。
- Anaconda
- Jupyter Notebook
- Google Colaboratory
- Visual Studio Code
悪いところ
実行速度が遅い
前述したように、python言語はインタプリタ言語のため、命令ごとに翻訳をするので実行処理は遅くなります。
ですが、python言語をコンパイルなど、様々な方法で早くすることも可能です。
コードを見やすく書く
これまでpythonでコーディングをしていて感じたのは、良くも悪くもコードを書いて実行することは簡単だということです。そのため、慣れてくると適当に書いても意図した動作をするコードが出来るので、あとから見返したときに挙動が分からないコードや、同じようなコードが複数あるといった事が起こります。
ある程度pythonに慣れたらphp8(https://pep8-ja.readthedocs.io/ja/latest/)を読むことをオススメします。これにはコーディング規約が書かれており、私自身も上記の問題が起きてから、php8を読んだところパット見てわかりやすいコードを書くことができました。
まとめ
pythonとは
- 実行するまでが早い
- 年々Shareを増やし続け、注目されている
- 転職でも需要が高い
- 豊富なライブラリ
- コーディングがしやすい
- 実行スピードが遅い
- コードの管理をしたほうが良い
ここ数年で機械学習の需要が高まり、世の中はより自動化に進んでいる印象を受けます。pythonはその時流に沿った進化を続け、必要なツールを提供しています。これを機にpythonを始めませんか?
何事も始めてみなければ何も変わりません。0から1にするのはとても大変なことですが、本ブログでその手助けができたら幸いです。
コメント