【Python】01.まずはPythonの概要を16分で学ぶ

  • URLをコピーしました!
ono3

さ。勉強はじめますか。

ビル

ちょっとちょっと・・・。
明日やる」って言ってから7日経ってるんだけど?

ono3

熱出して3日寝込んでからの、先日の3連休は子どもと3日連続で6時間プールという日々。あとは分かるな?

ビル

体調管理はして欲しいとして、まあ親としていちばん大事なのは家族だからね。

ビル

1日足りないのは休んでたってことで。じゃあ早速はじめてみようか。

目次

はじめに

このブログはAI学習コンテンツのレビューサイトです。

ここではAI知識0の私が各種AI関連の学習コンテンツを学ぶにあたり、「知識0でも勉強できるのか」を身を持って検証・レビューしていきます。

私自身の学習メモを兼ねているため、自分が内容を思い出せるように余計な話も出てきますが、その辺はご容赦ください。

記述について

・標準は特に装飾なし
強調したいときは青線
もっと強調したいときは黄線
失敗や否定を表現するときは赤線
太文字も強調のために使う

ページ全体をAIで口語表現で要約したものは本のアイコンの欄に書く

用語解説についてはこんな感じでiのアイコンの欄で解説

ono3

なので、ざっくりコンテンツ内容だけ知りたいという方は本のアイコンだけ読めば分かるよ。

ビル

ちなみに要約に使っているのはperplexity.aiです。

前回までのおさらい

本当はmicrosoftが出しているGenerative AI for Beginnersを1から学習しようと思っていたのですが・・・

いざ蓋を開けてみたら全然初心者向けのコンテンツではなかったため、まずはPythonを勉強しよう。ということで今に至ります。

まあ早く本編に入りたいので、この辺のことは先日書いた↓こちらをご覧ください。

Python教材の流れ

今回勉強するのはこちらの「Python を使用して実際のアプリケーションを作成する」です。

章立て(モジュール)は全部で4つ。

1.Pythonの概要(15m)
2.Python を使用したオブジェクト指向プログラミングの概要(46m)
3.Python と Flask を使用して AI Web アプリをビルドする(1h15m)
4.Python でのテストの概要(21m)

こんな構成で、全部で約2時間半くらいで学ぶコンテンツのようです。では早速やってみましょう!

モジュール1.Pythonの概要

U1.はじめに

このモジュールは8つのユニットに分かれているみたいですね。

なお以前やったGoogle AI Essentialsと違って今回は無料の学習コンテンツなので、中身もガンガン紹介しながら進みます。

というわけで早速ユニット1はこんな感じで文章を読むだけみたいですね。

このは、Pythonプログラミングの入門編みたいなものです。

Pythonって何なのか、どんなところがいいのか、そういう基本的なことを教えてくれるんです。

まず、Pythonってすごく人気のあるプログラミング言語なんだそうです。初心者にも優しいし、プロの開発者も使ってるんだって。

色んなことができるから、データ分析とかAI開発、ウェブアプリ作りなんかにも使えるんですって。それから、Pythonの特徴みたいなのも説明してくれてます。

例えば、読みやすくて書きやすい言語だとか、無料で使えるとか、いろんなOSで動くとか。あと、すごくたくさんのライブラリ(便利な機能をまとめたもの)があるから、すでに誰かが作ってあるものをもう一度作らなくていいそうです。

最後に、このモジュールで何を学べるのかも書いてあります。Pythonのインストールの仕方とか、基本的な文法、変数の使い方、そんな感じのことが学べるみたいです。

要するに、Pythonを始めたい人向けの「さあ、始めましょう!」って感じの導入ページって感じですね。

ビル

要約の方が長いんだが。

ono3

たまにはそういうこともあるよ。

U2.Pythonとは

こちらも文章中心。とりあえず要約しましょう。

Pythonってすごく人気のあるプログラミング言語なんだって。初心者にも優しいし、プロの開発者も使ってみたいだよ。

Pythonの特徴としては、読みやすくて書きやすいってことかな。それに、無料で使えるし、いろんなOSで動くんだって。

あと、Pythonって結構なんでもできる言語みたいだね。ウェブサイト作ったり、データ分析したり、AIの開発したり。そういう汎用性の高さが人気の理由の一つみたい。

