はじめに
Pythonの学習に限った話ではないですが、
プログラミングを学び始めると、まず出会うのが
- 変数ってなに?
- データ型?
- 演算子?
という基本的な疑問です。
特に最初のうちは、
「文字列はダブルクォーテーションで囲む」
「数値と文字列の扱いの違いは何?」
「演算子の使い分けがわかりにくい」
と、ちょっとしたことでつまずきがちです。
私自身も、はじめてプログラミング言語を学び始めた頃は
「この式はなぜこうなるの?」
と、「変数」周りで混乱することが多くありました。
しかし、プログラミングをしていくうえで
この「変数」周りについては避けては通れない道です。
この記事では、私が実際にPythonで学んだ
- 変数とデータ型の基本
- 数値や文字列の演算
- 入力の受け取りや文字列整形
といった、Pythonの基礎中の基礎を
わかりやすくまとめています。
この記事はこんな方におすすめです!
- Pythonの変数やデータ型の扱い方を
基本から理解したい方 - 文字列や数値をどう操作するのか、
実際のコードと一緒に知りたい方 +
や*
などの演算子を
どう使えばいいか迷っている方- f-string や ヒアドキュメントといった
便利な記法を学びたい方
第1章:Pythonの変数と基本データ型

変数とは
プログラミングにおいて、
変数は値を保存する「箱」のようなものです。
Pythonで特徴的なのは、
型を指定せずにそのまま代入できる点です。
たとえば、
x = 10 # 整数を代入
y = "Hello" # 文字列を代入
ここで、x
には整数、y
には文字列が入りますが、
Pythonには変数の型を事前に宣言する必要はありません。
これを動的型付けと呼びます。
基本データ型:int, float, str, bool
Pythonでよく使う基本的なデータ型は以下の通りです:
データ型 | 説明 | 例 |
---|---|---|
int | 整数 | 10 , -5 , 0 |
float | 浮動小数点数(小数を含む数) | 3.14 , -0.001 |
str | 文字列 | "hello" , 'Python' |
bool | 真偽値(True/False) | is_valid = True |
それぞれの型に応じて、扱える演算や操作も変わります。
型の自動切り替えと再代入
Pythonでは、変数に別の型の値を代入しても
問題なく動作します。
たとえば、
a = 100 # まず整数
a = "abc" # 文字列に変更OK
このように、変数に入れるデータ型を意識せず扱えるのは、
動的型付けの強みです。
しかし、どのような値でも入れることができるので
バグ(プログラムの欠陥)の要因に
つながりやすくなることもあります。
プログラムを作るときには、変数には
現在どのようなデータが入っているか
を意識しながら作っていくことが大切です。
キーボード入力の受け取り:input()
関数
ユーザーから文字列入力を受け取る際は、input()
を使います。
msg = input("何か入力してください:")
print("あなたが入力したのは:" + msg)
このプログラムでは、
ユーザーに「何か入力してください:」と表示され、
ユーザーがEnterを押すまで入力された内容が、
変数 msg
に代入されます。
その後、
「あなたが入力したのは:"実際に入力された内容"」として
表示がされるといった処理が実施されます。
ただし、input()
が受け取るのは常に文字列になります。
入力された内容を数値として扱う場合は型変換が必要です。
num = int(input("数字を入力してください:"))
print(num + 10) #これは正常に実行される
num = input("数字を入力してください:"))
print(num + 10) #これは実行時エラーになる
エラーになる場合は、"10" + 5
といった状態になっており
文字列と数値の演算は、想定されていないため
実行時にエラーとなってしまいます。
"10"
は人間から見れば数値なのが、一目でわかりますが
Pythonにおいては、引用符(「’」や「"」)で
囲まれたものは文字列として
数値とは厳格に区別されるので注意が必要です。
正常に実行されている行は、int()
で"10"
を10
として数値に変換しているので
問題なく実行されるという仕組みになります。
第2章:数値演算と変数の扱い

Pythonでは、数値や変数に関する基本操作が自由で直感的です。
ここでは 数値リテラルの扱い方 や 演算子の使い方、
そして便利な 代入方法 や 複合代入 を中心にまとめていきます。
数値リテラルは引用符で囲まない
数値(整数や小数)は 引用符なし で表します。
たとえば、
a = 42 # int
b = 3.14 # float
これに対し、"42"
とすると 文字列型(str) になり、
数値としての計算できなくなるので注意が必要です。
算術演算子の基本
Pythonで使える演算子は以下の通りです。
記号 | 意味 |
---|---|
+ | 加算(足し算) |
- | 減算 |
* | 乗算 |
/ | 除算(結果は常に float) |
// | 切り捨て除算(Floor) |
% | 余剰(剰余) |
** | べき乗(指数) |
例として、
print(7 / 2) # 3.5
print(7 // 2) # 3
print(7 % 2) # 1
print(2 ** 3) # 8
/
は浮動小数点を返す//
は結果を小さい方の整数へ切り捨て%
は除算の結果の余りの値**
は累乗
複合代入演算子の便利さ
数値の入った変数の値に対して、追加で数値を更新する際にx = x + 3
のような書き方が基本ですが、
複合代入演算子を使うことで、次のような書き方が可能です。
x = 5
x += 3 # x = x + 3
x *= 2 # x = x * 2
このような複合代入を使うと、コードがすっきりします。
複合代入演算子 | 意味 |
---|---|
+= | x = x + 3 ならx += 3 |
-= | x = x - 3 ならx -= 3 |
*= | x = x * 3 ならx *= 3 |
/= | x = x / 3 ならx /= 3 |
アンパック代入
Pythonでは変数を同時に宣言、代入することができます。
それをアンパック代入と呼び、以下のように利用します。
a, b, c = 1, 2, 3
#aには1
#bには2
#cには3
第3章:文字列の操作とリテラルのテクニック

Pythonの文字列は非常に柔軟で、日常的な操作から
高度な整形までさまざまな機能があります。
この章では、文字列を扱うための
基本となるポイントごとに紹介していきます。
文字列リテラルと演算(+
, *
)
文字列は クォーテーションで囲む 必要があります。
(例:"hello"
または 'hello'
)
文字列では一部の演算子の利用が可能で、+
は文字列の結合、*
は指定回数の繰り返しを行います。
a = "Hello"
b = 'World'
greeting = a + " " + b # "Hello World"
echo = "ha" * 3 # "hahaha"
エスケープシーケンス(\n
, \t
, \\
, \'
, \"
)
文字列内に改行やタブ、特殊記号を含めたいときに使います。
含めたい特殊記号の前に
「\(バックスラッシュ)」をつけることで
含めることができるようになります。
※Windows環境では「¥」が「\」と同意味として
用いられることもあります。
text = "Line1\nLine2\n\tIndented"
quote = "She said, \"Hello!\""
path = "C:\\Users\\nico"
ヒアドキュメント(複数行文字列)
'''
または """
を用いることで、
複数行の文字列を簡潔に記述できます。
doc = """
This is a multi-line string.
It preserves line breaks.
"""
doc = "通常の引用符で #この行でSyntaxErrorとなる
複数行の文字列は
記述できない"
ヒアドキュメントの文字列を表示する場合など、
意図しない先頭・末尾の空白や改行が含まれることもあります。
その場合、ヒアドキュメントや入力値の
不要な空白を取り除くには、.strip()
が便利です。
raw = """
Hello
World
"""
clean = raw.strip()
.strip()
は前後の空白・タブ・改行を削除します。
文字列リテラルの自動結合
複数行にまたがる文字列リテラルを括弧内で改行すると、
自動で結合されます。
long_str = ("A"
"BCDE"
"FG") #ABCDEFGとして扱われる
改行を気にせずつなげられる便利な書き方です。
f‑stringとフォーマット指定子
f-string (f"..."
)は、
変数を型指定付きで埋め込むのに便利です。
name = "nico"
age = 27
pi = 3.14159265
print(f"My name is {name}, age {age}.") [st-br /]#My name is nico, age 27.
print(f"{pi:.2f}") #3.14
{pi:.2f}
のように書くと、
小数点以下2桁にフォーマットされます。
この時の2f
をフォーマット指定子といい、
表示形式のフォーマットを指定することができます。
数値のフォーマット指定子
指定子 | 意味と用途 |
---|---|
d | 10進整数(デフォルト)、例:{num:05d} → 5桁・ゼロ埋め整数 |
n | 10進数、ロケールに応じてカンマ区切りが可能(例:{num:n} ) |
f | 固定小数点表記(例:{pi:.2f} → 3.14) |
% | パーセント表記+%表示(例:{ratio:.1%} → 67.5%) |
e , E | 指数表記(1.23e+04 など) |
b , o , x , X | 2進(b )、8進(o )、16進小文字(x )・大文字(X )表記、# で接頭辞付き表示も可能 |
, | 3桁区切りにするカンマ付き(整数・小数とも可) |
_ | アンスコ区切り(2025年+) |
例:
n = 1234567
print(f"{n:,.2f}") # "1,234,567.00"
print(f"{0.678:.1%}") # "67.8%"
x = 255
print(f"{x:05d}") # "00255"
print(f"{x:#04x}") # "0xff"(0x付きゼロ埋め)
文字列の整列指定
文字列の幅指定や整列を加工することも可能です。
name = "Py"
print(f"|{name:<6}|") # 左寄せ: |Py |
print(f"|{name:>6}|") # 右寄せ: | Py|
print(f"|{name:^6}|") # 中央寄せ: | Py |
第4章:まとめ&次回予告
ここまで、Pythonの基礎中の基礎である
- 変数
- データ型
- 数値や文字列の演算
- 文字列の整形方法
について、私が実際に学んだ内容を紹介してきました。
Pythonはとても柔軟な言語で、
変数に型を明示しなくても使えたり、
f-stringを使えばコードが一気に読みやすくなったりと、
初心者でもスムーズにプログラミングの楽しさを
実感できる仕組みが整っています。
特に、文字列の整形や、複雑な計算式も
f-stringや演算子を駆使すれば短く、わかりやすく記述できます。
日常的な業務の自動化やツール作成にも
応用できそうな感覚を持てるようになってきました。
変数は奥が深く、完璧に理解しきるのは大変ですが、
プログラミングをするためには必ず使う要素です。
IT初心者で独学だと、イメージを掴むのが
難しいポイントでもありますが
「とにかく手を動かして、コードを実行してみること」
が一番の近道だと思っています。
次回は、Pythonの中でも非常に重要なデータ構造である
- リスト(list)
- タプル(tuple)
- ディクショナリ(dict)
- セット(set)
について学びます。
これらは、実際のアプリケーション開発でも
頻繁に扱うデータ構造になります。
データのまとまりを扱う力が身につくと、
Pythonでできることが一気に広がってきます。
▶次回の記事はこちら:
[現在準備中です!少々お待ちください!]