🐍

【初めてプログラミングを学ぶあなたへ】優しく2時間でサクッと学ぶ Python 基礎

に公開

はじめに

こんにちは!
初めてプログラミングを学ぶ人向けに、Python の基本を2時間でサクッと学べるように重要なポイントをぎゅっと詰め込んだブログを作りました。専門用語をできるだけ使わずに、わかりやすく説明していきます。

この記事を読み終える頃には、Python の基本的な使い方がわかり、簡単なプログラムを自分で書けるようになるはずです。さあ、一緒に Python の世界に飛び込んでみましょう!

プログラミングってなに?

まず最初に、「プログラミングってなに?」という基本的な疑問に答えましょう。プログラミングとは、コンピュータに対して「こういうことをしてほしい」という指示(プログラム)を作る作業のことです。コンピュータは非常に優れた計算機ですが、自分で考えて動くことはできません。そこで、私たちがコンピュータに具体的な指示を出すために書くのが「プログラム」です。そしてこのプログラムを作る作業を「プログラミング」と呼びます。

プログラムは、コンピュータが理解できる言語(プログラミング言語)で書かれています。Python はその一つで、特に初心者にとってわかりやすく、使いやすい言語として人気があります。

プログラミングは何に役立つの?

「プログラミングを学ぶと何ができるようになるの?」という質問を時々耳にします。実は、プログラミングは私たちの生活のさまざまな場面で役立ちます。

[プログラミングを学ぶメリット]

  1. 自動化: 繰り返しの作業をコンピュータを使って自動化することで、時間を節約できます。例えば、毎日同じデータを入力する作業や、ファイルの整理などを自動化することができます。
  2. 作業の効率化: コンピュータはデータを比較したり整理したりすることが得意です。コンピュータの性能や計算内容によっては、数秒もかからずに大量の計算やデータの変換処理を行うことができます。コンピュータに得意な仕事を任せることで人間が行うよりも効率的に早く作業を進めることができます。
  3. AI やデータの分析: AI やデータ分析の活用はプログラミングの知識がなくても行うことができます。しかし、プログラミングに限らず IT の知識を持っていることで、自分が使うサービスの妥当性や処理の内容などをより理解することができ、ビジネスへの活用も行いやすくなります。

「難しくてよくわからない…」「自分にはできないかも…」と思うかもしれません。最初は誰でもそう感じるものです。そしてそこで諦めてしまう人もたくさんいます。でも、もしエンジニアとして働いてみたい、IT業界へ転職したい、AI の活用に興味があるという方はゆっくりでも大丈夫なのでプログラミングやITの知識を学んでいただくことをお勧めします。一歩一歩進んでいけば、必ずできるようになります。

もしつまずいたら、理解できるところまで戻ってみたり、少し時間を置いてから再挑戦してみましょう。続けることが成功への鍵です。焦らずに、楽しみながらプログラミングを学んでいきましょう。

プログラミングをどう学ぶか

コンピュータに対して何をどのように行うかを指示するための指示書(プログラム)は、コンピュータが理解できる言語(プログラミング言語)で書かれています。プログラムを作成できるようになるためには、その言語の文法単語(特別な文字列)を学ぶ必要があります

例えば、英語を学ぶ際に "This is a pen." という文を理解するために文法と単語を学ぶのと同じように、プログラミングでも同様のアプローチが必要です。
本記事では、Python の基本的な文法と使い方を学び、実際にプログラムを作成するための第一歩を踏み出します。

プログラミング言語の文法は各言語の公式ページ(例: Python 言語リファレンス)にまとまっています。ただ、初めての方には少々難しい説明になっているため、Youtube の動画や本、ブログ記事などを活用して学ぶ方法もあります。

技術コミュニティ

プログラミングの最中でエラーが発生したり詰まってしまった時には、ChatGPT やインターネット検索、言語コミュニティ(例: )などをぜひ活用しましょう。

一人での挑戦は辛いことも多々あります。世界中には多くの有志による技術コミュニティや技術イベントがあるので、それに思い切って参加してみることをご検討ください。例えば Connpass や 技術書典 は有名ですね!