それから、Pythonには「ライブラリ」っていう便利な機能がたくさんあるんだって。これを使えば、一からコードを書かなくても複雑なタスクができちゃうんだ。

最後に、Pythonのコミュニティがすごく活発で、困ったときはすぐに助けてもらえるんだって。

つまり、簡単で、強力で、みんなが使ってる。そんな感じのプログラミング言語がPythonってことだね。

さて、本文を読んでるとさっそく分からない単語が出てきましたね。

オープンソースパッケージ
ソースコードが公開されており、誰でも自由に利用、改変、再配布できるソフトウェアパッケージのこと

パッケージ
特定の目的や機能を持つ複数のソフトウェアプログラムや関連ファイルを一つにまとめたもの

インタープリタ型言語
プログラムのソースコードを1行ずつ解釈して実行する言語のこと

CPython
C言語で書かれたパイソン

Zypper
openSUSEやSUSE Linux Enterpriseで使用されているパッケージ管理ツール

ono3

Zypper・・・Zapierなら知ってるんだけどな。

ビル

1つずつ理解していくしかないね。

U3.REPL を使用する

ここも文章中心ですね。

このページはPythonのREPLってやつについて説明してるんだ。

REPLっていうのは、Pythonのコードを1行ずつ入力して、すぐに結果が見られるような対話型の環境のことだよ。

REPLの使い方は、まずコマンドプロンプトやターミナルを開いて「python」って打つそうすると、「>>>」っていうプロンプトが出てくるから、そこにPythonのコードを入力して、Enterを押すと結果がすぐ表示される。REPLの便利なところは、コードをすぐに試せるってこと。

例えば、計算をしたり、変数を作ったり、関数を呼び出したりできるんだ。ページには具体的な例も載ってて、簡単な計算や文字列の操作なんかを示してるよ。

あと、REPLを終了するには「exit()」って入力するか、Ctrl+Zを押せばいいって書いてある。

要するに、REPLはPythonを学んだり、ちょっとしたコードを試したりするのに超便利なツールってわけだね。

なるほど。ここではREPLを使って進める感じね。

REPL
Read-Eval-Print Loopの略で、対話的にプログラムを実行できる環境

ステートメント
コンピュータに特定の操作や手続きを実行させるための命令文

変数
データを一時的に保存するための名前がついた場所

関数
入力(引数)を受け取り、処理を行って結果を返すもの

ono3

・・・やばいね。

ビル

どうした?

ono3

変数ってなに?? 関数ってなに??
ってなってきたので、細かいことは置いといてとりあえずプログラムを書いてみたい気持ちになってる。

ビル

それはそれでアリだと思う。「分からん」って言って止まっちゃうより100倍良いよ。

U4.Python の変数および基本的なデータ型

ここも文章だ。もしかして全部文章で動画や実技はないのかも・・・?

このページでは、Pythonの変数について説明しています。変数っていうのは、データを保存するための「入れ物」みたいなものだよ。

●変数の作り方:
Pythonでは、変数を宣言するコマンドは必要なくて、値を代入するだけで変数が作られるんだ。例えば、

x = 5
y = “こんにちは”

こんな感じで、数値や文字列を代入することで変数ができるんだ。


●変数の型:
Pythonの変数は特定の型を宣言する必要がなくて、代入した値によって自動的に型が決まるんだ。例えば、最初は整数だった変数に文字列を代入することもできるんだよ。

x = 4 # これは整数
x = “さようなら” # これは文字列


●キャスティング:
もし特定のデータ型に変換したい場合は、キャスティングを使うことができるよ。例えば、

x = str(3) # 文字列 ‘3’ になる
y = int(3) # 整数 3 になる
z = float(3) # 浮動小数点数 3.0 になる


●型の確認:
変数の型を確認したいときは、type()関数を使うんだ。

x = 5
print(type(x)) #<class ‘int’>が出力される

y = “こんにちは”
print(type(y)) #<class ‘str’>が出力される


●変数名のルール:
変数名は大文字と小文字を区別するし、数字で始めることはできないんだ。例えば、

a = 4
A = “さようなら”

