Python3-python-variable-types

提供:Dev Guides
移動先:案内検索

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
  • int(x [,base])*

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進数の文字列に変換します。