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種類のデータ型:
  • Number(数値)
  • String(文字列)
  • List(リスト)
  • Tuple(タプル)
  • Dictionary(辞書)
  • 注意:上記の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(ロングフォーム)
  • 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で、順番に類推します.プラス記号(+)は文字列接続演算に使用し、アスタリスク(*)は文字列繰り返しに使用します.
    テストの例:
    >>> 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の変数タイプについて、基本的なデータ型の定義と基本的な使い方をご紹介しますので、後で詳しく説明します.