見出し画像

【python】本当に初心者のための指南書

昨今、プログラミングを始めるなら"python"とよく聞きます。では、pythonとはなんでしょうか。

実は、pythonができればAIを学ぶこともできます。MIT(マサチューセッツ工科大学)などでも学ばれているという幅広く認められている言語です。

AIと聞くと難しそうに聞こえます。なぜプログラミング初心者に人気なのでしょうか。

まず、特徴を紹介したいと思います。

・文法が簡単で勉強が進んでいなくてもある程度読み書き可能。
・ほかの言語を学んでいれば直感的にコードが書ける。
・インデックス(半角スペース4つ)が重要。
・AI(深層学習、機械学習)が学べる。
・多くの人がやっているため検索すれば何かしらの情報が得られる。

初心者でも始めやすいし、しっかり学んでいくと最新の技術の片鱗をも覗くことができます。

最初に何をすれば始めることができるのかを紹介していきます。

なお、私はwindowsであるため、他のOSだと若干異なる

インストール

まず、pythonをインストールします。(pythonをインストールしたくない方はexeファイルにすることで実行することはできますこれから学習するつもりならばインストールしておいた方が都合が良いと思います。)

今回は最新のpython3.8をインストールしたいと思います。

pythonをこれから学ぶ方にはバージョンについて考える必要性はあまりないため最新バージョンで大丈夫だと思います。

上記のサイトからの説明をしていきます。

手順1

"install now"をクリックするとすぐにインストールが開始されます。

add python to pathはチェックを入れていませんが、理由を説明すると混乱すると思う(最初自分もよくわからなかった)のでチェックを入れなくてよいです。

これが終わると以下のようになります。

手順2

これでインストール完了です。

実行

講義や参考書などで必ずといっていいほど行われる"hello,world"を出力することを行いたいと思います。

私はほかに"C言語"の初心者向けの記事を書いているのですがそれと比べてみてもらうと、pythonで非常に簡単にプログラミングできることが分かると思います。

①コンピュータと対話するように実行する(shell)

手順3

赤枠で囲んだところをクリックするとshellと呼ばれるものが開きます。

ここでは一行ごとの命令を実行できます。

では、"hello,world!"を出力してみましょう。

手順4

出力できました。やっていることが明白であるため、あまり難しいと感じることはないと思います。

C言語を説明するときこれと同じことをするだけでもそれなりに疑問点が出てきますが、pythonではあまり質問は出てこないです。

文法が簡単という一番最初の例だと思います。(この段階で分かりやすく差があるのだから文法が簡単、わかりやすいというのは納得できるのではないでしょうか。

②ファイルを作って実行する。

file->new file を開きます。

手順5

この右のuntitledというものが作るファイルの基となります。

一応こちらのファイルでも実行できることを確認してみましょう。

手順6

うちこんだら"ctrl + s"で保存するか、file で ”save"を押して名前を適当に決めて保存してください。pythonの拡張子は".py"です。自動で拡張子をつけてくれるため、hello.pyとしたければ hello と名前を打ち込むところに入れてください。

あとは"F5"を押すか、run -> run modulesで実行すると以下のようになります。​

手順7

これで実行結果が確認できました。

私ははじめてpythonを触ったとき書いたコードが短かいため本当に動くのか、動いたところでほかになにができるのかビジョンが浮かびませんでした。

なので皆様が理解に困らないように少し長いプログラムを書いてみたいと思います。

サンプル

C言語の説明でもした、素数判定をやってみたいと思います。

#!/usr/bin/env python3

def judge(x):
   for i in range(2,x):
       remainder = x % i
       if remainder == 0:
           return 1
   return 0
       

a = input("How old are you?:")
b = int(a,base=10)
if b >= 2:
   c = judge(b)
   if c == 0:
       print("Your age is prime number.")
   if c == 1:
       print("Your age is composite number.")
else:
   print("can't judge!")

プログラムを書いてみましたので、新しいファイルを作ってコピペして保存してみてください。

実行結果を以下に示します。

手順8

どんな感じで実行されているかこれで少しはわかったのではないでしょうか。

サンプルの簡単な説明

hello,world!から飛躍しすぎではないかと思った方もいらっしゃるかと思いますが、できると役立つことを詰め込んでおりますのでぜひ一行一行見てみてください。

①打ち込まれた文字をaに代入

②文字を整数型の数字とする。これをbに代入

③自作関数judge()で素数なら0をcに代入、合成数なら1をcに代入

④cが0なら素数ですと表示、cが1なら合成数ですと表示

⑤そもそも2以上の整数でなければ、判定できないと表示

とこんな感じです。やっていることをわかっていただければ十分だと思います。

input(""):ダブルクオーテーションで囲まれた部分を表示してキーボードからの入力を受け付けます。ここで数字をうちこんでいます。

def function():def = defineです。いわゆる関数定義というものです。
関数とは行いたい処理をひとまとめにすることができます。自作関数で調べるとでてきます。

a,b,c,i,remainder:変数と呼ばれるものです。予約語といわれるあらかじめ用意されている言葉や数字以外ならなんでも作れます。

for:何回も処理を行うときに使うものです。ループと呼ばれます。

range():ループの回数を決めています。forを学ぶと出てくると思います。

if:条件分岐と呼ばれるものです。

int():文字として数字を得たので文字を整数型として変換します。データ型やキャストと調べるとでてくるでしょう。

キーワード

サンプルででてきたキーワードを並べておきます。とても重要なところなので分からないキーワードがないようにした方が良いと思います。

変数、自作関数、forループ、条件分岐、データ型、キャスト

最後に

今回はpythonのidleで実行しましたが実行できる環境はほかにもたくさんあります。

普段はjupyter notebok というものや コマンドプロンプトで実行してます。

はじめのうちはidleで試しつつどんなことができるのか試していくのが理解しやすく楽しいかなと思います。

どんどん学習を進めていくとオブジェクト指向とはなんぞ?と思ったり、イテレータなど理解しにくいものも出てくるとは思いますがネット上には情報が増えていますのでいろんなサイトを見て回るのが良いと思います。

ご覧いただきありがとうございました。C言語と比べてどれほど楽かを比較するために以下に示しておきますのでよかったらご覧ください。

ではよい一日を!Have a nice day!




この記事が気に入ったらサポートをしてみませんか?