- トップページ
- 特集PC技術
- Pythonを学ぼう
- 第6回 基本的な型とオブジェクト
Pythonを学ぼう
第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の参照する値が異なってしまいます。
したがって、数値型は変更不可能なオブジェクトだとわかります。
次の表は、主な変更可能・変更不可能なオブジェクトの一覧です。
変更可能なオブジェクト | 変更不可能なオブジェクト |
---|---|
リスト | タプル | セット | フローズンセット | 辞書 | 数値型 | 文字列 | ブール型 |
コメントの投稿
トラックバックURL
http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1735