Pythonの変数には文字型や数値型といった様々なデータ型が存在する

Pythonの変数には文字型や数値型といった様々なデータ型が存在する。C言語などでは、値を代入する前にデータ型を事前に定義する必要があるが、Pythonでは自動的にデータ型が決定される。この自動的にデータ型が決定される仕組みを「動的型付け」と呼ぶ。動的型付けの仕組みとして、次の式で変数"d1" は数値型に。変数"d2" は文字型として扱われることになる。

a = 1

b = "Hallo world"

print(a, b)

実行結果

1 Hallo world

 

つまり、Pythonが動的型付け言語であるため、初期値「1」と「Hallow」という値をPython自身が何型であるかを判断することになる。次のサンプルコードの結果は51となる。

a = 1

b = 50

print(a+b)

実行結果

51

 

一方で、次のように記述すると、Pythonは変数"a"と変数"b"を文字列とみなし、加算ではなく「結合」することで、結果は「150」となる。

a = "1"

b = "50"

print(a+b)

実行結果

150

 

しかし、次のコードのように数値型と文字型では、データの型が異なるので、演算も結合もできずにエラーとなる。

a = 1       # 数値型

b = "2"     # 文字型

print(a+b)

実行結果

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

変数内のデータを削除するには、次のコードのように「del」を使用するが、変数内データの削除を行うことで、メモリが解放され、ptint()で表示させようとすると型が不明であることからエラーとなる。

dat = 10

del dat

print(dat)

実行結果

NameError: name 'dat' is not defined


このブログの人気の投稿

片貝の四尺玉は世界一を連呼する『片貝賛歌~希望の花~』を作詞しました!!

小論文 統計的因果推論の現場適用による排泄ケアの展望

論文 排泄ケアにおける尊厳の保持と社会システムの課題 ~「おむつ」をめぐる心理的・文化的考察~