Python のセットアップ?

それでは早速 Python を試していきましょう。プログラムを書くためには、通常そのプログラムのための環境を用意する必要があります。この手順をエンジニア用語では 環境構築 と呼んだりします。
例えば、Python であれば Python を PC にインストールしたり、プログラムを書くためのエディタをダウンロードしたり、、環境構築は通常時間がかかります。この時点で既に時間(と体力)がだんだんなくなっていきます。

しかし、まだプログラミングに慣れていない方は、とりあえず Python をできるだけ早く自分の手元で動かしてみて "こんなものか" という感覚をなんとなく身につけていただくことが一番重要です。1回で全て理解をしなくても全く問題ありません。プログラミングは何度も繰り返し試していくうちに分かってくる(慣れてくる)ものだとお考えください。
本記事では、ちょっとプログラミング楽しいかも、と思っていただけたら大成功です。

そこで、今回は環境構築を省略するために以下 Web サイトを活用したいと思います。
以下サイトでは諸々の準備が完了していて、手軽に誰でもインターネットから Python を実行することができます。(無料で!)

https://www.online-python.com/

online-python の画面について

Web サイトの各領域について参考までに説明いたします。
①: main.py と書かれたタブにプログラムを記載します。
②: Run ボタンでプログラムを実行します。
③: Run ボタン下の枠にプログラムの実行結果が表示されます。

Webサイトの画面

ただしこのサービスは Python の学習やテスト向けであるため、Python に慣れてきて、余裕ができたら Python の環境構築例(例: Windows の方向けの手順, Mac の方向けの手順)を行うことをお勧めします。

既に Python の環境を構築してあります!という方は、ご自身の環境を使っていただいてももちろん問題ございません。

Python の基本

本記事では、Python の基本的な文法を 7 つ学びます。それでは早速進めていきましょう。

1. print(プリント)関数

まずは一番代表的な Python の機能を学びましょう。

online python へアクセスし、main.py に書かれている内容を全て消去します。その後、以下コードを main.py に貼り付けてみましょう。これは、括弧()で囲われた文字列 こんにちは を出力するというプログラムになります。

