Pythonで使える変数の種類
PythonはJavaやC言語と異なり変数に変数宣言や型の宣言は不要です。
動的に変数の型は決定されます。
なので、変数は使うときに値を入れて宣言すれば良いことになります。
i = 10
Pythonで使える変数の種類
Pythonでは「数値」「小数」「文字列」「2進数」「8進数」「16進数」「Bool」「リスト」「辞書」「タプル」などが使えます。
数値の変数
数値の変数は初期化、もしくは代入時に数値を指定します。
#数値 i = 10 print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は10です。 iの型は<class 'int'>です。
になります。
※Python2では「long」の値を保持する変数がありましたが、Python3ではintがその役目を負っています。
小数の変数
小数の変数は初期化、もしくは代入時に小数を指定します。
#小数 i = 3.14 print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は3.14です。 iの型は<class 'float'>です。
になります。
文字列の変数
文字列の変数は初期化、もしくは代入時に文字列を指定します。
#文字列 i = "ABC" print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身はABCです。 iの型は<class 'str'>です。
になります。
2進数の変数
2進数の変数は初期化、もしくは代入時に2進数を指定します。
2進数は「0b」を先頭につけて表現します。
#2進数 i = 0b101 print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は5です。 iの型は<class 'int'>です。
になります。
変数としてはintになります。
8進数の変数
8進数の変数は初期化、もしくは代入時に8進数を指定します。
8進数は「0o」を先頭につけて表現します。
#8進数 i = 0o664 print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は436です。 iの型は<class 'int'>です。
になります。
変数としてはintになります。
16進数の変数
16進数の変数は初期化、もしくは代入時に16進数を指定します。
16進数は「0x」を先頭につけて表現します。
#16進数 i = 0x0A print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は10です。 iの型は<class 'int'>です。
になります。
変数としてはintになります。
Boolの変数
Boolの変数は初期化、もしくは代入時にBoolを指定します。
#Bool i = True print( "iの中身は{}です。".format( i )) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身はTrueです。 iの型は<class 'bool'>です。
になります。
変数としてはintになります。
リストの変数
リストの変数は初期化、もしくは代入時にリストを指定します。
初期化する際は「[ ]」で「,」で区切って指定します。
リストの各要素は0相対のインデックスで取得し、リストの長さはlen()で求めることができます。
#リスト i = [ "abc", "123", "+*=-", "あいう", "123" ] print( "iの中身は{}です。".format( i )) print( "i[1]の中身は{}です。".format( i[ 1 ])) print( "iの長さは{}です。".format( len( i ))) print( "iの型は{}です。".format( type( i )))
実行結果は
iの中身は['abc', '123', '+*=-', 'あいう', '123']です。 i[1]の中身は123です。 iの長さは5です。 iの型は<class 'list'>です。
になります。
辞書の変数
辞書の変数は初期化、もしくは代入時に辞書を指定します。
辞書は「{ }」で囲み内容を「キー名:値」と「:」でつないだものを指定します・
#辞書 i = { "名前":"トラスト太郎", "年齢":30, "入社年月日":"2000/04/01", "年齢":40 } print( "iの中身は{}です。".format( i ) ) print( "iの型は{}です。".format( type( i )) )
実行結果は
iの中身は{'名前': 'トラスト太郎', '年齢': 40, '入社年月日': '2000/04/01'}です。 iの型は<class 'dict'>です。
各キーで要素を取り出すには「[]」内にキー名を記述するかget()を使います。
#辞書 i = { "名前":"トラスト太郎", "年齢":30, "入社年月日":"2000/04/01", "年齢":40 } print( i[ "名前" ]) print( i.get( "名前" ))
トラスト太郎 トラスト太郎
キーを追加したりキーの値を変更する際は直接キーを指定します。
#辞書 i = { "名前":"トラスト太郎", "年齢":30, "入社年月日":"2000/04/01", "年齢":40 } print( i ) i[ "年齢" ] = 50 #キーを直接指定すると上書き i[ "体重" ] = 65 #存在しないキーを接指定すると追加 print( i )
{'名前': 'トラスト太郎', '年齢': 40, '入社年月日': '2000/04/01'} {'名前': 'トラスト太郎', '年齢': 50, '入社年月日': '2000/04/01', '体重': 65}
setdefaultメソッドは辞書内にすでに存在するキーの場合は何もせず、キーが存在しない時のみ追加してくれます。
#辞書 i = { "名前":"トラスト太郎", "年齢":30, "入社年月日":"2000/04/01", "年齢":40 } print( i ) i.setdefault( "身長", 180 ) #存在しないは追加する i.setdefault( "年齢", 50 ) #すでに存在するキーは上書きしない print( i )
{'名前': 'トラスト太郎', '年齢': 40, '入社年月日': '2000/04/01'} {'名前': 'トラスト太郎', '年齢': 40, '入社年月日': '2000/04/01', '身長': 180}
「年齢」は変更されず、「身長」が追加されています。
辞書内のキーすべてを取得するにはkeys()を使います。
#辞書 i = { "名前":"トラスト太郎", "年齢":30, "入社年月日":"2000/04/01", "年齢":40 } print( i.keys() ) #辞書内のすべてにキーを取得
dict_keys(['名前', '年齢', '入社年月日'])
タプルの変数
タプルは、リストや辞書型といった複数の要素を管理するデータ型です。
特徴として値の追加、更新、削除はできません。
要素を取り出す場合は「 [] 」でインデックスを指定して取り出します。
#タプル i = ("123", 1, "A", 'b') print( "iの中身は{}です。".format( i ) ) print( "i[1]の中身は{}です。".format( i[1] ) ) print( "iの型は{}です。".format( type( i )) )
iの中身は('123', 1, 'A', 'b')です。 i[1]の中身は1です。 iの型は<class 'tuple'>です。
タプルの要素を変更しようすると
#タプル i = ("123", 1, "A", 'b') i[ 1 ]=2
Traceback (most recent call last): File "main.py", line 3, in <module> i[ 1 ]=2 TypeError: 'tuple' object does not support item assignment
とエラーが発生します。