これは別々の変数として扱われるんだ。あとは、


要するに、Pythonの変数はとても柔軟で、簡単に使えるってことだね。好きな名前をつけて、好きな値を代入して、自由に使えるんだ。

ono3

つまり#はコメントってことだね。HTMLでいう<!– –>みたいな、あとで見た時に分かりやすくするやつ。

ビル

HTMLの知識はあるのね。

ono3

2005年くらいで止まってるけどね。

ビル

ところでこのページでは知らない言葉は無かったの?

ono3

あるある。めっちゃある。

データ型
データの種類や形式を定義し、そのデータに対して行える操作を規定するもの

インスタンス
クラスから生成された具体的なオブジェクト

ブール値
真(true)または偽(false)の2つの値のみを指す値

サブセット
ある集合に含まれる要素のみで構成されるもの

コレクション
複数のデータをまとめて扱うためのデータ構造

コンソール
テキストベースでコンピュータと対話するための画面

ono3

たださっきと一緒で、単語調べたり書いてると「そんなことより実践するか」って気になっちゃうんだよね。

ビル

なんでだろう?

ono3

読むのが面倒くさいから、マニュアル読まずに商品触る感じって言えば伝わる?

ビル

ロボ的には非効率の極みと思ってしまうね。

U5.演習 – 出力

ono3

いきなり演習!!?

ビル

急にきたね。まあ望むところでしょう。

ono3

やってみる。

まず否が応でも目に入る「クイズを開始する」というボタンを押したところ、出てきたのはよく見る私がロボットでないことの確認ですね。

私はこれをやる度に、「私はロボットではないんですが、検査しているのはロボットですよね?」という妙な気持ちになります。

まあ石の数を合わせるだけの簡単な問題なので、すぐ送信しました。

そしたら今度はLearnからアクセス許可を求められました。Sandboxというのを使うために許可が必要だそうです。

サンドボックスは・・・自由に作れる環境のことだったはず。私はBloonsTD6で学びました。とりあえず求められている3点が特に問題ない内容なので、承諾して次へ。

すると何故かもう一度ロボじゃないかチェックがはじまりました。2回もさせられるとは。

もしかしたら1回だけの人もいるかもしれませんが、私は2回させられました。

ロボと疑われたのか??

2回目の非ロボ認証を終えると、何やら勝手にCloud Shellとやらを要求しだして・・・

十数秒くらいでこんな画面になりました。パっと見た感じだと失敗に見えるんですが、とりあえずこのまま進めてみます。

手順どおりに進めただけですが、一応これでユニット5は終わりのようです。

ビル

実技、どうだった?

ono3

言われるままにやっただけなので、あんまり身になった気がしないね。これでいいのかな??

ビル

最初はそれで良いと思うよ。

U6.キーボード入力の読み取り

続いても文章ばかり。やはり演習以外は文字学習のようですね。

このページは、Pythonでユーザーから入力を受け取る方法について説明してるんです。簡単に言うと、こんな感じ。

まず、input() っていう関数があるんですけど、これを使うとプログラムの実行中にユーザーから情報を受け取れるんです。

例えば、ユーザーの名前を聞きたいときとかに使えるわけです。で、この input() 関数、括弧の中にメッセージを入れると、そのメッセージをユーザーに表示してから入力を待つことができるんです。便利でしょ?

ただ、ちょっと注意が必要なのが、この関数で受け取った値は全部文字列になっちゃうんです。だから、数字を入力してもらっても、そのまま計算に使えないんですよ。

でも大丈夫、ちゃんと解決策があります。例えば、整数に変換したいなら int() 関数を使えばいいし、小数点のある数字にしたいなら float() 関数を使えばOKです。

最後に、ページではこれらの使い方の例も示してくれてます。ユーザーに年齢を聞いて、それを使って100歳になるまでの年数を計算するプログラムとかね。

要するに、このページは「Pythonでユーザーとやりとりする方法」について、基本的なことを教えてくれてるんです。

ono3

分かったような。分からないような・・・。

ビル

やっぱり実践してみた方が良いかな?

ono3

そうだね。次のU7も演習みたいなので、進んでみるよ。

U7.演習 – 計算器をビルドする

