共テ情報I – 最小限のPython入門
§1. 変数と演算
解説動画
【MENU】
00:00 Sample 1-1
23:07 Sample 1-2
48:27 補足:再代入について
55:09 Sample 1-3
END 1:07:44
◆ 出力
print()
関数は,指定した値や変数をコンソールに表示する.データの確認やデバッグ時に便利である.
print(出力する内容) # 出力する内容は文字列,数値どちらも可能
### 文字列や数値を表示する
print("Hello, World!") # 出力:Hello, World!
print(9.256) # 出力:9.256
※ 複数の引数をカンマで区切って渡すことができ,出力時には半角空白で区切られる.
※ \n
(改行),\t
(タブ)など特殊文字を用いて出力を整形できる.
※ Python 3.6以降では,f-stringを用いて文字列内に変数の値を組み込むことが可能.
◆ コメント
コメントは,ソースコード内でプログラムの動作に影響を与えないテキストのこと.Pythonでは,#
記号の後に続くテキストがコメントとして扱われる.
特定の部分が何を行っているのか,なぜそのようにしているのかを説明するためのコメントを付けることで,コードの可読性が向上し,後から見返した際や他の開発者がコードを読む際に理解しやすくなる.
### コメントの例
print("Hello, World!") # この部分はコメント
# 複数行からなるコメントでは
# 各行に#を付ける必要がある
# ので注意
※ 複数行に渡るコメントにはdocstringという記法もある.
◆ 変数の宣言と値の代入
Pythonは動的型付け言語であり,変数に値を代入するだけで型が自動的に設定される.また,異なる型の値を再代入すれば型が変更される.=
演算子は数学的等号と異なり,右辺の値を左辺の変数に代入する操作を意味する.
新規の変数名 = 代入する値 # 変数が作成され,型は自動で決定される 既存の変数名 = 代入する値 # 既存の変数に新しい値が代入され,型が変わることもある
### 色々な型の変数の宣言
x = 7 # xは整数型(int)として作成される
print(x) # 出力:7
x = "Python" # 文字列型(str)の値をxに再代入し,xの型が変更される
print(x) # 出力:Python
ensyuritsu = 3.14 # yは浮動小数点型(float)として作成される
print(ensyuritsu) # 出力:3.14
※ C言語などの静的型付け言語では,変数の型を事前に宣言する必要がある.
※ Pythonでは変数名に,英字(大文字・小文字を区別する),数字,アンダースコア (_)のみが使用でき,数字から始めることはできない.また,予約語(if
,for
などPythonが既に使用しているキーワード)は使用できない.
※ 変数名を決める際は,短すぎず長すぎない意味のある名前にし,複数の単語を組み合わせる場合には単語間にアンダースコアを入れる(スネークケースという)ことが推奨される.
◆ 基本データ型
Pythonの基本的なデータ型には以下が含まれる.
整数型 (int):正または負の整数.
浮動小数点型 (float):小数点を含む数値.
文字列型 (str):文字の連続で,シングルクォート(’)またはダブルクォート(”)で囲む.
type()
関数を使用すると,変数の型情報を確認できる.
※ 数値データを扱う際,整数値であれば,整数型として扱った方が効率がよいとされる.また,浮動小数点型は非常に大きな数や小さな数を表現できる一方で,精度に限界があり,誤差が出る場合がある(整数型は正確な値を保持する).
### 各データ型の変数を宣言し,データ型を確認するコード例
x = 9256
print(type(x)) # <class 'int'>
juken7 = 3.15
print(type(juken7)) # <class 'float'>
namae = "Qunigoro"
print(type(name)) # <class 'str'>
◆ 型変換
Pythonでは異なるデータ型間の操作を可能にするため,型変換が頻繁に行われる.
int("文字列") # 文字列型を整数型に変換
float("文字列") # 文字列型を浮動小数点型に変換
str("整数/浮動小数") # 整数型・浮動小数点型を文字列型に変換
### 文字列型から整数型・浮動小数点型への変換
"9256" # 文字列型:9256(算術演算には使えない)
int("9256") # 整数型に変換:9256
float("9.256") # 浮動小数点型に変換:9.256
### 整数型・浮動小数点型から文字列型への変換
str(777)
str(9.256)
※ int("9.256")
や int("JUKEN7")
はエラー (ValueError) を引き起こす.
※ 浮動小数点型を整数型に変換すると,小数点以下が切り捨てられる.
◆ 文字列の連結
文字列の連結は,+
演算子で簡単に行える.
"文字列1" + "文字列2" # 文字列1と文字列2を連結
### 2つの文字列を結合し,その結果を変数に代入する.
aisatsu = "おはよう" + "ございます"
print(aisatsu) # 出力:おはようございます
※ Pythonの文字列操作には,連結の他に,分割,切り抜き,検索,置換など多岐にわたる機能が存在する.
◆ 入力
input()
関数は,ユーザーからの入力を受け取るために使われる.この関数を呼び出すと,引数で指定したプロンプトが表示され,プログラムがユーザーの入力を待つ.入力後,エンターキーを押すと,入力された内容が文字列として返される,数値として利用する場合は,型変換が必要である.
変数 = input("プロンプト文字列")
### 入力された文字列を変数に代入する
name = input("君の名は?") # 「あなたのお名前は?:」と出力して入力を待機
print("よろしく,"+name+"さん!") # 入力が「くにごろう」の場合の出力:こんにちは,くにごろうさん!
例)
### 入力された文字列型の数値を整数型に変換してから計算に用いる
x = input("税抜き価格は何円?:")
y = 1.1 * int(x)
print("税込価格は" + str(y) + "円です.")
◆ 算術演算子
算術演算子は数値計算に用いられる.主な算術演算子は以下の通りである.
加算 (+):2つの数値を加える.
減算 (-):第1の数値から第2の数値を引く.
乗算 (*):2つの数値を掛ける.
除算 (/):第1の数値を第2の数値で割り,結果は浮動小数点数として返す.
整数除算 (//):第1の数値を第2の数値で割り,結果は整数部分のみを返す(小数部分は切り捨て).
剰余 (%):第1の数値を第2の数値で割った際の余りを求める.
累乗 (**):第1の数値を第2の数値で累乗する.
※ 整数型と浮動小数型のデータの間で算術演算を行うと,結果は浮動小数型となる.
### 算術演算子の色々な例
print(5 + 2) # 出力:7
print(10 - 3) # 出力:7
print(3 - 10) # 出力:-7
print(7 * 3) # 出力:21
print(17 / 2) # 出力:8.5
print(17 // 3) # 出力:5
print(17 % 3) # 出力:2
print(3 ** 5) # 出力:243
◆ 代入を含む演算
代入演算子 =
は,右辺の計算結果を左辺の変数に格納する.右辺に含まれる変数の値は計算に用いられるが,この操作自体で変更されることはない.数学と異なり,右辺で使用される変数の元の値を基に計算が行われた後,新たな値が左辺に代入されることに注意.
### 代入を含む演算の色々な例
a = 13
b = 5
c = a + 2 # 右辺の13+2の結果が左辺のcに代入される
print(c) # 出力:15
c = a - b
print(c) # 出力:8
c = 3 * a
print(c) # 出力:65
c = a / b
print(c) # 出力:2.6
c = a / b - 3 # 演算子の優先度は通常の数学計算と同様
print(c) # 出力: -0.4
c = a / (b - 3) # 括弧を使って優先順位を明確にするのも数学と同様
print(c) # 出力: 6.5
a = 10
a = a + 1 # aの値を1増やす(aの元の値を用いて右辺の計算を行い,その値をaに改めて代入する)
print(a) # 出力: 11
b = 3
b = 2 * b - 1
print(b) # 出力: 5
※ a = a + 1
を a += 1
とする記法もある.
◆ サンプルコード
Sample 1-1
ユーザに名前を文字列として入力させ,挨拶文を出力する.
学習項目:print(),input(),文字列型の変数,文字列の連結
namae = input("君の名は?")
aisatsu = "こんにちは," + namae + "さん!"
print(aisatsu)
Sample 1-2
ユーザに生年を整数値として入力させ,年齢を出力する.
学習項目:整数型の変数,型変換,基本的な算術演算
seinen = input("生まれた年(西暦)は?")
seinen = int(seinen)
nenrei = 2024 - seinen
print("あなたは"+str(nenrei)+"歳です")
Sample 1-3
ユーザに円の半径を実数値として入力させ,円周と面積を出力する.
学習項目:浮動小数点型の変数,算術演算
hankei = input("半径は?")
hankei = float(hankei)
PI = 3.14
ensyu = 2 * PI * hankei
menseki = PI * (hankei ** 2)
print("円周は" + str(ensyu) + "で,面積は" + str(menseki) + "です.")
◆ 練習問題
このページで学んだことを利用して,次のようなコードを書いてみよう.
演習①-1
半径を入力すると,円周の長さと面積を出力する.ただし,円周率は3.14とする.
pi = 3.14
# 入力
hankei = float(input("円の半径を入力してください: "))
# 円周の長さと面積の計算
ensyu = 2 * pi * hankei
menseki = pi * (hankei ** 2)
# 出力
print("半径"+str(hankei)+"の円について")
print("円周の長さ:"+str(ensyu))
print("面積:"+str(menseki))
演習①-2
底辺と高さを入力すると,三角形の面積を出力する.
# 入力
base = float(input("三角形の底辺の長さを入力してください: "))
height = float(input("三角形の高さを入力してください: "))
# 面積の計算
area = 0.5 * base * height
# 出力
print(f"底辺が {base}、高さが {height} の三角形の面積は {area:.2f} です。")
演習①-3
入力した数字が,7以上9256未満の場合にはTrueと出力する.
# 入力
number = float(input("数字を入力してください: "))
flag = (7 <= number and number < 9256)
print(flag)
※ Pythonでは,7 <= number and number < 9256
を7 <= number < 9256
と書くことができる.