これまでの記事ではすでに変数を使って簡単なコードを作成してきました。
今回の記事では、あらためて変数について詳しく解説します。
変数とは?
変数とは値や文字列を保管する箱のようなもので、変数の便利な点は変数を使って式を書けるという点です。
例えば、「110*3」という計算式が書いてあっても、これだけでは何を意味しているかはわかりません。しかし、それぞれが「USDJPY」「LOT」という変数に代入されていれば式の意味が理解できます。
また、変数「USDJPY」「LOT」の代入値が変動したり、決まっていなくても式を書くことができます。
変数を使う最大の利点は、「USDJPY」が「110」以上の場合、「LOT」は「1」にするというように、条件分岐などを組み込むなどアルゴリズムが書けるようになる点です。
Pythonで変数を作成する
Pythonの変数作成には他のプログラミング言語のように宣言文は必要ありません。
任意の変数名を作成し、「=」を使って値を代入することで変数を設定することが可能です。
代入に使う「=」は代入演算子といいます。
Pythonにおける変数名のルール
変数名は半角英数字と「_(アンダースコア)」を使います。平仮名や漢字なども使うことができますが、一般的には使用しません。
また、変数名にはaやbといったその変数が何を意味するか分からない名前にせず、代入する値が何を意味するかが分かる名前にすることをお勧めします。
変数名をわかりやすい名前にすることで、コードをが読みやすくなり、コードの確認や修正作業が簡単になります。
変数名を付けるときにはルールがあり、このルールを理解して名前を付ける必要があります。
変数名には演算子や記号は使えない
Pythonでは変数名に「+」「-」「&」「[」「/」「%」「(」「{」「#」などの演算子や記号は使えません。
#使えない変数名の例
USD/JPY,stop-loss,profit%,{a},S&P500,GC1!
変数名の先頭に数字は使えない
Pythonでは変数名の一文字目に数字は使えません。
#使えない変数名の例
225nikkei,9984softbank,9437NTT,9433KDDI,6758SONY,20SMA.40EMA
大文字と小文字は区別される
Pythonでは変数名の大文字と小文字は区別され、別の変数として扱われます。
#大文字と小文字は区別される変数名の例
USDJPY,usdjpy
予約語は使えない
予約語とはand,not,import,ifなどあらかじめプログラミング言語として仕様が決められている文字列のことで、これらは変数として使用することはできません。
#変数に使えない予約語
and,or,not,if,in,is,for,from,else,elseif,True,False,try,with,while,assert,break,class,def,None,nonlocal,pass,raise,return,yield
変数に値を代入する
これまで変数に値を入れて簡単な計算を行ってきましたが、変数に値を代入すると値がどのように受け渡されるか確認しておきましょう。
accountに100000を代入し、この変数の中身を確認してみます。
balance = 100000
print(balance)
このコードを実行すると「100000」となり、「balance」に「100000」が入っていることが確認できました。
では、「balance」を他の変数に代入するとどうなるでしょうか?
balance = 100000
account = balance
print(account)
このコードを実行すると「balance」ではなく「100000」が表示されます。
「balance」に代入されていた値はどうなったのかも確認してみましょう。
balance = 100000
account = balance
print(balance)
このコードを実行すると「100000」が表示されます。つまり、代入は値を移し替えているわけではないことがわかります。
複合代入演算子
複合代入演算子とは、変数への代入と演算の両方を実行することを言います。
複合代入演算子の実行例を見てみましょう。
以下のコードでは変数「lot」に「5」が代入されていますが、2行目のコードでは同じ変数の「lot」が左辺右辺にあり、加えて+演算子を付け加えています。このコードではどのような計算が実行されているのでしょうか?
#複合代入演算子の実行例
lot = 5
lot = lot + 1
print(lot)
このコードを実行すると「6」が表示されます。
このコードの処理順序は「=」より先に「+」演算子が実行され、「lot+1」の結果「6」が変数「lot」に代入されます。このように、変数への「代入」と「演算子」を両方行っていることがわかります。
また、複合代入演算子は以下のコードのように「+=」を使って書き換えることもできます。
#複合代入演算子「+=」を使用した例
lot = 5
lot += 1
print(lot)
複合代入演算子の種類
複合代入演算子は先ほどの「+=」以外に以下の種類があります。
複合代入演算子 | 説明 |
+= | 変数に値を足す |
-= | 変数から値を引く |
*= | 変数に値を掛ける |
/= | 変数を値で割る |
//= | 変数を値で割った整数を代入 |
%= | 変数を値で割った余りを代入 |
**= | 変数と値のべき乗 |
今回のまとめ
・変数には代入演算子「=」を使って代入する。
・変数名の一文字目には数字は使えない。
・変数名には記号は使えない。
・変数名の大文字小文字は区別される。
・変数名には予約語は使えない。
・複合代入演算子を使うと変数の値を変えることができる。
コメント