第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
上記の例では、整数0と123、文字列"" と"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