ライフハック

Re:ゼロから始めるPython(パイソン)生活

Python生活

もしかしてこの記事にたどり着いたってことは・・・

プログラミングに興味があるんですか?(TwitterのDM風)

この類の謳い文句、たくさんいただきます♪

さてさて、今回はプログラミング言語、Python(パイソン)のお話です。

そもそも何でプログラミング?

『2020年、プログラミング教育が小学校で必修化!』、けっこう話題になっていますよね。

少し前までは『ダンスの必修化』が話題になりましたが、いよいよ『プログラミング』もかぁと驚いています。

確かに、プログラミング的思考をすることで、

  • 物事を論理的に考えるようになったり
  • 創造力や問題解決能力が高まったりする

ので、個人的には大賛成です。

例えば、for文(繰り返し)if文(条件分岐)を考える場合、頭の中でフローチャートを描くんです。

たとえば、こんな感じ。

フローチャート

フローチャート (flowchart、流れ図) とは、プロセスの各ステップを箱で表し、流れをそれらの箱の間の矢印で表すことで、アルゴリズムやプロセスを表現する図です。

こういうのを考えていくと頭の体操になるんですよね。

だがしかし!!

プログラミングの『プ』の字も分からなかったり、

そもそも何のこっちゃ分からなくて

いきなり『インタプリタ型』とか『コンパイラ型』『オブジェクト指向言語』とか専門用語を並べられるともはや・・・

