Python変数タイプ
前言
前の記事では、Python環境のインストールとPythonプログラミングの基本的な構文とコードルールについて基本的に理解しました.次に、Pythonの変数付与とPythonの変数のタイプについて説明します.
変数とは
変数は、コンピュータのメモリに開いたメモリ領域で情報を格納します.変数のデータ型に基づいて、解釈器は指定したメモリを割り当て、メモリに格納できるデータを決定します.したがって、変数は、整数、小数、または文字を格納する異なるデータ型を指定できます.字面の意味での定数とは異なり、これらの変数にアクセスできる方法、いわゆる変数名が必要です.
注意:ここでは変数の変数名についても変数ネーミング仕様を満たす必要があります.変数のネーミング仕様については、前編のPythonプログラミングスタイルを参照してください.ここでは説明しません.
へんすうわりあて
Pythonは動的タイプ言語であり、他のプログラミング言語とは異なり、付与前に変数のタイプ宣言を行う必要がありますが、Pythonは変数のタイプを事前に宣言する必要はありません.変数のタイプと値は、割り当てられた時点で初期化されます.変数割り当ては、等号で実行されます.
注意:値を割り当てるのは、他の言語のプログラミング経験に基づいてそうすべきだと思うかもしれませんが、変数に直接値を割り当てるわけではありません.Python言語では,オブジェクトは参照によって伝達される.値を割り当てると、オブジェクトが新しく作成された場合でも、既存のオブジェクトでも、オブジェクトの参照(値ではない)が変数に割り当てられます.
テストの例:
スクリプトに実行権限を追加して実行します.
出力結果:
インクリメンタルわりあて
Python 2.0から、等号は算術演算子と組み合わせて、計算結果を左の変数に再割り当てできます.これをインクリメンタル付与と呼ぶ.
テストの例:
注意:Pythonでは、x++または–xのような前置/後置自増/自減演算はサポートされていません.
たじゅうわりあて
Pythonはまた、x、y、zに割り当てられたオブジェクトの同じメモリ領域参照である多重割り当て操作をサポートします.つまり、1つのオブジェクトを複数の変数に割り当てる操作です.
テストの例:
たじゅうわりあて
もう1つの複数の変数を同時に値を割り当てる方法は、複数のオブジェクトを複数の変数に割り当てることと理解できる多重値(multuple)と呼ばれます.この方法で値を割り当てると、等号の両方の象がメタグループになります.
テストの例:
Pythonデータ型
pythonでは、メモリ領域にデータ型を格納するための空間を開くことができますが、どのような基本的なデータ型が格納できますか?
基本的な5種類のデータ型: Number(数値) String(文字列) List(リスト) Tuple(タプル) Dictionary(辞書) 注意:上記の5つのデータ・ストレージ・タイプについては、ここで簡単に説明します.その後、個別に詳しく説明します.
数値
数値はスカラーの保存と直接アクセスを提供します.変更できないタイプです.つまり、数値の値を変更すると、新しいオブジェクトが生成されます.
テストの例:
数値オブジェクトを削除します.数値オブジェクトは定義できますが、削除することもできます.ここでは、このデータを直接削除するのではなく、この数値オブジェクトの参照をdelすると、新しい数値オブジェクトを再定義しない限り、delの後でこの数値オブジェクト(変数名)を使用することはできません.
テストの例:
数値タイプ
Pythonは、次のような複数のデジタルタイプをサポートします. int(整数) long(ロングフォーム) True/False(ブール型) float(単精度浮動小数点型/二精度浮動小数点型) complex(複数) 注意:Pythonはバージョン2.3からブールタイプをサポートしています.このタイプの値の範囲はブール値Trueとブール値Falseの2つだけです.
インスタンス表:
int
long
float
complex
10
51924361L
0.0
3.14j
100
-0x19323L
15.20
45.j
-786
0122L
-21.9
9.322e-36j
080
0xDEFABCECBDAECBFBAEl
32.3+e18
.876j
-0490
535633629843L
-90.
-.6545+0J
-0x260
-052318172735L
-32.54e100
3e+26J
0x69
-472 1885298529L
70.2-E12
4.53e-7j
注意:整数値の後にL(大文字でも小文字でも構いません)を付けると、この整数が長整数であることを示します.この整数は10進数、8進数、16進数であることができます.大文字「L」で長整数を表し、小文字Lで表記する長整数もサポートされていますが、小文字lを使用することをお勧めします.
文字列
文字列は文字のシーケンスです.文字列は基本的に文字列、数字、下線などのグループで作られた文字です.Pythonでは文字列は引用符の間の文字の集合として定義されています.Pythonでは、ペアの一重引用符または二重引用符を使用することができます.三重引用符(三連続の一重引用符または二重引用符)は特殊文字を含むために使用できます.索引演算子([])を使用します.およびスライス演算子([:])でサブ文字列を得ることができます.文字列には固有のインデックス規則があります.最初の文字のインデックスは0で、最後の文字のインデックスは-1で、順番に類推します.プラス記号(+)は文字列接続演算に使用し、アスタリスク(*)は文字列繰り返しに使用します.
テストの例:
リスト#リスト#
List(リスト)はPythonで最も頻繁に使用されるデータ型である.リストは[]で識別され、中かっこ([])で包むこともでき、要素の個数や要素の値を変えることができる.リストは多くの集合クラスのデータ構造を実現することができる.文字、数字、文字列はリスト(いわゆるネスト)を含むこともできる.スライス演算([]と[:])によってを選択すると、該当するリストを切り取ることができます.これは文字列の使用方法と同じです.左から右への索引のデフォルト0から、右から左への索引のデフォルト-1から、下付き文字は、先頭または末尾を空で表すことができます.プラス記号(+)は、リスト接続演算子で、アスタリスク(*)は、リセット操作です.
テストの例:
メタグループ
メタグループ要素は括弧(())で囲まれており、変更はできません(コンテンツは可能ですが).メタグループは読み取り専用のリストと見なすことができます.文字列の使用方法と同様に、スライス演算([]と[:])でサブセットを得ることができます.
テストの例:
辞書
辞書はPythonのマッピングデータ型で、Perlの関連配列やハッシュテーブルのような動作原理で、キー値(key-value)構成です.ほとんどのタイプのPythonオブジェクトがキーとして使用できますが、一般的には数字や文字列で最もよく使われています.辞書の要素はオフセットアクセスではなくキーでアクセスされ、値は任意のタイプのPythonオブジェクトで、辞書の要素は括弧({})で包まれています.
テストの例:
pythonデータ型変換
データ型を変換する必要がある場合があります.データ型を変換するには、データ型を関数名として使用するだけです.次のいくつかの内蔵関数は、データ型間の変換を実行します.これらの関数は、変換の値を表す新しいオブジェクトを返します.
関数#カンスウ#
説明
int(x [,base])
xを整数に変換
long(x [,base] )
xを長い整数に変換
float(x)
xを浮動小数点数に変換
complex(real [,imag])
複数を作成
str(x)
オブジェクトxを文字列に変換
repr(x)
オブジェクトxを式文字列に変換する
eval(str)
文字列内の有効なPython式を計算し、オブジェクトを返します.
tuple(s)
シーケンスsをメタグループに変換
list(s)
シーケンスsをリストに変換
set(s)
可変集合に変換
dict(d)
辞書を作成します.dはシーケンス(key,value)メタグループでなければなりません.
frozenset(s)
可変集合に変換
chr(x)
整数を1文字に変換
unichr(x)
整数をUnicode文字に変換
ord(x)
文字を整数値に変換
hex(x)
整数を16進数文字列に変換
oct(x)
整数を8進文字列に変換
End
この篇ではPythonの変数タイプについて、基本的なデータ型の定義と基本的な使い方をご紹介しますので、後で詳しく説明します.
前の記事では、Python環境のインストールとPythonプログラミングの基本的な構文とコードルールについて基本的に理解しました.次に、Pythonの変数付与とPythonの変数のタイプについて説明します.
変数とは
変数は、コンピュータのメモリに開いたメモリ領域で情報を格納します.変数のデータ型に基づいて、解釈器は指定したメモリを割り当て、メモリに格納できるデータを決定します.したがって、変数は、整数、小数、または文字を格納する異なるデータ型を指定できます.字面の意味での定数とは異なり、これらの変数にアクセスできる方法、いわゆる変数名が必要です.
注意:ここでは変数の変数名についても変数ネーミング仕様を満たす必要があります.変数のネーミング仕様については、前編のPythonプログラミングスタイルを参照してください.ここでは説明しません.
へんすうわりあて
Pythonは動的タイプ言語であり、他のプログラミング言語とは異なり、付与前に変数のタイプ宣言を行う必要がありますが、Pythonは変数のタイプを事前に宣言する必要はありません.変数のタイプと値は、割り当てられた時点で初期化されます.変数割り当ては、等号で実行されます.
注意:値を割り当てるのは、他の言語のプログラミング経験に基づいてそうすべきだと思うかもしれませんが、変数に直接値を割り当てるわけではありません.Python言語では,オブジェクトは参照によって伝達される.値を割り当てると、オブジェクトが新しく作成された場合でも、既存のオブジェクトでも、オブジェクトの参照(値ではない)が変数に割り当てられます.
テストの例:
#!/usr/bin/env python
#coding:UTF-8
#filename:number.py
number = 2 #
number2 = 10.01 #
number3 = 'hello world' #
print number
print number2
print number3
スクリプトに実行権限を追加して実行します.
[root@localhost python_script]# chmod +x number.py
[root@localhost python_script]# ./number.py
出力結果:
2
10.01
hello world
インクリメンタルわりあて
Python 2.0から、等号は算術演算子と組み合わせて、計算結果を左の変数に再割り当てできます.これをインクリメンタル付与と呼ぶ.
テストの例:
>>> x = 1 #
>>> x = x + 1 # x
>>> print x # x
2
>>> x +=1 # x = x + 1
>>> print x
3
注意:Pythonでは、x++または–xのような前置/後置自増/自減演算はサポートされていません.
たじゅうわりあて
Pythonはまた、x、y、zに割り当てられたオブジェクトの同じメモリ領域参照である多重割り当て操作をサポートします.つまり、1つのオブジェクトを複数の変数に割り当てる操作です.
テストの例:
>>> x = y = z = 1
>>> x
1
>>> y
1
>>> z
1
たじゅうわりあて
もう1つの複数の変数を同時に値を割り当てる方法は、複数のオブジェクトを複数の変数に割り当てることと理解できる多重値(multuple)と呼ばれます.この方法で値を割り当てると、等号の両方の象がメタグループになります.
テストの例:
>>> x,y,z = 1,2,'Carlton'
>>> print x,y,z
1 2 Carlton
Pythonデータ型
pythonでは、メモリ領域にデータ型を格納するための空間を開くことができますが、どのような基本的なデータ型が格納できますか?
基本的な5種類のデータ型:
数値
数値はスカラーの保存と直接アクセスを提供します.変更できないタイプです.つまり、数値の値を変更すると、新しいオブジェクトが生成されます.
テストの例:
>>> number1 = 10
>>> number2 = 20
>>> print number1,number2
10 20
数値オブジェクトを削除します.数値オブジェクトは定義できますが、削除することもできます.ここでは、このデータを直接削除するのではなく、この数値オブジェクトの参照をdelすると、新しい数値オブジェクトを再定義しない限り、delの後でこの数値オブジェクト(変数名)を使用することはできません.
テストの例:
>>> del number1,number2 # ,
>>> print number1 # NameError
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'number1' is not defined
数値タイプ
Pythonは、次のような複数のデジタルタイプをサポートします.
インスタンス表:
int
long
float
complex
10
51924361L
0.0
3.14j
100
-0x19323L
15.20
45.j
-786
0122L
-21.9
9.322e-36j
080
0xDEFABCECBDAECBFBAEl
32.3+e18
.876j
-0490
535633629843L
-90.
-.6545+0J
-0x260
-052318172735L
-32.54e100
3e+26J
0x69
-472 1885298529L
70.2-E12
4.53e-7j
注意:整数値の後にL(大文字でも小文字でも構いません)を付けると、この整数が長整数であることを示します.この整数は10進数、8進数、16進数であることができます.大文字「L」で長整数を表し、小文字Lで表記する長整数もサポートされていますが、小文字lを使用することをお勧めします.
文字列
文字列は文字のシーケンスです.文字列は基本的に文字列、数字、下線などのグループで作られた文字です.Pythonでは文字列は引用符の間の文字の集合として定義されています.Pythonでは、ペアの一重引用符または二重引用符を使用することができます.三重引用符(三連続の一重引用符または二重引用符)は特殊文字を含むために使用できます.索引演算子([])を使用します.およびスライス演算子([:])でサブ文字列を得ることができます.文字列には固有のインデックス規則があります.最初の文字のインデックスは0で、最後の文字のインデックスは-1で、順番に類推します.プラス記号(+)は文字列接続演算に使用し、アスタリスク(*)は文字列繰り返しに使用します.
テストの例:
>>> str1 = 'Python'
>>> iscool = 'is cool!'
>>> str1[0] # str1
'P'
>>> str1[2:5] #
'tho'
>>> str1[:] #
'Python'
>>> iscool[:2] #
'is'
>>> iscool[3:] #
'cool!'
>>> iscool[::2] # [ : : ]
'i ol'
>>> iscool[-1] #
'!'
>>> str1 + iscool # '+' ,
'Pythonis cool!'
>>> str1 + ' ' + iscool # , ,
'Python is cool!'
>>> str1 * 2 # '*'
'PythonPython'
>>> '-' * 20 #
'--------------------'
>>> str1 = """python #
... is cool"""
>>> str1 # /n
'python
is cool'
>>> print str1 # print
python
is cool
リスト#リスト#
List(リスト)はPythonで最も頻繁に使用されるデータ型である.リストは[]で識別され、中かっこ([])で包むこともでき、要素の個数や要素の値を変えることができる.リストは多くの集合クラスのデータ構造を実現することができる.文字、数字、文字列はリスト(いわゆるネスト)を含むこともできる.スライス演算([]と[:])によってを選択すると、該当するリストを切り取ることができます.これは文字列の使用方法と同じです.左から右への索引のデフォルト0から、右から左への索引のデフォルト-1から、下付き文字は、先頭または末尾を空で表すことができます.プラス記号(+)は、リスト接続演算子で、アスタリスク(*)は、リセット操作です.
テストの例:
>>> List = [1,2,3,4] #
>>> List
[1, 2, 3, 4]
>>> List[0] #
1
>>> List[2:] #
[3, 4]
>>> List[:3] #
[1, 2, 3]
>>> List[1] #
2
>>> List[1] = 5 #
>>> List
[1, 5, 3, 4]
>>> List[::2] # [ : : ]
[1, 3]
メタグループ
メタグループ要素は括弧(())で囲まれており、変更はできません(コンテンツは可能ですが).メタグループは読み取り専用のリストと見なすことができます.文字列の使用方法と同様に、スライス演算([]と[:])でサブセットを得ることができます.
テストの例:
>>> tuple = ('zhangsan','lisi','wangwu','carlton')
>>> tuple
('zhangsan', 'lisi', 'wangwu', 'carlton')
>>> tuple[:3] #
('zhangsan', 'lisi', 'wangwu')
>>> tuple[1] #
'lisi'
>>> tuple[1] = 5 # TypeError ,
Traceback (most recent call last):
File "" , line 1, in
TypeError: 'tuple' object does not support item assignment
辞書
辞書はPythonのマッピングデータ型で、Perlの関連配列やハッシュテーブルのような動作原理で、キー値(key-value)構成です.ほとんどのタイプのPythonオブジェクトがキーとして使用できますが、一般的には数字や文字列で最もよく使われています.辞書の要素はオフセットアクセスではなくキーでアクセスされ、値は任意のタイプのPythonオブジェクトで、辞書の要素は括弧({})で包まれています.
テストの例:
>>> dict = {"host":"earth"} #
>>> dict['port'] = 80 # ,key 'port',value 80
>>> dict # , print
{'host': 'earth', 'port': 80}
>>> dict.keys() # .keys() key , ,
['host', 'port']
>>> dict.values() # .values() values ,
['earth', 80]
>>> dict['host'] # key host values
'earth'
pythonデータ型変換
データ型を変換する必要がある場合があります.データ型を変換するには、データ型を関数名として使用するだけです.次のいくつかの内蔵関数は、データ型間の変換を実行します.これらの関数は、変換の値を表す新しいオブジェクトを返します.
関数#カンスウ#
説明
int(x [,base])
xを整数に変換
long(x [,base] )
xを長い整数に変換
float(x)
xを浮動小数点数に変換
complex(real [,imag])
複数を作成
str(x)
オブジェクトxを文字列に変換
repr(x)
オブジェクトxを式文字列に変換する
eval(str)
文字列内の有効なPython式を計算し、オブジェクトを返します.
tuple(s)
シーケンスsをメタグループに変換
list(s)
シーケンスsをリストに変換
set(s)
可変集合に変換
dict(d)
辞書を作成します.dはシーケンス(key,value)メタグループでなければなりません.
frozenset(s)
可変集合に変換
chr(x)
整数を1文字に変換
unichr(x)
整数をUnicode文字に変換
ord(x)
文字を整数値に変換
hex(x)
整数を16進数文字列に変換
oct(x)
整数を8進文字列に変換
End
この篇ではPythonの変数タイプについて、基本的なデータ型の定義と基本的な使い方をご紹介しますので、後で詳しく説明します.