📝 Python学習記録 #2|Pythonの基本文法と条件分岐

プログラミング講座の記録

✅ 今日の主な内容

  • 変数の復習
  • データの型、演算の基礎
  • 条件分岐 if文

Python講座2日目

🔹 Pythonの基本:変数とデータ型

  • 変数とは、データに名前をつけて保存する仕組み。
# python

a = 100
b = 'トウキョウ'
x, y = 10, 20  # 同時に定義もOK
  • 変数名の注意
    ・数字から始める名前:❌ 11a
    ・予約語(if, andなど):❌ 使用不可

🔹 データ型と演算の基礎

  • Pythonはデータ型(int, str など)が一致していないと演算できない
  • type関数で、型の確認ができる。type(変数名)と記載すると、intなどが返ってくる。
  • 異なる型同士で演算したい場合は、**型変換(キャスト)**が必要。
# python

zipcode = str(123) + '-' + str(4567) # OK
# zipcodeは変数名
# 「123」「4567」は、通常int型(整数型)としてpythonに認識され、「-」はstr型(文字列型)として認識されるため、演算(+)で結合することはできない
# str(123)とすることで「123」をstr型に変換し、+演算を可能にしている
# zipcodeをprint()すると、「123-4567」と出力される

🔹 文字列の操作と分割

  • + → 文字列の結合
  • * → 繰り返し
# python
print("a" + "i") # aiprint("ha" * 3) # hahaha
  • split()関数:文字列を規則に従いリスト化する。 .split(‘区切り文字’) と記載
# pythonprefecture, city, address = "東京都/港区/1-2-3".split('/')
''' 
prefecture, city, addressを変数として同時に定義している。
=以降の文字列を(/)部分で区切りリスト化し、[東京都, 港区, 1-2-3]として扱える。
例えばcityをprint()すると、「港区」が返ってくる。
'''

🔹 日付と時刻の操作

  • datetimeモジュールを使って、現在の日時を取得できる
  • 取得したデータの型は、datetime型となる
# python

# 現在の日付
date1 = datetime.date.today()
print(date1)
# 2025-05-25 などが返ってくる

# 現在の日付と日時
date2 = datetime.datetime.now()
print(date2)
# 2025-05-25 15:40:21.361341 などが返ってくる
  • フォーマットの変換 変数.strftime(変換内容) で表示を変更できる
# pythondate2.strftime('%y/%m/%d(%a)')  # '25/05/25(Sun)' が出力される
# 変換の指示はいろいろあります
  • 補足 datetimeモジュールの .date .monthといったクラスを使用して、日付、月のみも扱える
# python

print("年:",date2.year) 
print("月:",date2.month)
print("日:",date2.day) 
print("時:",date2.hour)
print("分:",date2.minute)
print("秒:",date2.second)
print("マイクロ秒:",date2.microsecond)

'''
年: 2025
月: 5
日: 25
時: 15
分: 40
秒: 21
マイクロ秒: 361341

以上の内容が返ってくる。
'''

🔹 条件分岐:if文の基本

  • if:条件式がTrueならブロック内の処理を実行
  • else:それ以外の場合
  • elif:複数の条件を順番に判定
# pythonif 条件式A :    処理A
    処理A2 
elif 条件式B :
    処理B
else:
    処理C

'''
「if 条件式:」と書くが、:(コロン)の後は改行し、処理したい内容を記載する。
処理内容を記載する行頭に、半角スペースを4つ(tabキーでok)入れる(インデント)。
複数の処理を記載する場合は、改行後も同様にインデントを入れる。
このインデントでまとめられた部分を、ブロックという。
条件式がTrueとなった場合、ブロック内の処理が実行される。
elifが複数ある場合、上から順に条件式を評価していき、
Falseの場合、次の評価に進んでいくことになる。
'''

🔹 比較演算子と論理演算子

演算子意味
==等しいa == 10
!=等しくないa != 5
>より大きいa > 3
<より小さいa < 10
>=以上a >= 7
<=以下a <= 12
andかつa > 5 and a < 10
orまたはa < 5 or a > 15
not否定not a == 5

🔹 input関数と入れ子構造

  • input()関数 ユーザーから入力を受け取ることができる
  • input(‘文字列’)と記載し、’文字列’の部分に記載した内容と、入力欄が表示される
  • input関数で入力した内容は、str型となる
# python

name = input("名前を入力してください:\n")
# nameという変数に、ユーザーが入力した内容を定義することができる
# \nは改行表示の指示 
  • 入れ子構造の例 ()の中に、さらに()が含まれている構造のこと
# python

age = int(input("年齢を入力してください:\n"))
if age >= 18: print("成人です")
'''
input関数で入力した内容を、変数ageに定義し、
if関数の条件に従い、メッセージを表示(print)するようにしている。
if関数の条件式で、変数ageの内容を数値と比較(18以上)する必要があるが、
input関数の入力内容はstr(文字列)型のため、数値との比較はできない。
そのため、input()関数の入力内容をint()でくくり、型の変更(キャスト)を行っている。
'''

🔹 宿題:条件分岐の演習

本日の気温(max_temperature = ⚪︎)と
雨が降るかどうか(降る場合は is_raining = True)を指定するので、
14度以下の場合「ジャケットとセーター」
24度以下の場合「長袖シャツとジーンズ」
それらを超える場合には「Tシャツと短パン」と表示し、
雨が降る場合には、「傘を持っていきましょう」と表示するコードを書いてください。

# python
# 解答例

# (指定)最高気温18度、天気:雨
max_temperature = 18
is_raining = True

if max_temperature <= 14:
print("ジャケットとセーター")
elif 15 <= max_temperature <= 24:
print("長袖シャツとジーンズ")
else:
print("Tシャツと短パン")

if is_raining:
print("傘を持っていきましょう")
  • より複雑な条件を使用する場合には、ifelifelse の条件分岐に加え、and, or, not などの論理演算も活用できる。
  • max_temperatureinput()関数で入力するようにすれば、ユーザーの入力に合わせて、その日のおすすめの服装を表示することができる。

🌱 所感メモ

  • 条件分岐や演算子は、使っていきつつ慣れていくしかないイメージ。notとか!=などは、実際にどのような場合に使うのか、簡単にはイメージできないけど、多分表現したいことによって、それらの条件を工夫して組み合わせて、使用していくことになるのだと思う。
  • コードの大まかな構造を理解し、頭の中でどのように動いているのかがイメージできるといいなと思った。if文の条件式には、真偽値が必要、とか、Trueの場合にブロックの処理が実行されるなど。
  • データの型については地味だけど、そもそもこの関数だと、str型は扱えないとかがあるので、常に意識しておきたい。

次回の内容

繰り返しの処理などかな?

コメント

タイトルとURLをコピーしました