Contents
Python変数の型
変数は、値を格納するために予約されたメモリ位置(ハコ)にすぎません。これは、変数を作成するときにメモリ内にある程度のスペースを確保することを意味します。
変数のデータ型に基づいて、インタープリタはメモリを割り当て、予約メモリに格納できるものを指定します。したがって、変数に異なるデータ型を割り当てることにより、これらの変数に整数、小数点または文字を格納します。
変数への値の代入
Python変数は、メモリ空間を確保するために明示的に宣言する必要はありません。宣言は、変数に値を代入すると自動的に行われます。等号(=)は、変数に値を割り当てるために使用されます。
=演算子の左側のオペランドは変数の名前で、=演算子の右側のオペランドは変数に格納された値です。例えば -
#!/usr/bin/python counter = 1000 # An integer assignment miles = 1000.0 # A floating point name = "TOM" # A string print counter print miles print name
ここで、1000,1000.0および “TOM”はそれぞれcounter、mile、およびname変数に割り当てられた値です。このようにプリントされましたか?
1000 1000.0 TOM
複数の文字の割り当て
Pythonでは、1つの値を複数の変数に同時に割り当てることができます。例えば -
a = b = c = 1
ここでは、整数オブジェクトが値1で作成され、3つの変数すべてが同じメモリ位置に割り当てられます。複数のオブジェクトに複数の変数を割り当てることもできます。例えば -
a,b,c = 1,2,"TOM"
ここでは、値1と2の2つの整数オブジェクトがそれぞれ変数aとbに割り当てられ、値「TOM」を持つ1つの文字列オブジェクトが変数cに割り当てることができます。
a = 1 b = 2 c = TOM
標準データ型
メモリに格納されるデータは、多くの種類があります。たとえば、年齢は数値として格納され、その人の住所は英数字で格納されます。Pythonには、可能な操作を定義するために使用されるさまざまな標準データ型と、それぞれの格納方式があります。
Pythonには5つの標準データ型があります。
- 数字
- 文字列
- リスト
- タプル
- dictionaliy
Pythonの番号
数値データ型は数値を格納します。Numberオブジェクトは、値を代入すると作成されます。例えば -
var1 = 1 var2 = 20
また、delステートメントを使用して数値オブジェクトへの参照を削除することもできます。delステートメントの構文は次のとおりです。
del var1[,var2[,var3[....,varN]]]]
delステートメントを使用すると、単一のオブジェクトまたは複数のオブジェクトを削除できます。例えば -
del var del var_a, var_b
Pythonは4つの異なる数値型をサポートしています –
- int(符号付き整数)
- long(長い整数、8進数と16進数で表すこともできます)
- float(浮動小数点実数)
- Complex(複素数)
例
数字の例をいくつか挙げます –
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 | -4721885298529L | 70.2-E12 | 4.53e-7j |
- Pythonでは、小文字のlをlongで使うことができますが、数字1との混同を避けるため大文字のLだけを使うことをお勧めします。Pythonは大文字のLを持つ長い整数を表示します。
- 複素数は、x + yjで示される実数の浮動小数点数の順序付きペアで構成されます。ここで、xとyは実数、jは虚数単位です。
Pythonの文字列
Pythonの文字列は、引用符で囲まれた連続する文字セットとして識別されます。Pythonでは、一重引用符または二重引用符のいずれかを使用できます。文字列のサブセットはスライス演算子([]と[:])を使用して取得できます。インデックスは文字列の先頭で0から始まり、最後に-1から始まります。
プラス(+)記号は文字列連結演算子で、アスタリスク(*)は繰り返し演算子です。例えば -
#!/usr/bin/python str = 'Hello World!' print str # 全部出力 print str[0] # 最初の一文字 print str[2:5] # 3~5番目の文字 print str[2:] # 3文字目から print str * 2 # 2回表示 print str + "TEST" # 対象の文字+TEST
これにより、次の通りになります。
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
Pythonリスト
リストは、Pythonの複合データ型の中で最も汎用性の高いものです。リストには、コンマで区切られ、角括弧([])で囲まれた項目が含まれています。ある程度は、リストはCの配列と似ています。それらの違いの1つは、リストに属するすべてのアイテムが異なるデータ型である可能性があることです。
リストに格納された値には、スライス演算子([]と[:])を使用してアクセスできます。インデックスはリストの先頭で0から始まり、-1を終えるように処理されます。プラス(+)記号はリスト連結演算子で、アスタリスク(*)は反復演算子です。例えば -
#!/usr/bin/python list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # Prints complete list print list[0] # Prints first element of the list print list[1:3] # Prints elements starting from 2nd till 3rd print list[2:] # Prints elements starting from 3rd element print tinylist * 2 # Prints list two times print list + tinylist # Prints concatenated lists
これにより、次の結果が得られます。
['abcd', 786, 2.23, 'john', 70.200000000000003] abcd [786, 2.23] [2.23, 'john', 70.200000000000003] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
Pythonタプル
タプルは、リストに類似した別のシーケンスデータ型です。タプルは、コンマで区切られた複数の値で構成されます。リストとは異なり、タプルはカッコで囲まれています。
リストとタプルの主な違いは次のとおりです。リストはカッコ([])で囲まれ、要素とサイズは変更できますが、タプルはカッコ(()で囲まれて更新できません。タプルは読み取り専用リストと考えることができます。たとえば –
#!/usr/bin/python Alist = ( 'abcd', 786 , 2.23, 'john', 70.2 ) Blist = (123, 'john') print Alist # 通常通り変換される print Alist[0] # リスト内の最初の文字のみ print Alist[1:3] # リスト内の2~3番目の文字のみ print Aliste[2:] # 3番目から print Blist * 2 # 二回繰り返す print Alist + Blist # Alist + tinytuple リスト両方あらわす
これはつぎのようになります
('abcd', 786, 2.23, 'john', 70.200000000000003) abcd (786, 2.23) (2.23, 'john', 70.200000000000003) (123, 'john', 123, 'john') ('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')
次のコードは、タプルを更新しようとしたため無効です。タプルは許可されていません。同様のケースがリストで可能です –
#!/usr/bin/python tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Invalid syntax with tuple list[2] = 1000 # Valid syntax with list
Python辞書
Pythonの辞書は、ハッシュテーブル型のようなものです。これらは、Perlで見つかった連想配列やハッシュのように機能し、キーと値のペアで構成されます。ディクショナリキーはほとんどすべてのPython型ですが、通常は数字または文字列です。一方、値には任意のPythonオブジェクトを使用できます。
辞書は中括弧({})で囲まれており、値には大括弧([])を使用して値を割り当ててアクセスできます。例えば -
#!/usr/bin/python dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'john','code':6734, 'dept': 'sales'} print dict['one'] # Prints value for 'one' key print dict[2] # Prints value for 2 key print tinydict # Prints complete dictionary print tinydict.keys() # Prints all the keys print tinydict.values() # Prints all the values
これにより、次の結果が得られます。
This is one This is two {'dept': 'sales', 'code': 6734, 'name': 'john'} ['dept', 'code', 'name'] ['sales', 6734, 'john']
辞書には要素間の順序の概念がありません。要素が「順不同」であると言うのは間違いです。彼らは単純に順序付けられていない。
データ型変換
場合によっては、組み込み型間の変換を実行する必要がある場合があります。型間を変換するには、単に型名を関数として使用します。
あるデータ型から別のデータ型への変換を実行する組み込み関数がいくつかあります。これらの関数は、変換された値を表す新しいオブジェクトを返します。
関数 | 説明 |
---|---|
int(x [、base]) | xを整数に変換します。baseは、xが文字列の場合はベースを指定します。 |
long(x [、base]) | xを長整数に変換します。baseは、xが文字列の場合はベースを指定します。 |
float(x) | xを浮動小数点数に変換します。 |
complex(real [,imag]) | 複素数を作成します。 |
str(x) | オブジェクトxを文字列表現に変換します。 |
repr(x) | オブジェクトxを式文字列に変換します。 |
eval(str) | 文字列を評価してオブジェクトを返します。 |
tuple(s) | sをタプルに変換します。 |
list(s) | sをリストに変換します。 |
set(s) | sをセットに変換します。 |
dict(d) | 辞書を作成します。dは(キー、値)タプルのシーケンスでなければなりません。 |
frozenset(s) | sをフリーズセットに変換します。 |
chr(x) | 整数を文字に変換します。 |
unichr(x) | 整数をUnicode文字に変換します。 |
ord(x) | 単一の文字をその整数値に変換します。 |
hex(x) | 整数を16進文字列に変換します。 |
oct(x) | 整数を8進文字列に変換します。 |