文系ですが、人工知能はじめました。

Pythonはオブジェクト指向のプログラミング言語である。とは?【入門】

こんにちは。京都たわをです。僕は家電メーカーの工場に勤める文系サラリーマンです。いまは仕事に人工知能を使いたくて、AIについて勉強中です。なぜ人工知能を仕事で使いたいか??「カッコいいから」「ラクできそうだから」といった素人な理由です。

今日からPythonについて学んでいきます。人工知能といえば機械学習、機械学習といえばPythonというのは聞きかじった事があります。Pythonが何なのか全く分からない僕ですが、1つずつ学んでいきます

読者の方々の中には、僕と同じように知識ゼロからAIを勉強しはじめたいという方もいらっしゃるでしょう。参考になれるように、力を尽くして、記事にしていきます。

では、さっそく始めましょうか!Hello World!Hello Python!Hello New York!

Pythonってなんですか?

Pythonてなんやねん。

あぁ…すいません。心の声がもれて、ひとりごと言ってました。ちなみに、僕は大阪生まれですので、ひとりごとは関西弁になります。今は京都の真ん中の方に住んでます。

まぁ、それはいいとして、、Pythonてなんやねんということなんです。はじめての人からしたら。

約5年ほど前から、機械学習やらディープラーニング やらビッグデータが流行り始めて、仕事で使っていけと言われても、Pythonてなんやねんってなるねんで。なるんどすえぇ…ぇ…(京都の人すいません。京都愛ゆえにです。)

むしろ、Pythonにたどり着いた僕を褒めてくれと言いたくなるレベルです。ですが、何もしなければ、時代と会社に置いてけぼりにされるのが文系サラリーマンの宿命です。いや、誰しもが同じこと。

というわけで、Pythonを勉強し、仕事に活用できるようになりたいと思います。ExcelやWord以上に馴染みがないモノ…イメージすら何もないモノですから、最初から険しい道のりになりそうです。

Pythonは言葉である。

いま「これがPythonですよ。」と有村架純が鉄製で円柱形の細長い棒を持ってきたとしたら、僕はそのまま信じてしまうかもしれません。けして、有村架純のファンではありませんが、そのくらい知識がないところからのスタートです。

まずは、ネットでPythonについて、調べてみたところ、下記のように書いてありました。

Pyshonとは(オブジェクト指向の)プログラミング言語である。

つまり、Python言語のようです。言語、、言葉ですね。人間界では、他人どうしが互いに意思伝達するための言葉です。これを自然言語といいます。

Pythonはプログラミング言語、、コンピュータ界では、人がコンピュータを動かすための言葉です。Pythonでコンピュータを動かし、機械学習など複雑なことが出来るようです。

オブジェクト指向とは

オブジェクトはモノ。オブジェクトはモノ&行動。

ですが、オブジェクト指向というのは、どう言う意味なんだろうか…?オブジェクトに関するメジャーな説明を見つけました。

オブジェクトとはモノである。

この説明では分かりませんが。。この世にあるありとあらゆるモノオブジェクトと言うそうです。

たとえば、犬、猫、鳥、海、山、空、川、たんぽぽ、キクラゲ、ラーメン、うどん、男の子、愛、看板、ため息、右太もも、通風、焼豚、、など。

Pythonでは、まさにモノそのもの、、モノと行動・処理をセットにしたモノなど、全てのモノをオブジェクトと呼んでいるようです。

ですので、「男の子が猛スピードで走る」も「うどんを美味そうに食べる」も「たんぽぽを天ぷらに揚げる」などの現象・プログラムもオブジェクトといえそうです。

指向はモノを組み合わせるイメージ

指向というのも聞きなれないですね。指が向く。E.T.ですかと。指向は組み合わせるというイメージが当てはまります

たとえば、かなりファンキーな例文ですが「男の子が猛スピードで走ってきて、たんぽぽを天ぷらに揚げて、うどんを美味そうに食べる」という文章を書きたいとします。

この文章をそのまま書くのではなく、「男の子〜」をオブジェクトAとし、「たんぽぽを〜」をオブジェクトBとし、「うどんを〜」をオブジェクトCとして、ABCと書く。これがオブジェクト指向なのかなと、素人なりに理解しました。これなら、急に「C+B+A」にも出来るし、アレンジしやすくて便利ですね。

つまり、オブジェクト指向とは、「モノとモノを組み合わせて、シンプルにかつアレンジしやすいような新たなモノを完成させる概念」ではなかろうかと。

まとめ

Pythonは「コンピュータをあのように動かしたいこのように動かしたいというプログラムをいくつか作って、それらを組み合わせることによって、コンピュータをあのように動かして、このように動かすという複雑なプログラムを簡単に作ることが出来る言語」とまずは言えるのではないでしょうか。かなり長くなってしまいましたが、、

Python以外にもオブジェクト指向のプログラミング言語があるようなので、Pythonの本来の特徴説明としては弱すぎでしょうね、きっと。

ただ、いろんなPythonの教科書の一文目「Pythonはオブジェクト指向のプログラミング言語」ってところで、思考停止もしくはスルーしてしまった初心者にとっては、この程度の分かったつもりで十分なのかなと個人的には思いました。では。

Digiprove sealCopyright secured by Digiprove © 2018

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください