最初の設定
Pythonのインストール
以下の手順で、Pythonのインストールを行います。
1.Python公式サイトから、Pythonパッケージをダウンロードします
2.ダウンロードしたパッケージをインストールします。
3.PowerShellでPythonを実行するときに必要となる、スクリプトの実行許可を設定します。
WindowsにPythonをインストールすると、デフォルトのインストール先は以下のようにユーザーディレクトリ内のAppData/Local/Programs/Pythonの中になります。
こちらからWindows用インストーラをダウンロードします。
最新版は3.13.7でした。詳しくはこちらのサイトなどを見てください。
VSCodeエディタ
VS Codeエディタは、マイクロソフト社がオープンソースで開発しているエディターです。公式Webサイト から無料でダウンロードして利用できます。
VS Codeの特筆すべき特徴が、目的に応じて好きなようにカスタマイズできることです。VS CodeにはHTMLファイルの編集などエディターとしての基本機能が最初から備わっていますが、そこに「拡張機能(Extension)」と呼ばれる機能をインストールして追加できます。
Pythonの基礎
コードは小文字で書く?
Pythonでは、変数名や関数名は小文字で書くのが一般的ですが、大文字・小文字は区別されるため、Boolean型 (True, False) や文字列メソッド (upper(), lower()) など、決まった記述の仕方があります。コード全体で小文字と大文字の使い分けには一貫性を持たせることが重要です。
コードの indent
Pythonのコードにおけるインデント(字下げ)とは、コードのブロック(処理のまとまり)を視覚的に区切り、構造を明確にするための空白またはタブのことです。Pythonでは中括弧 {} の代わりにインデントがコードブロックの定義に使われるため、正確なインデントが必須であり、不適切なインデントはエラーを引き起こします。
IndentationError: expected an indented block after 'for' statement on line 1
インデントエラー: 1 行目の ‘for’ 文の後にインデントされたブロックが必要です
「for」などの構文の中ではインデント(字下げ)が必要です。
Pythonでは、ブロック(まとまり)をインデントで表す というルールがあります。
つまり、for、if、while、def などの後に書く文は、必ず字下げ(スペースまたはタブ) が必要です。
それ以外のところにインデントがあるとエラーになります、またPythonでは全角スペースはインデントとして認識されず、これもエラーになります。
Print文
Python の print() 文(正確には関数)は、テキスト、数値、変数などの値を画面やファイルに出力するための組み込み関数です。主な使い方は print(出力したい内容) と関数形式で記述し、文字列の表示や変数の値の確認、デバッグなどに使われます。デフォルトでは出力の後に改行が追加されますが、end 引数で改行の有無や末尾に表示する文字を制御し、sep 引数で複数の値を区切る際の文字を指定できます。
演算
>加算や乗算などの四則演算を行ってみましょう。
print(5+3) #足し算
print(5-3) #引き算
print(5*6) #掛け算
print(10/3) #割り算
print(10//3) #割り算小数点以下を切り捨て
print(10%3) #割り算のあまり
print(10**2) #二乗
input("Enterキーを押して終了します...")
「結果」
8
2
30
3.3333333333333335
3
1
100
Enterキーを押して終了します...
変数
変数とは、データを入れる箱(入れ物)だと思ってください。変数に値を入れることを代入と呼びます。
Pythonは変数に代入したデータ型によって、自動的にデータ型が決定される言語です。
他の言語だと、整数とかテキストとか型宣言をしますが、Pythonでは不要です。
x = "hello world"
y = 42
print(x)
print(y)
y = 100 # 42から100に上書き
print(y*3.14)
データ型
Pythonに限らず、プログラミング言語にはデータの性質を表すデータ型というものがあります。
intは整数型、strは文字列型、floatは浮動小数点型などがあります。
他にリスト型、タプル型、辞書型などがあります。
イテラブル
イテラブルとは、for文などで要素を順次取り出せるオブジェクトのことで、リスト、文字列、`rangeオブジェクトなどが該当します。これらのイテラブルオブジェクトは、データ構造内の要素にアクセスし、繰り返し処理を行うことを可能にします。
各イテラブルオブジェクトの例
- リスト (List):複数のデータを順序付けて格納できるオブジェクトです。
例: [1, 2, 3] や [“apple”, “banana”] - 文字列 (String):文字の並びを表すイテラブルオブジェクトです。各文字を順次取り出せます。
例: “hello” - rangeオブジェクト (range object):数値のシーケンス(範囲)を生成するイテラブルオブジェクト
例: range(5) は 0, 1, 2, 3, 4 という数値を生成します。
関数とライブラリ
Pythonでは関数が特定の処理を行う基本的なコードの部品であり、ライブラリは関連する関数やクラスをまとめたプログラムの集まりです。ライブラリを使うことで、複雑な機能をゼロから作る手間を省き、効率的に開発を進めることができます。ライブラリは通常、import文を使ってプログラムに読み込んでから使用します。
関数(Function)
役割:特定の機能や処理をまとめて名前を付けたものです。例えば、`print()やlen()`のような組み込み関数は、特別な操作なしですぐに利用できます。
使用例:ある計算を繰り返し行う場合、その計算処理を関数として定義しておくと、コードの再利用性が高まります。
ライブラリ(Library)
役割:プログラムで利用できる関数やクラス、モジュール、パッケージなどの集まりを指します。これらをまとめて「ライブラリ」と呼びます。
メリット:数値計算、自然言語処理、データ解析など、自分で実装するのが難しい複雑な処理を、あらかじめ用意されたライブラリの機能を使うことで簡単に実現できます。
If文
if 文は条件分岐の設定です。「もし〇〇なら△△をする」といった処理をしたい時に使います。
具体的には「条件」と「条件が満たされた時の処理」で構成されています。
if文の基本形
if文のもっとも基本となる型は、ifのみの構文です。記述の仕方は以下のようになります。
if 条件式:
条件式が真(true)の場合に実行する処理
この場合、条件式は1つだけになるので、条件式がtrueにならない場合はなにも処理が実行されません。
次のサンプルコードでは、入力された値を参照し、1だった場合のみ「1です」と出力します。
value = int(input('1〜10の数を入力してください'))
if value == 1:
print('1です')
if else の形
ifの条件式が偽(false)であった場合の処理を追加するには、if…elseの構文型を使用します。記述の仕方は以下のような形になります。
if 条件式:
条件式が真(true)の場合に実行する処理
else:
条件式が偽(false)の場合に実行する処理
それではサンプルを見てみましょう。次のサンプルコードでは、入力された値を参照し、1だった場合はifの処理が実行され「1です」と出力します。1でなかった場合はelseの処理が実行され「1ではありません」と出力します。
value = int(input('1〜10の数を入力してください'))
if value == 1:
print('1です')
else:
print('1ではありません')
input("Enterキーを押して終了します...")
for i in range文
Printを繰り返す
同じことを単純に繰り返します。
for i in range(5):
print(i)
「結果」0 1 2 3 4
※print行にindentがないと、エラーが出るの注意してください!
SyntaxError: expected an indented block after ‘for’ statement on line 1
Forとプリントで繰り返す
s='hello!' #文字列 'hello!' を変数 s に代入しています。
for i in range(1,11): #i が 1 から 10 まで変化します。
print(s * i) #文字列 s を i 回繰り返して表示します。Pythonでは文字列 × 数字で繰り返しができます。
input("Enterキーを押して終了します...")
最後のインプット文は結果の画面が消えないようにする待機の役目があります。
hello!
hello!hello!
hello!hello!hello!
hello!hello!hello!hello!
hello!hello!hello!hello!hello!
hello!hello!hello!hello!hello!hello!
hello!hello!hello!hello!hello!hello!hello!
hello!hello!hello!hello!hello!hello!hello!hello!
hello!hello!hello!hello!hello!hello!hello!hello!hello!
hello!hello!hello!hello!hello!hello!hello!hello!hello!hello!
Enterキーを押して終了します...
1から10までの合計を計算する
total = 0
for i in range(1, 11):
total += i
print(total)
「結果」55
- 初期化
total = 0
→ 変数 total を 0 で初期化します。ここに合計をどんどん足していきます。 - for文のループ
for i in range(1, 11):
→ range(1, 11) は 1から10までの整数 を順番に取り出します。
(Pythonのrangeは「開始値を含み、終了値を含まない」ので、11を指定すると10までになります)つまり、この部分では i が、1, 2, 3, 4, 5, 6, 7, 8, 9, 10と順番に代入されます。 - 合計を更新
total += i → total = total + i の省略形です。
毎回 i の値を total に足し込んでいきます。 - 結果を確認
ループが終わると total には 1から10までの合計 (55) が入っています。
print(total)
出力の値は 55です。
もっと短く書くなら sum 関数を使う
print(sum(range(1, 11))) # 出力: 55
for i in range文のinの意味は何か?
for i in range(…) の構文
Pythonのfor文はこういう形をしています:for 変数 in イテラブル:
変数 → ループごとに取り出される値を受け取る
in → 「〜の中から順番に取り出す」という意味
イテラブル → リスト、文字列、range など「順番に取り出せるもの」
つまり、for i in range(1, 11):は
「range(1, 11) の中から値を1つずつ取り出して、変数 i に入れる」という意味です。
なぜ「for range」ではないのか?
rangeは「数列を作る関数」ですが、それだけでは「繰り返し処理をする」にはなりません。
for文は 「inで指定された集まりから1つずつ取り出す」 という決まりで動いています。
たとえば:for x in [10, 20, 30]:
print(x)→ 出力は 10 20 30
ここでは range ではなくリスト [10, 20, 30] を使っていますが、同じように in を使って要素を順に取り出している のがわかります。
inのイメージ
in = 「…の中から」
for i in range(1, 11) = 「range(1, 11) の中から i を順番に取り出す」
だから、for range(…) だけでは 「どこから値を取り出すのか?」がない のでエラーになる。
for文は 「in イテラブル」 という形が必須
in は「その中から1つずつ取り出す」という意味
rangeは単に「数列を生成する関数」であり、in とセットにしてはじめてループ処理に使える
