【和から株式会社】Python超入門
公開日
2024年11月28日
更新日
2024年12月5日
和から株式会社で実施している無料セミナー「Python超入門」の冒頭動画です。 pythonに興味のある方、pythonでデータ分析を始めたい方、お気軽にご参加ください。 ◎開催日程はこちら→https://wakara.co.jp/course/5473 #和から #python #集団セミナー
今日は python 超入門というところです
お話をさせていただこうと思いますね
講師を務めさせて頂く岡崎と申します
どうぞよろしくお願い致します
パイソン言語の
その言葉はパイソンってヘビの由来なんですけど
実はですね、pythonって
じゃあ名前付けた人何考えたかっていうと別にヘビじゃなくて
これヘビじゃないんですよ由来
あの由来はあのモンティパイソンって言う
イギリスのコメディアングループなんですね
あのこれけっこう開発者の人を気にしててですね
皆さん書店にあのパイソンの本とか
探しに入れかけられたことあるかもしれないですけど
大堤その拍子に蛇書いてあるんですよ
それで結構パイソン=蛇のイメージ持たれている方おられるかもしれないですけど
本人あの蛇がそんなに得意じゃなくてですね
蛇のイラストと一緒に乗っられることにずっと不満を持ってるらしいですけど
まぁちょっとそんな言語があるPythonですね
あの他の言語との違いというか
そもそも python ってなんで作られたのかっていう話をまずするとですね
あの開発したのがこのGuidoっていう人ですね
つい最近まではの dropboxっていう会社で勤めてまして
今年の2月ですねと退職をされたんですけども
元々 google の検索アルゴリズムの開発者でもあります
Python書いた後 google に移ってその後 dropbox にあの移ってました
そのそもそもパイソンが無かった時代
生まれる前のところの話を少しすると90年代に差し掛かったころですね
当時主流語 c 言語とか
java 言語とかと比較したときに
例えばこの c 言語でちょっとした行動書くとですね非常に長いんですよ
なんで長くなるかっていうと
まあこれはこれで簡単であの基本的にパソコンに動作させようと思ったら
厳密に書かないとパソコンって動かないので
基本的にはパソコンってあの融通を利かせるとか
気を利かせるみたいなものを考え方がそもそも無いので
ちょっとしたコードを書く
例えば
中学校の時に習った x =2って
この1本も式たってるのにはこれだけのコード書かないといけないでしょ
そうするとですねちょっともう
もう少し短く書けないかなって思うわけですね
実際当時1990年頃ですね
あのちょうどまあパソコン
いわゆるパーソナルコンピューターが普及し始めた時代で
あのもその研究所に一つとか大学に一つだったパソコンが
徐々にですねある一般に出回るようになってきて
そうするともう少し手軽にですねあの研究者レベルじゃなくても
ちょっと気軽に書けるようになるような
プログラミングできないかなっていうふうに開発して生まれたのが
このパイソン言語です
実際にですねあのパイソン言語でたとえばさっきお話しした x =2っていうのを
書こうと思ったらもうこれだけで終わりです
まあナンバーっていうあの数字にしてナンバーいう文字にしてますよ
number =2って書けば
あのすぐに定義ができるって形でですね
あの最小限のその行動で
実際に今すぐ分かりやすく書けるような言語を目指して作られたのがパイソン言語です
実はこのグイドさんはですね a b c 言語っていうのをその開発をしてて
パイソンを作る前ですね
ただその a b c 言語の開発うまくいかなかったんですよ
あの思ったような機能がそのうまく使わずに
簡単に書くことできなかったんですよ
a b c という言葉から何となく簡単に作りたい願望を透けて見るじゃないですか
クリスマスの休みのところにちょっと自分転換に行っても自分で一人でやってたんです
これパイソン言語の開発
一人でその休みの間に作ったら abc 言語より良かった
っていうことでですね
パイソン言語が今はこれだけの人によく使われている言語になったんですけど
そもそもですねあの今日来られている方に
プログラミング言語もやられたことないっていう方もいらっしゃると思うので
そのプログラミング言語が何かっていうところからお話をしていこうと思います
みなさんプログラミング言語って聞いてどういうイメージを持たれますかね
あの言語なんで基本的に言葉なんですよ
例えば日本語とか英語とかと一緒で
いわゆる日本語って例えば人と人とコミュニケーションを
図るためのものじゃないですか
あの英語はその英語しゃべる人とあのコミュニケーション図るための言葉
あのプログラミング言語を勉強したことある人のあるあるなんですけど
あのエラーがたくさん出てすごい融通が利かないことにですね
あのイライラしながらまあそれでもだいたい人間が間違ってるんで
頑張ってデバックしないといけないですけど
超 SEイメージです
そうですよねこうプログラミング言語ってなんか
プログラマーがやるイメージ強いと思うんですよ
元々はそうでした
それこそパソコンができ始めたその fortran とか
java 言語とかまぁ lisp 言語とかですね
それこそもコボルとか生まれてきた時には基本的にまあシステムエンジニアが扱って
いく物っていうあのに意識だったんですけど
それがまあなぜですね今必修化されて
全国の小学校勉強しましょうとか高校生勉強しましょうってことに
なっているのが持つと含めてお話していこうと思います
そもそもですねあの期限の方を考えていくと
プログラミング言語てくれいつから始まったかっていうと
パソコンができるずっと前から考え方としてはあったんですよ
それがいつかというとですね
意外に思われる方もいらっしゃるかもしれないですが
4つのプログラミングの原点になるものは本当800年900年前です
1206年で800年前ですね
アル=ジャザリっていう人がですね
自動機械っていうのをその作ったのが始まりだっていうふうに言われています
そのプログラミング言語って何かっていうと結局人間が思ってることを
機会にやらせようと思ってそのための装置というか
作りなんですよまあ道具ですね
実際にジャザリが作ったのがですねあのこの写真に書いてようなもの
なんですけどこれはの上から水を流すと
あの鳥の頭が動いてでその上にこのあたりについてるおじさんがですねあの水を流して
その次の龍のところの水を通って最後ぞうが動くっていうんですね
あのアイディアがこれアル=ジャザリが開発した
自動機械って呼ばれる今だとアルゴリズムっていうような
言い方をするでしょうけど
それがいわゆるプログラミングの原点です
その人間が与えた指示に対してその機械が自動的に
その手続き的に動いていくっていうのがこのプログラミングの一番最初になります
これがですねあのもう少し時間がたって
あの1800年代に入るともう少し今のプログラミングに近い形になります
紙にですねコードを書くんですよ
さっきはの仕組みで作ってましたけど
それをそのプログラミングとしてあの記述できるようにしたのがですね
いわゆるパンチカードって呼ばれるものなんですけど
まぁ今パンチカードって言ってもあまりなじみないかと思うんですけど
あの一昔前のプログラミング言語がこのパンチカードって呼ばれるものに
ものを使ってあの行われました
何かっていうといわゆる手順症とかお品書きみたいなもの
実際にこのジャカード織り機って何してたかっていうと
あの服のデザインをプログラミング的ですね
あの特定のコード書くとその通りに織り機が折ってくれる
って言うようなアイディアで作られたのがジャカード機織り機
っていうふうに呼ばれるものです
その結果ですね830年
もう2~30年ぐらいするとですね
これもほとんど今のパソコンと変わらないスペックです
あの計算力は当時はそこまでなかったですが
パンチカードを使った解析機関っていうものですねバベッジが作りました
でこれをきっかけにですね
いわゆる今のパソコンの cpu 部分ですね
のは基礎が実はこの時代にできてますね
その後ですねあのホレリスって言う人があの
ポレリス式パンチカードってのを作ったんですけど
これがあの後々のその ibm のパソコンの開発につながっていきます
というところでですねまぁちょっと全体的なざっくりとした
歴史の外観お話ししてきたんですけど
プログラミング言語の歴史というかですね
プログラミング言語どんな種類のものがあるかっていうと
あのおそらく皆さんがですね r とか iphone とか c 言語っていうふうに思っているよりも
もっと多くのプログラミング言語はあります
プログラミング言語ってあの大きく分けて4つの世代に別れるんですよ
1つ目が機械語で
2つ目がアセンブリ言語で
3つ目が手続き型言語で
4つ目が高機能言語ですね
ちなみにパイソンは第四世代
高機能言語っていうふうに呼ばれるものになります
例えばですね
じゃあ a +b 足し算やってみましょうって言ったときに
パソコンにどうやったら足し算してくれると思います?
非常に素朴な疑問です
でそもそもですね
私あの半導体作ってたんでよくわかるんですけど
パソコンって基本的にゼロとイチしかわからないんですよ
あの今皆さんが例えば当たり前にそのパソコンとかスマホ
スマートフォン使って文字入力してなんか検索結果出てくるし
動画も流れるのですごくこう認識してくれると思われるのも
無理はないんですけど実際に今でもパソコンって
基本的に0と1しかわかんない
なので例えば a + b 計算してくださいってパソコンにお願いしたときに
じゃあどんなコードを書かないといけないかというと
こんなコードですね
皆さんこのコード書く気します?
a + b 1個足し算するのにこれだけのコードを書かないといけないわけですよ
ちょっと大変じゃないですか?
でもこれがあの本来機械がわかるその言語です
機械語っていうふうにおりますね
これだとさすがにちょっと使いづらいっていう形でですね
あのもうちょっと工夫してあの作られたものが
16進数っていうふうにあの呼ばれるものですね
あの基本的にゼロとイチなので0と1の場合は2進数っていう風に言うんですよ
0 で 1
2はないので
1の次は10です
10の次は11で11の次は100
101, 110っていう形で
0と1だけで計算していくことを
2進法って言うんですけど
それをあのもう少しあの発展させ16進数ってのを作りました
普段皆さんが生活するときは10進数数ですよね?
123456789まで来て10になるじゃないですか
で、16進数って言うのは
123456789 a b c d e f 10なんですよ
っていう書き方をするとですね
もうちょっとデータを圧縮することができるわけですよ
01書かなく済むってなったんですけど
これでも結構大変じゃないですか
ちなみにさっき出てきたパンチカードで何してたかっていうと
あのこれを入力してました
なのであのアンチャーっていうふうに
呼ばれる職業があったくらいです
パンチカードをその指示通りに打ち込む仕事みたいなところが
パソコンが生まれた当時は、実はあったんですが
俺が一番最初パソコンと直接やり取りができるもの
で機械語っていうふうに呼ばれるものです
ただこれだとですねちょっとプログラミング開発するのにも
完全に初心者泣かせじゃないですか
さすがにちょっとしんどいいうところでですね
あの次に出てきたのがそのアセンブラ言語
っていうふうにはに呼ばれるものです
例えば a + b のその足すっていう言葉に注目して
足すっていうものをコード化したんですよ
あのAdd
+っていう役割をその83っていう数字に置き換えてあげると
あのまあいわゆる英語と似たようなイメージで書くことができる
これがアセンブラ言語になります
なので街並みいろんな対応表があってですね
アセンブラ言語っていうとこれを頑張って
あのもうコード書いて、アセンブラって書いてある部分をですね
頑張って書いてたんですが
第二世代も
比較的ですね、初心者の方はあんまり向かないようなもので
本当に技術者とか研究者とかがを時間をかけて使っていく人が
そもそもパソコンを使ってたらそのぐらいの人だったので
当時のまあ第2世代型言語っていう風に呼ばれる
次のですね第3世代まで来ると
この辺りからパソコンが一般に広く普及し始めます
ご家庭であったりとかに普及し始めるんですけど
この手続き型言語っていうのはですね
あのこれは名前を聞いたことあるって方が多いと思います
c 言語とかあの java言語はその手続き型言語って呼ばれますね
なのでこれパッと見ていただくとですね
意味は100%理解するのは難しいと思うんですけど
意味は100%理解するのは難しいと思うんですけど
パスちょっとこのコード読んでみてください
なんとなくあの英単語ポツポツ読むとですね
あの全くわからないことは
あのないかと思うんですよ
例えばボイドメインって言うのは
メイン系のそのプログラムを開始するっていうメインプログラムですね
を表すもので
例えばスキャンって書いてありますよね
あのより読み込むいうもので
スキャンでプリント
まあ出力するっていうところで
基本的にその英語を読んでいくような形でですね
指示が出せるってのが手続き型言語です
それがですねあの長らく使われて来てたんですけど
第4世代、最近の言語とか出てきたのが
高機能型言語ですね
さっきのコード
今あの一貫してですね
a+bをどうやって書くかって話したんですけど
a + b計算したかったら パイソンでは a + b って書くわけです
今までのに比べてめちゃくちゃ書きやすいと思いませんか?
実際にパイソンはもう本当に最小限の文法でコードが書けるように
あの含まれています
NEXT
集計と可視化から始めるデータ分析超入門