ユニット7を開くとまた非ロボ確認があり、無事クリアするとユニット5の続きから始まるようです。

順番どおりにやったら「pythonは使えないよ!」って叱られたけど、多分これはもうREPLが起動しているのにもう一度書いたから、

起動のためのコードじゃなくて変数名としてpythonを指定しちゃったことになってて、その名前は使えないよ。って叱られたものと思われます。

ビル

そんなこと書いてあった?

ono3

このサイトのどこかで見た気がするよ。

【追記】違いました・・・。
正しくはNameErrorというものらしく、定義していない変数や関数を使おうとした時に出るエラーだそうです。

U8.まとめ

ユニット8はまとめですね。ここに書いてある内容をそのまま使わせていただくと、

これでPythonプログラマになるための旅が始まったそうです。

ono3

私はプログラマを目指していたのか。

このあと、画面の下の方にある「モジュールを完了する」というボタンを押すと、

こんな画面が表示されて、実績解除されました!!

ono3

脳内にxbox360の実績解除音が流れてきたよ。

これでモジュール1は完了のようです。残すモジュールはあと3つですね。

おわりに

ono3

ふぅ。

ビル

お疲れ様。Python講座を受けてみてどうだった?

ono3

疲れた

ono3

なんかGoogle AI Essentialsのときと違って文字を読むのが多かったからか、疲れたっていう感想が出てくるね。

ビル

でもそんなに時間かかってないよね??

ono3

それ!! Google AI Essentialsのときと同じで、今回もこの投稿を書きながらやってたんだけど、

ono3

実に効率が悪い

ビル

どういうこと?

ono3

きっと、このモジュールって集中してやれば書いてあるとおり15分くらいで終わるボリュームだと思うんだけど、

ono3

途中で単語の意味を調べたり、それをブログ用にスクショ撮って書いたり、お昼ご飯を食べたりとかしてたから、

ono3

結局2時間近くかかってるんだよね。

ビル

お昼ご飯は自分のせいだよね?

ono3

まあね。あと書いてて思ったのが、これあんまり読んだ人の参考にならないんじゃないかということ。

ビル

どうして?

ono3

まず、読み物が多いのと演習が少なかったこともあって、モジュールを終えるのに特別苦労していないので、

ono3

同じ悩みをもってネットで情報を探した人がこの投稿を見て解決する。みたいなことが起きないから、

ono3

そこそこ書いたけど、参考になる部分が少なそう。というか求められてないから、そもそも検索されなさそう。

ビル

たしかに。

ono3

なので、せめて何かのきっかけでこれを読んでくれた方に少しでも読み物として面白みがあるように、

ono3

ここまで書いた後に各ユニットの要約を加えたんだけど、中身をかさ増ししたみたいでちょっと悲しくもなった。

・・・というわけで、次回からはこの反省を活かして基本的には自分が学習していて困ったところを中心に書こうと思います!!

ページのボリュームは減るけどこの方が参考になるはず。というか、別にただ長いだけのコンテンツは誰にも求められてないので、

解決策を探す人にとっては短くまとまってた方がより良いはず。

ビル

最初からこうすれば良かったね。

ono3

Google AI Essentialsは有料コンテンツだったから、見せられるところはできるだけ見せようとしたんだけど、

ono3

その考えのまま無料コンテンツのレビューをしたのがちょっと失敗だったかなと思ったね。

ono3

何ごとも経験だよ!!

はじめての方へ

こちらは、はじめてこのサイトに来た方に向けたページです。

・レベル感 ※超初心者向けです
・ブログの内容
・どんな人が書いているのか

など「はじめてのAI」を読むにあたり最初に見ておいてもらいたいことが書いてありますので、もしまだ見たことがなければ一度ご覧ください。

この記事が気に入ったら
フォローしてね!

「なるほど!」と思ったらシェアしてね
  • URLをコピーしました!
  • URLをコピーしました!

私も勉強中です

生成AIの勉強をしようとある学習サイトを見たところ、冒頭のあいさつ文ですら何を言ってるのか分からず、心が折れかけた非エンジニアの一般人。

このサイトは私と同じように知識0からAIのことを勉強しようと思っている方に向けて作っています。

目次