Python3-python-variable-types
Python 3-変数タイプ
変数は、値を保存するために予約されたメモリの場所に他なりません。 つまり、変数を作成するときに、メモリ内にいくらかのスペースを確保します。
変数のデータ型に基づいて、インタプリタはメモリを割り当て、予約メモリに保存できるものを決定します。 したがって、異なるデータ型を変数に割り当てることにより、これらの変数に整数、小数、または文字を格納できます。
変数への値の割り当て
Python変数は、メモリ空間を確保するために明示的な宣言を必要としません。 変数に値を割り当てると、宣言が自動的に行われます。 等号(=)は、変数に値を割り当てるために使用されます。
=演算子の左側のオペランドは変数の名前であり、=演算子の右側のオペランドは変数に格納されている値です。 たとえば-
#!/usr/bin/python3
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print (counter)
print (miles)
print (name)
ここで、100、1000.0、および「John」は、それぞれcounter、miles、およびname変数に割り当てられる値です。 これは、次の結果を生成します-
100
1000.0
John
複数の割り当て
Pythonでは、単一の値を複数の変数に同時に割り当てることができます。
たとえば-
a = b = c = 1
ここでは、整数オブジェクトが値1で作成され、3つの変数すべてが同じメモリ位置に割り当てられます。 複数のオブジェクトを複数の変数に割り当てることもできます。 たとえば-
a, b, c = 1, 2, "john"
ここでは、値1と2の2つの整数オブジェクトがそれぞれ変数aとbに割り当てられ、値「john」の1つの文字列オブジェクトが変数cに割り当てられます。
標準データ型
メモリに保存されるデータには多くの種類があります。 たとえば、人の年齢は数値として保存され、住所は英数字として保存されます。 Pythonには、さまざまな標準データ型があり、それらを使用して可能な操作とそれぞれの保存方法を定義します。
Pythonには5つの標準データ型があります-
- 番号
- ひも
- List
- タプル
- 辞書
Python番号
数値データ型には数値が格納されます。 数値オブジェクトは、値を割り当てると作成されます。 たとえば-
var1 = 1
var2 = 10
*del* ステートメントを使用して、数値オブジェクトへの参照を削除することもできます。 *del* ステートメントの構文は-
del var1[,var2[,var3[....,varN]]]]
*del* ステートメントを使用して、単一のオブジェクトまたは複数のオブジェクトを削除できます。
たとえば-
del var
del var_a, var_b
Pythonは3つの異なる数値型をサポートしています-
- int(符号付き整数)
- float(浮動小数点の実数値)
- 複素数(複素数)
Python3のすべての整数は、長整数として表されます。 したがって、個別の数値タイプはありません。
例
ここに数字のいくつかの例があります-
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3PLUSe18 | .876j |
-0490 | -90. | -.6545PLUS0J |
-0x260 | -32.54e100 | 3ePLUS26J |
0x69 | 70.2-E12 | 4.53e-7j |
複素数は、x+で表される順序付けられた実浮動小数点数のペアで構成されます。 yj、ここでxとyは実数、jは虚数単位です。
Python文字列
Pythonの文字列は、引用符で表された連続した文字セットとして識別されます。 Pythonでは、単一引用符または二重引用符のペアを使用できます。 文字列のサブセットは、スライス演算子([]および[:])を使用して、文字列の先頭の0から始まり、-1から末尾までのインデックスを使用して取得できます。
プラス(+)記号は文字列連結演算子であり、アスタリスク(*)は繰り返し演算子です。 たとえば-
#!/usr/bin/python3
str = 'Hello World!'
print (str) # Prints complete string
print (str[0]) # Prints first character of the string
print (str[2:5]) # Prints characters starting from 3rd to 5th
print (str[2:]) # Prints string starting from 3rd character
print (str * 2) # Prints string two times
print (str + "TEST") # Prints concatenated string
これは、次の結果を生成します-
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Pythonリスト
リストは、Pythonの複合データ型の中で最も汎用性があります。 リストには、コンマで区切られ、角括弧([])で囲まれたアイテムが含まれます。 ある程度、リストはCの配列に似ています。 それらの違いの1つは、リストに属するすべてのアイテムが異なるデータ型である可能性があることです。
リストに格納された値は、リストの先頭の0から始まり、-1の終わりまでインデックスを使用して、スライス演算子([]および[:])を使用してアクセスできます。 プラス(+)記号はリスト連結演算子であり、アスタリスク(*)は繰り返し演算子です。 たとえば-
#!/usr/bin/python3
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/python3
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print (tuple) # Prints complete tuple
print (tuple[0]) # Prints first element of the tuple
print (tuple[1:3]) # Prints elements starting from 2nd till 3rd
print (tuple[2:]) # Prints elements starting from 3rd element
print (tinytuple *2) # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple
これは、次の結果を生成します-
('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/python3
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/python3
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
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])
辞書には、要素間の順序の概念はありません。 要素が「順不同」であると言うのは誤りです。それらは単純に順不同です。
データ型変換
場合によっては、組み込み型の間で変換を実行する必要があります。 型を変換するには、単に型名を関数として使用します。
あるデータ型から別のデータ型への変換を実行するための組み込み関数がいくつかあります。 これらの関数は、変換された値を表す新しいオブジェクトを返します。
Sr.No. | Function & Description |
---|---|
1 |
xを整数に変換します。 xが文字列の場合、baseはベースを指定します。 |
2 |
float(x) xを浮動小数点数に変換します。 |
3 |
complex(real [,imag]) 複素数を作成します。 |
4 |
str(x) オブジェクトxを文字列表現に変換します。 |
5 |
repr(x) オブジェクトxを式文字列に変換します。 |
6 |
eval(str) 文字列を評価し、オブジェクトを返します。 |
7 |
tuple(s) sをタプルに変換します。 |
8 |
list(s) sをリストに変換します。 |
9 |
set(s) sをセットに変換します。 |
10 |
dict(d) 辞書を作成します。 dは(key、value)タプルのシーケンスでなければなりません。 |
11 |
frozenset(s) sをフリーズセットに変換します。 |
12 |
chr(x) 整数を文字に変換します。 |
13 |
unichr(x) 整数をUnicode文字に変換します。 |
14 |
ord(x) 単一の文字を整数値に変換します。 |
15 |
hex(x) 整数を16進数の文字列に変換します。 |
16 |
oct(x) 整数を8進数の文字列に変換します。 |