工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python 変数とデータ型:型の理解と活用

変数とは、値を格納するための予約済みメモリ領域のことです。変数を作成すると、メモリ内に一定のスペースが確保されます。

変数のデータ型に基づいて、インタプリタはメモリを割り当て、予約されたメモリに何を格納できるかを決定します。したがって、変数に異なるデータ型を割り当てることで、整数、小数、文字などをこれらの変数に格納できます。

変数への値の代入

Python の変数は、メモリ領域を予約するために明示的な宣言を必要としません。変数に値を代入すると、宣言が自動的に行われます。等号(=)を使用して変数に値を代入します。

= 演算子の左側のオペランドは変数名、右側のオペランドは変数に格納される値です。例:

ライブ デモ
#!/usr/bin/python
counter = 100          # 整数の代入
miles = 1000.0         # 浮動小数点数
name = "John"          # 文字列
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" の文字列オブジェクトが変数 c に代入されます。

標準データ型

メモリに格納されるデータはさまざまな型があります。たとえば、人の年齢は数値として、住所は英数字として格納されます。Python には、それらのデータに対して可能な操作と格納方法を定義するさまざまな標準データ型があります。

Python には 5 つの標準データ型があります。

Python の数値型

数値データ型は数値を格納します。値を代入すると数値オブジェクトが作成されます。例:

var1 = 1
var2 = 10

del 文を使用して、数値オブジェクトへの参照を削除することもできます。del 文の構文は:

del var1[,var2[,var3[....,varN]]]]

del 文を使用して単一のオブジェクトまたは複数のオブジェクトを削除できます。例:

del var
del var_a, var_b

Python は 4 種類の数値型をサポートしています。

数値の例

数値の例をいくつか示します。

intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3+e18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.53e-7j

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"  # 連結された文字列を出力

次の結果が得られます。

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           # 完全なリストを出力
print list[0]        # リストの最初の要素を出力
print list[1:3]      # 2番目から3番目までの要素を出力
print list[2:]       # 3番目から末尾までの要素を出力
print tinylist * 2   # リストを2回繰り返し
print list + tinylist # 連結されたリストを出力

次の結果が得られます。

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

Python のタプル

タプルはリストと似たシーケンスデータ型です。タプルはカンマで区切られた複数の値で構成されます。しかしリストとは異なり、タプルは丸括弧で囲みます。

リストとタプルの主な違い:リストは角括弧([ ])で囲まれ、要素とサイズを変更できますが、タプルは丸括弧(( ))で囲まれ、更新できません。タプルは読み取り専用のリストと考えることができます。例:

ライブ デモ
#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print tuple           # 完全なタプルを出力
print tuple[0]        # タプルの最初の要素を出力
print tuple[1:3]      # 2番目から3番目までの要素を出力
print tuple[2:]       # 3番目から末尾までの要素を出力
print tinytuple * 2   # タプルの内容を2回出力
print tuple + tinytuple # 連結されたタプルを出力

次の結果が得られます。

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

次のコードはタプルでは無効です。タプルの更新を試みたためです(タプルでは許可されていません)。リストでは同様の操作が可能です。

#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
list = ['abcd', 786, 2.23, 'john', 70.2]
tuple[2] = 1000  # タプルでは無効な構文
list[2] = 1000   # リストでは有効な構文

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']      # 'one' キーの値を出力
print dict[2]          # 2 キーの値を出力
print tinydict         # 完全な辞書を出力
print tinydict.keys()  # すべてのキーを出力
print tinydict.values() # すべての値を出力

次の結果が得られます。

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

辞書には要素間の順序の概念がありません。要素が「順不同」であると言うのは正しくありません。単に順序がないだけです。

データ型変換

組み込み型間で変換を実行する必要がある場合があります。型間の変換を行うには、型名を関数として使用するだけです。

あるデータ型から別のデータ型へ変換するための組み込み関数がいくつかあります。これらの関数は、変換された値を表す新しいオブジェクトを返します。

番号関数と説明
1

int(x [,base])

x を整数に変換。base は x が文字列の場合の基数を指定。

2

long(x [,base])

x を長整数に変換。base は x が文字列の場合の基数を指定。

3

float(x)

x を浮動小数点数に変換。

4

complex(real [,imag])

複素数を作成。

5

str(x)

オブジェクト x を文字列表現に変換。

6

repr(x)

オブジェクト x を式文字列に変換。

7

eval(str)

文字列を評価してオブジェクトを返す。

8

tuple(s)

s をタプルに変換。

9

list(s)

s をリストに変換。

10

set(s)

s をセットに変換。

11

dict(d)

辞書を作成。d は (key, value) タプルのシーケンスでなければならない。

12

frozenset(s)

s をフローズンセットに変換。

13

chr(x)

整数を文字に変換。

14

unichr(x)

整数を Unicode 文字に変換。

15

ord(x)

1 文字をその整数値に変換。

16

hex(x)

整数を16進数文字列に変換。

17

oct(x)

整数を8進数文字列に変換。

Python

  1. C# 変数とプリミティブデータ型:完全マスターガイド
  2. C++変数・リテラル・定数完全ガイド:基礎から実践まで
  3. C言語変数・定数・リテラル完全ガイド
  4. C言語ストレージクラス完全理解:スコープ・ライフタイム・パフォーマンス
  5. C++変数とデータ型:int、double、char、string、boolを徹底解説
  6. Python 変数・定数・リテラル: 包括的ガイド
  7. Python データ型マスター: 実践ガイド
  8. Python 演算子完全マスター: 包括的ガイド
  9. Python グローバル・ローカル・非ローカル変数を理解する
  10. Python globalキーワード完全マスター: 使い方とタイミング
  11. Python辞書完全ガイド:作成、操作、高度なテクニック