第3章 基本文法

基本の文法

Pythonでは、変数を定義するために特別な宣言は必要ありません。値を代入することで自動的に新しい変数が作成されます。

# 変数aに数値を代入
a = 10
print(a)  # 10と出力されます


データ型

Pythonには様々なデータ型があります。

整数型(int)

整数を表すデータ型です。

a = 3
b = 4
c = a + b  # 加算
print(c)  # 7


浮動小数点型(float)

実数を表すデータ型です。

x = 3.14
y = 2.71
z = x * y  # 乗算
print(z)  # 約8.51


複素数型(complex)

実数部と虚数部からなる複素数を表すデータ型です。

# 複素数の作成
c = 3 + 4j
print(c)  # (3+4j)

# 実部と虚部
print(c.real)  # 3.0
print(c.imag)  # 4.0

# 複素数の加算
d = 1 + 2j
e = c + d
print(e)  # (4+6j)


文字列型(str)

文字列を表すデータ型です。

s = "Hello, Python!"
print(s)  # Hello, Python!


ブール型(bool)

真偽値(True または False)を表すデータ型です。

is_true = True
is_false = False
print(is_true and is_false)  # False


リスト型(list)

順序付けられた複数の値を一つの変数で扱うデータ型です。

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # apple


タプル型(tuple)

不変の順序付けられた複数の値を一つの変数で扱うデータ型です。

dimensions = (1920, 1080)
print(dimensions[0])  # 1920


セット型(set)

重複を許さない順序のないデータ型です。

unique_numbers = {1, 2, 2, 3, 3, 3}
print(unique_numbers)  # {1, 2, 3}


辞書型(dict)

キーと値のペアを保持するデータ型です。

student = {"name": "Taro", "age": 20}
print(student["name"])  # Taro


型の変換

Pythonでは、データ型を別のデータ型に変換することができます。以下に、いくつかの一般的なデータ型変換について例を示します。

整数型への変換
# 文字列を整数型に変換
s = "123"
n = int(s)
print(n)  # 123

# 浮動小数点数型を整数型に変換
f = 12.34
i = int(f)
print(i)  # 12

上記の例では、文字列"123"を整数型に変換するためにint()関数を、浮動小数点数12.34を整数型に変換するために同じくint()関数を使用しています。


文字列型への変換
# 整数型を文字列型に変換
i = 123
s = str(i)
print(s)  # "123"

# 浮動小数点数型を文字列型に変換
f = 12.34
s = str(f)
print(s)  # "12.34"

上記の例では、整数123と浮動小数点数12.34を文字列型に変換するためにstr()関数を使用しています。


論理型への変換
# 整数型を論理型に変換
i = 0
b = bool(i)
print(b)  # False

i = 123
b = bool(i)
print(b)  # True

# 文字列型を論理型に変換
s = ""
b = bool(s)
print(b)  # False

s = "hello"
b = bool(s)
print(b)  # True

上記の例では、整数0123、文字列"""hello"を論理型に変換するためにbool()関数を使用しています。整数では0がFalse、それ以外がTrueとなります。文字列では空文字列がFalse、それ以外がTrueとなります。


リスト型への変換
# 文字列をリストに変換
s = "hello"
l = list(s)
print(l)  # ['h', 'e', 'l', 'l', 'o']

# タプルをリストに変換
t = (1, 2, 3)
l = list(t)
print(l)  # [1, 2, 3]


タプル型への変換
# 文字列をタプルに変換
s = "hello"
t = tuple(s)
print(t)  # ('h', 'e', 'l', 'l', 'o')

# リストをタプルに変換
l = [1, 2, 3]
t = tuple(l)
print(t)  # (1, 2, 3)


セット型への変換
# 文字列をセットに変換
s = "hello"
st = set(s)
print(st)  # {'h', 'e', 'l', 'o'}

# リストをセットに変換
l = [1, 2, 3, 2, 1]
st = set(l)
print(st)  # {1, 2, 3}

# タプルをセットに変換
t = (1, 2, 3, 2, 1)
st = set(t)
print(st)  # {1, 2, 3}

※セットは順序を保持しないため、変換結果の順序は元のデータと異なる場合があります。


辞書型への変換
# 2つの要素を持つタプルのリストを辞書に変換
l = [('one', 1), ('two', 2), ('three', 3)]
d = dict(l)
print(d)  # {'one': 1, 'two': 2, 'three': 3}


型変換できない場合
# 文字列を整数に変換しようとする
s = "abc"
i = int(s)

ValueError: invalid literal for int() with base 10: 'abc'

# 辞書をリストに変換しようとする
d = {'one': 1, 'two': 2, 'three': 3}
l = list(d)

TypeError: 'dict' object is not callable