わけがわからないよ(´・ω・`)

『分からないもの』
↓↓↓
『嫌い!』『苦手!』

そんな意識を持たれている方もいらっしゃるのではないでしょうか?

今回はその考えを少しでも打破すべく、

まずはそのふざけた幻想をぶち壊す!

的な感じでPythonについて書いてみようと思います。

さて、そろそろお気づきの方もいらっしゃるかもしれませんが、この記事はネタ多めでお送りしております。

Pythonについて真面目に取り組もうとしている方で気分を害される方がいらっしゃいましたら、この場をお借りして『ごめんなさい』しておきます。。

Python(パイソン)ってなに?

そもそもPython(パイソン)ってなんやねん?!という方もいらっしゃると思います。

ヨシタカ
ヨシタカ
よーし、Wikipedia先生に聞いてみよう!

Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。

文法を極力単純化してコードの可読性を高め、読みやすく、また書きやすくしてプログラマの作業性とコードの信頼性を高めることを重視してデザインされた、汎用の高水準言語である。 核となる本体部分は必要最小限に抑えられている。一方で標準ライブラリやサードパーティ製のライブラリ、関数など、さまざまな領域に特化した豊富で大規模なツール群が用意され、インターネット上から無料で入手でき、自らの使用目的に応じて機能を拡張してゆくことができる。 またPythonは多くのハードウェアとOS (プラットフォーム) に対応しており、複数のプログラミングパラダイムに対応している。Pythonはオブジェクト指向、命令型、手続き型、関数型などの形式でプログラムを書くことができる。動的型付け言語であり、参照カウントベースの自動メモリ管理(ガベージコレクタ)を持つ。 これらの特性によりPythonは広い支持を獲得し、Webアプリケーションやデスクトップアプリケーションなどの開発はもとより、システム用の記述 (script) や、各種の自動処理、理工学や統計・解析など、幅広い領域における有力なプログラム言語となった。プログラミング作業が容易で能率的であることは、ソフトウェア企業にとっては投入人員の節約、開発時間の短縮、ひいてはコスト削減に有益であることから、産業分野でも広く利用されている。Googleなど主要言語に採用している企業も多い。 Pythonのリファレンス実装であるCPythonは、フリーかつオープンソースのソフトウェアであり、コミュニティベースの開発モデルを採用している。CPythonは、非営利団体であるPythonソフトウェア財団が管理している。その他の実装としては、PyPyやIronPythonなどが有名である。 Pythonは、オランダ人のグイド・ヴァンロッサムが開発した。名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』である。Pythonという英単語が意味する爬虫類のニシキヘビがPython言語のマスコットやアイコンとして使われている。Python -Wikipediaより引用

・・・長いですね。

すみません、スクロール疲れましたよね^^;

ヨシタカ
ヨシタカ
自分で引用しておいて、ちゃんと読んでません!

あとでポイントをかいつまんでご紹介しますのでご安心を。

Python、少し前まで知りませんでした。。

最近は『AI』や『IoT』が注目されるようになって、良く耳にするようになりましたね。

わたしが学生の頃は、周りにはPerl(パール)とかRuby(ルビー)とかJava(ジャバ)とかFORTRAN(フォートラン)とかに取り組んでいる人が多かった気がします。

プログラミング言語って色々あるんです。

ヨシタカ
ヨシタカ
ちなみにわたしはC言語の『Hello, world!』で挫折した人ですw

プログラミングよりも実際にモノ(装置)を触って実験するのが楽しかったんです。白衣着て半導体いじったり。ずっと引きこもって実験してました。

英語もそうですが、プログラミング『言語』も必要にならないと覚えません!

わたしは数値解析ソフトウェア(Mathematica、Mathcad、Matlabなど)を使っていた人です。

大学院の研究室時代は過去の先輩から代々引き継いだいわゆる『秘伝のタレ』的なものがあって、それを自分なりにアレンジして使っていました♪

Pythonの特長

さて、Pythonの特長はいろいろとありますが、主にあります。

  1. すぐに実行できる(OS問わず)
  2. プログラムが読みやすい
  3. 追加機能が豊富(しかも無料!)

これらがPythonが今注目されていて多くの人に使われている理由です。

もう少し簡単に言うと、

  1. パソコンの種類を問わず、
  2. 誰でもかんたんに取り組めて、
  3. しかも機能がいろいろあって無料!

プログラミング初心者にも易しいし、玄人にも拡張性があるから使いやすい、そんな言語なんです。

Pythonの用途は?

用途は色々あります。

  • Webアプリ
  • 数値計算・解析
  • ITシステム管理(NW機器情報みたり)
  • システム管理ツール

だったり。

もちろん、昨今有名な『AI』、正確には『機械学習(Machine learning)』にも使われています。もう少し踏み込むと『深層学習(Deep learning)』など。

『AI』という言葉もけっこう独り歩きしていますが、今回の記事ではそこは触れません。また機会があれば^^

機械学習を学びたい方は、TensorFlow(テンソルフロー)という、OSS(オープンソフトウェアライブラリ)を導入すると、色々と試すことができます。

わたし、気になります!

という方は、『TensorFlow』でググってみると色々と情報が得られます♪

このように、簡単に情報が得られるところもPythonの良いところです^^

Pythonのバージョンについて

Pythonのバージョンは、2系と3系があり、Python3が良く使われています。

Python2とPython3のプログラムには互換性がないので、注意です^^

Pythonを学ぶモチベーションについて

これはわたしの持論ですが、Pythonをただ学ぶだけでは意味がないと思います。

今の時代、プログラミングが出来る人は山ほどいます。

まぁそれでも人が足らなくなるってことで、『プログラミング教育の必修化』があるんですけどね。

第4次産業革命やグローバル化に対応する人材育成

どんどんプログラミングが当たり前な世の中になってきます。

そのうちほとんどのものが『ブラックボックス』になって『AI人材』がいらなくなる、なんてこともあるかもしれませんし、ないかもしれません。

ブラックボックス:ブラックボックス (Black box) とは、内部の動作原理や構造を理解していなくても、外部から見た機能や使い方のみを知っていれば十分に得られる結果を利用する事のできる装置や機構の概念。

そんな世の中で、あなたが今プログラミングを勉強する理由を良く考えてください。

英語もしかりです。

『言語』って使わなきゃ身に付きません。

英語もプログラミングもあくまでも『ツール』なんです。

文法やコーディングを覚える『お勉強』ではなく、まずは使ってみて、試してみてください。

それを使って、何がやりたいのか、何を実現したいのか?

自分で考え、それを形にしていく、それが楽しいんじゃないかな。

趣味だっていいんです!

わたしも30半ばになってまた趣味でPythonを始めてます。

その名も、

『Re:ゼロから始めるPython生活』

それが今後何かの、さらには誰かの役に立ったら、いいなぁ♪

まとめ

というわけで、この記事はただ『タイトル』を書きたかったために書いた『ネタ記事』です。

ブログを始めた頃から、『Re:ゼロ』ネタを書こう、書こうと思いつつ温めていました。

Python、けっこう使いやすいです♪

Pythonのインストール方法簡単な使い方(文法例)など、そのうち記事にしてみようかと思います。

ほとんど自分のための備忘録ですが、それが誰かのためになったら・・・

それはとっても嬉しいなって

最後まで読んでいただき、本当にありがとうございます♪^^

関連記事はこちら