文字列 こんにちは はシングルクォート (') またはダブルクォート (") で囲います。

main.py
print('こんにちは')

コードを貼り付けできたら以下のような画面になります。

online pythonの画面

画面左下部の Run ボタンを押下し、今貼り付けしたプログラムを実行してみましょう。正常に実行が完了すると下図のように表示されます。画面下に出る ** Process exited .. という文字列は、正常に実行が完了したというメッセージですので無視していただいて問題ありません。

実行結果

おめでとうございます!これでまず一つ目の Python プログラムを実行できました。

解説

Python で利用できる機能の一つに print 関数があります。print 関数では括弧内で指定されたデータを画面やログ記録に出力することができます。
書き方は、以下のように print、その後括弧で出力したいデータを囲います。

print(出力したいデータ)

(参考) Python公式ドキュメント: print関数

2. 文字列

Python では こんにちは といった文章や人名などの文字からなるデータを扱うことができます。
いくつか print 関数を使って画面に出力してみましょう。

online python へアクセスし、main.py に書かれている内容を全て消去します。その後、以下コードを main.py に貼り付けてみましょう。

print("こんにちは、Python!")  
print('Hello, World!')  

解説

単語や文章など、文字からなるデータを「文字列」と呼びます。文字列として表現したいデータは、データの前後をシングルクォート (') またはダブルクォート (") で囲みます。シングルクォート (') でもダブルクォート (")でも、結果は一緒です。好きな方を使って構いません。

print("こんにちは")
print('こんにちは')

(参考) Python公式ドキュメント: 文字列

3. 算術演算

Python では電卓のように算術演算を行うことができます。算術演算の結果を print 関数を使って画面に出力してみましょう。数値は文字列のように ダブルクォート (") などで囲う必要はありません。

online python へアクセスし、main.py に書かれている内容を全て消去します。その後、以下コードを main.py に貼り付けてみましょう。# から右の文字列はコメントと呼ばれ、Pythonはコメントの内容を無視します(実行しません)。

main.py
print(2 + 2) # 足し算
print(50 - 5) # 引き算
print(5 * 3) # 掛け算
print(8 / 5) # 割り算

コードを貼り付けると、以下のような画面になります。

online python画面

画面左下部の Run ボタンを押下し、今貼り付けしたプログラムを実行してみましょう。正常に実行が完了すると下図のように表示されます。

実行結果

解説

電卓のように演算子 +(加算)、-(減算)、*(乗算)、 /(除算)によって算術演算を行うことができ、丸括弧 () をグループ化に使うことができます。

計算の書き方は数学の式と同じように演算対象の数値の間に演算子を記載します。例えば、1+1 で 1同士の加算を意味します。2-1 で 2から1を減算します。
以下のように書いた場合、まず 1+1 が実行され、その後、1+1 の結果 2 に 3 が掛けられます。そこから 1 を引いた結果を 5 で割ります。

((1+1)*3-1)/5

なお、上記の演算結果を画面に出力するには、print 関数を使用します。

print(((1+1)*3-1)/5)

(参考) Python公式ドキュメント:

4. 変数

Python では値を名前のついた箱に保存して人間にとって分かりやすくする仕組みがあります。
online python へアクセスし、以下コードを main.py に貼り付けてみましょう。

みかん = 150
りんご = 130
りんご = 200
キウイ = 60
ぶどう = 300

print(みかん + りんご + バナナ + キウイ + ぶどう)

画面左下部の Run ボタンを押下し、今貼り付けしたプログラムを実行してみましょう。正常に実行が完了すると下図のように表示されます。

実行結果

解説

上記例では「みかん」「りんご」「バナナ」... という名前がついた箱にデータを保存しています。
名前のついた箱にデータを保存するときは、以下のように書きます。

名前 = データ

この名前のついた箱ことは変数といい、= を使った行を代入文といいます。ちなみに、「みかん」「りんご」のように変数には好きなように名前をつけることができ、変数名 と呼びます。

データを代入した変数は、その値と同じように使えます。
例えば、

print(150+130)

と書いても、

みかん = 150
りんご = 130

print(みかん+りんご)

と書いても、全く同じ計算が行われます。
変数にデータを保存することが一見無駄なようにも見えますが、"みかん"、"りんご" とデータの意味が記載されていることで後から見た時や他人が見ても何の処理であるか分かりやすくなります。
さらに、データがものすごく長く、同じデータに対する処理が何度もある場合、"みかん" と書いた方がコードが短く済む場合もあります。このように変数には様々なメリットがあるのです。

(参考) ゼロからのPython入門講座: 変数

5. データ型

Python では 効率よくデータを処理するために、データの種類によって分類し、処理します。この分類を データ型 と呼びます。

online python へアクセスし、以下コードを main.py に貼り付けてみましょう。

名前 = "太郎"
年齢 = 25
身長 = 175.5

print(名前)
print(年齢)
print(身長)

画面左下部の Run ボタンを押下し、今貼り付けしたプログラムを実行してみましょう。正常に実行が完了すると下図のように表示されます。

実行結果

解説

変数に保存するデータ("太郎"、25、175.5)は、それぞれ一般に文字、整数、小数点を持つ数と分類できると思います。Python でも同じようにデータを分類することができ、分類ごとに行える処理が決まっています。

このようにデータの種類による分類をデータ型と呼びます。データ型はそれぞれ特別な呼び方で呼ばれています。

  • string(ストリング) 型: テキストデータ(文字列)を扱うためのデータ型。数値のように見えるものでもクォーテーションで囲まれていれば string 型として扱われます。
    • 例: "太郎", '123'
  • int(イント) 型: 整数を表すデータ型。小数点を含まない数値。
    • 例: 25, 42, -7
  • float(フロート) 型: 浮動小数点数を表すデータ型。小数点を含む数値。
    • 例: 175.5, -0.5, 2.0

上記例のコードをイメージにしてみるとこのような感じです。名前、年齢、身長という名前のついた箱に、太郎、25、175.5 というデータが保存されています。データは全て異なるデータ型(データの種類)なので、異なった色で表しています。

名前 = "太郎"
年齢 = 25
身長 = 175.5

print(名前)
print(年齢)
print(身長)

変数のイメージ

(参考) Python公式ドキュメント: データ型

6. input(インプット)関数

ユーザー(画面の前のあなた)からデータを受け取るには、input 関数を使います。

以下のプログラムをコピーして online python に貼り付けましょう。もともと記載されている内容は全て消去します。

ユーザーの名前 = input("あなたの名前はなんですか?: ")

print(ユーザーの名前) 

コピーができたら、"Run" を押してみましょう。
Run を押すと入力が求められます。好きな名前を入力し、"Enter" や "改行" を入力すると「(入力した値)」が表示されるはずです。色々な値を入力してみて、どのように表示されるか試してみましょう。

実行結果

解説

print 関数は Python の処理を画面に表示することができました。input 関数ではユーザーからの入力を Python に伝えることができます。input 関数は、以下のように input と書き、その後括弧であらかじめ出力したいデータの値を囲います。

input("あらかじめ表示したい文字列")

さらに、受け取ったデータを変数に保存するには以下のように書きます。

変数 = input("あらかじめ表示したい文字列")

(参考) Python公式ドキュメント: input関数

7. 関数

これまで print と input という2つの事前に用意された関数を試しました。今度は、自分で関数を作ってみましょう。

関数は、特定の処理をまとめて名前を付けたものです。関数を使うことで、同じ処理を何度も書く必要がなくなり、コードがすっきりします。

例えば、以下のようなプログラムがあります。

print("おはよう")
print("こんばんは")

print("おはよう")
print("こんばんは")

上記プログラムでは、同じ処理が2回繰り返されています。もっと複雑なプログラムであれば、同じ処理を繰り返し書くのは骨が折れます。そこで、関数を使ってこの処理をまとめることができます。

以下のプログラムをコピーして online python で実行し、どのような結果が出力されるかみてみましょう。

def あいさつ():  
    print("おはよう")
    print("こんばんは")

あいさつ()
あいさつ()

実行結果は以下の通りです。

実行結果

解説

関数は、以下のように記述します。

def 関数名():
    # 処理

関数のルールは以下の通りです。

  1. 先頭に def キーワードを書きます。
  2. def キーワードの隣に関数の名前を書きます。
  3. 括弧を書きます。
  4. コロン : を付けます。(ここで1行目終わり)
  5. 関数の処理内容を行の先頭にスペースを入力(通常はスペース4つ)して書きます。

関数を定義した後、以下のように記述して関数を実行します。

関数名()

それでは、関数を使って先ほどの文章を書き直してみましょう。自分で定義した関数を実行するには、まず関数の定義がその前に記述されている必要があります。処理内容が非常にシンプルであるため、一見煩雑に見えますが、プログラムが長くなると関数は非常に便利です。

注意: 関数の順番

Python は上から順番に実行します。このため、上記の例のように あいさつ関数の定義、あいさつ関数を使う、といった順番の場合には問題ありませんが、以下のように関数の定義の前にいきなり、あいさつ() と書いてしまうと Python はあいさつ関数を知らないためエラーとなります。

あいさつ()
あいさつ()

def あいさつ():  
    print("おはよう")
    print("こんばんは")
5-1. 【発展】 引数と戻り値

関数には引数と戻り値という概念があります。少し難しいかもしれませんが、「こんなものもあるんだ」と思っていただければ大丈夫です。

関数の引数

まずは具体例を見てみましょう。以下のようなプログラムがあります。

print("おはよう")
print("こんばんは")

print("おはようございます")
print("さようなら")

このプログラムは、先ほどと print 関数に渡している値が異なっています。このような場合、関数の引数を使います。関数に引数を与えることで、関数処理の一部を動的にする(関数の実行ごとに変える)ことができます。関数に引数を与えるには以下のように書きます。引数が複数ある場合には、,(カンマ)で区切ります。引数が一つの場合は、,(カンマ)は必要ありません。

def 関数名(引数名, 引数名):
    # 処理

引数ありの関数を実行するには以下のように書きます。

関数名(,)

先ほどの例を引数ありの関数で書き直すと以下のようになります。ひとつめふたつめという引数は変数と同じように関数内で扱うことができます。

def あいさつ(ひとつめ, ふたつめ):  
    print(ひとつめ)
    print(ふたつめ)

あいさつ("おはよう", "こんばんは")
あいさつ("おはようございます", "さようなら")

上記コードを online python で実行してみると以下のようになります。変数を変えたり、関数内の処理を変えたりしていろいろ試してみましょう。

実行結果

関数の戻り値

関数は、引数を受け取って処理を行い、その結果を返すこともできます。これを「戻り値」と呼びます。戻り値を返すためには return キーワードを使います。以下の例を見てみましょう。

def 足し算(1,2):  
    合計 =1 +2  
    return 合計

結果 = 足し算(3, 5)  
print(結果)

以下の足し算関数では、数1と数2を受け取り足した合計を関数の処理結果として返却し、変数"結果"に保存しています。
このプログラムを実行すると、以下のような結果が得られます。

関数の実行結果: 8

このように、足し算 関数は2つの引数 a と b を受け取り、その合計を return キーワードを使って返しています。そして、その結果を変数 結果 に代入し、print 関数を使って表示しています。

(参考) ゼロからのPython入門講座: 関数

練習問題

最後に、Python の理解を深めるためにいくつかの練習問題を解いてみましょう。

  1. 変数"りんご"に値"赤"を保存してください。
  2. ユーザーに名前を入力してもらい、その名前を画面に表示するプログラムを作成してください。
  3. <【発展】引数と戻り値を完了した方向け>名前を引数として受け取り、「こんにちは、[名前]さん」と挨拶を表示する関数を作成し、それを実行してください。例えば、挨拶("太郎") と呼び出すと「こんにちは、太郎さん」と表示されるようにします。
問題1) 解答例
りんご = "赤"
問題2) 解答例
名前 = input("あなたの名前を入力してください: ")  
print(名前)
問題3) 解答例
def 挨拶(名前):  
    メッセージ = f"こんにちは、{名前}さん"  
    print(メッセージ)  

