✅ 今日の主な内容
- 変数の復習
- データの型、演算の基礎
- 条件分岐 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") # ai
print("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度、天気:雨m
ax_temperature = 18
is_raining = True
if max_temperature <= 14:
print("ジャケットとセーター")
elif 15 <= max_temperature <= 24:
print("長袖シャツとジーンズ")
else:
print("Tシャツと短パン")
if is_raining:
print("傘を持っていきましょう")
- より複雑な条件を使用する場合には、
if
・elif
・else
の条件分岐に加え、and
,or
,not
などの論理演算も活用できる。 max_temperature
をinput()
関数で入力するようにすれば、ユーザーの入力に合わせて、その日のおすすめの服装を表示することができる。
🌱 所感メモ
- 条件分岐や演算子は、使っていきつつ慣れていくしかないイメージ。notとか!=などは、実際にどのような場合に使うのか、簡単にはイメージできないけど、多分表現したいことによって、それらの条件を工夫して組み合わせて、使用していくことになるのだと思う。
- コードの大まかな構造を理解し、頭の中でどのように動いているのかがイメージできるといいなと思った。if文の条件式には、真偽値が必要、とか、Trueの場合にブロックの処理が実行されるなど。
- データの型については地味だけど、そもそもこの関数だと、str型は扱えないとかがあるので、常に意識しておきたい。
次回の内容
繰り返しの処理などかな?
コメント