BACK

HOOPSII MOBILE

HOME

第6回 基本的な型とオブジェクト


1.基本的な型

第5回までに文字列や数値を簡単に扱いました。
これらのデータ以外にもPythonではさまざまなデータを扱うことができます。
次の図は、基本的な型を分類したものです。
基本的な型を分類した図
Noneという型は、"なにもない"ことを示す定数です。
それ以外の型の詳細については、以降の回にて説明していきます。

2.明示的な型変換

とある型を異なる型に変換することができます。
次のプログラムは、str関数を使って、数値型を文字列に変換した例です。
型名は、type関数で取得できます。
関数はprint文のように特定の機能を提供するものです。

# coding: utf-8

a = 123
print(a)
print(type(a))

#数値型を文字列へ変換
a = str(a)

print(a)
print(type(a))

実行結果

123
<type 'int'>
123
<type 'str'>

<type 'int'>は整数型を示しています。
<type 'str'>は文字列を示しています。
したがって、整数型から文字列へ変換したことがわかります。

3.すべての型はオブジェクト

Pythonでは、数値型、文字列などさまざまな型を扱うことができます。
これらすべての型は「オブジェクト」として表現されます。
さらにPythonでは、型に限らず、関数も、クラスも、コード自体も、オブジェクトとなります。
関数とクラスの詳細ついては以降の回にて説明していきます。

オブジェクトは識別ができ、id関数にて識別する値を取得できます。

# coding: utf-8

a = 10
print(id(a))

実行結果

157794372

実行結果の値が、オブジェクトを識別する値です。
Pythonの変数は、この値を保持するだけです。
変数を定義するときに、型の宣言が必要ないのはそのためです。

4.変更可能・不可能なオブジェクト

オブジェクトには変更可能なものと、変更不可能なものがあります。
次のプログラムは数値型の値を更新した場合です。

# coding: utf-8

a = 10
print(id(a))

# 値の更新
a += 1

print(id(a))

実行結果

144240708
144240696

プログラム中の「a += 1」で、変数aの値を更新しています。
実行結果より、更新前と更新後で、変数aの参照する値が異なってしまいます。
したがって、数値型は変更不可能なオブジェクトだとわかります。

次の表は、主な変更可能・変更不可能なオブジェクトの一覧です。

変更可能なオブジェクト 変更不可能なオブジェクト
リスト タプル
セット フローズンセット
辞書 数値型
文字列
ブール型

Copyright (C) 2011 ほぷしぃ. All Rights Reserved.