特集PC技術

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

サイト内検索

twitterTwitter

最新ブログ記事

2015年06月13日

JavaScriptの情報室

4冊目 ハイブリッドアプリが作れる。tabris.js

2014年10月16日

C++言語学習録

第3回 ファイルを分割してみよう

2014年10月09日

C++言語学習録

第2回 オブジェクト指向の復習

2014年10月02日

C++言語学習録

第1回 C++の開発環境を整える

2014年09月25日

Swiftを試してみようなう。

第4回 Swiftでクラスを使うなう。

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る