挨拶("太郎")  
挨拶("花子")

まとめ

この記事では、Python の基本的な使い方とプログラミングの基礎を学びました。以下に主なポイントをまとめます。

  1. プログラミングの概要:
    プログラミングとは、コンピュータに指示を出すための作業です。Pythonはその中でも初心者に優しい言語であり、自動化、データ分析、ウェブ開発など多くの分野で利用されています。
  2. Pythonのセットアップ:
    Pythonを使うための環境構築は後回しにして、まずはオンライン実行環境(例: online-python.com)で手軽に始めましょう。
  3. 基本概念:
    • 変数: 変数はデータを一時的に保存するための「箱」です。
    • データ型:データには、文字列、整数、小数などの種類があり、この種類はデータ型と呼ばれています。
    • 算術演算: 足し算、引き算、掛け算、割り算などの基本的な計算ができます。
  4. データの入出力:
    • print関数: 画面にデータを出力するための関数です。
    • input関数: ユーザーからデータを受け取るための関数です。
  5. 関数:
    • 特定の処理をまとめて名前をつけたもので、コードを簡潔にするために使います。
    • 引数と戻り値: 関数にデータを渡して処理を行い、その結果を返すことができます。

最後に

プログラミングの学習は、一歩一歩進んでいくことが大切です。最初は誰でもつまずくことがありますが、継続することで必ず上達します。焦らずに、楽しみながら学んでいきましょう。あなたの努力は必ず実を結びます。

このブログでは、Pythonの超基本を簡単にまとめましたが、本格的にPythonを学びたい方には以下2つをお勧めします。より詳細で体系的な学習を進めることができます。

もしこのブログでわからない点があればぜひコメントをしてください。プログラミングの旅を楽しんでください!

Discussion