---
# System prepended metadata

title: '変数（へんすう、英: variable）'
tags: [Python]

---

# 変数（へんすう、英: variable）
###### tags: `Python`
数値や文字列などのデータ類をまとめて「値(あたい)」と呼びます。同じ値を複数(ふくす)箇所(かしょ)で何度も使う場所、事前(じぜん)に繰り返し使うことが分かっている値は、「変数」に入れておきましょう。

```python=
x = 1
text = 'Python' 
```
## 変数の命名規則
1. 小文字の英字(a〜z)、大文字の英字(A〜Z)、数字(0〜9)、アンダースコア(_)を組み合わせて付ける。
2. 数字は変数の名前の先頭には使えません。
3. 英語の小文字と大文字は区別します。
4. 予約語は使えません。
* ### 有効な名前
```
i
sum
_var_
__123b
a1
```
* ### 無効な名前
```
123abc // 先頭が数字
$val // 記号が使用されている
sum number // スペースが使用されている
int // 予約語
```
* ### 予約語の取得
```
>>> import keyword
>>> keyword.kwlist 
```
---
## データタイプ
Pythonでのデータタイプで頻繁に利用されている種類は以下の7つです。
| 型名 | データタイプ | 例 |
| -------- | --------  | -------- |
| int   | 整数（数値）  | 0、10、1500、-2|
| float | 浮動小数点数（数値）| 1.5、-2.7、8.0|
| str    | 文字列      | "python" 、'プログラム'     |
| bool   | 真偽値      | True、False     |
| list   | リスト      | [5, 10, 77, 40, 100]     |
| tuple  | タプル      | (1, 2, 3, 4, 5)     |
| dist   | 辞書       | 	{“one”:1, “two”:2, “three”:3}     |

* ### 整数(int)
int型は整数の数値です。小数点を含まない0や、正の数、負の数になります。
```python=
val = 77
a = 0
num = -100
```
* ### 浮動小数点数（ふどうしょうすうてんすう）(float)
float型は小数点の数値です。
*整数の「5」でも「5.0」と書きます。
```python=
val = 12.8
a = 0.0
num = -2.5
val_b = 5.0
```
* ### 文字列(str型)
文字列は、'python', "プログラム"のように文字列にしたい言葉の両側に「"」や「'」をつけます。
*「3.14」は数字で、「'3.14'」は文字列です。
```python=
a = 'python'
b = "python"
pi = '3.14159'
absolute_zero = "-273.15"
```
* ### 真偽値(bool型)
真偽値とは真(True)か偽(false)を判断するものです。
```python=
a = True
b = False
```
### オブジェクトの型の判定
変数が今どのデータタイプになっているのかを確認するための関数にtype関数が用意されています。

``` python=
val_i = 7
val_f = 0.5
val_s = 'python'
val_b = False
print(type (val_i))
print(type (val_f))
print(type (val_s))
print(type (val_b))
```
**Results:**
```
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
```
## None
表示空值。python中只有一個None物件，用 == 比較時None只等於自身。
```python=
None == None 
>>> True
```
* 若function沒辦法回傳值，會回傳None。
* 當作佔位符號(place holder)，表示資料結構中的欄位還沒有明確的數值。





***
附註
* リスト(list型)
* タプル(tuple型)
* 辞書(dist型)

參考
https://dot-blog.jp/news/python-object-type/
https://www.headboost.jp/python-how-to-check-variable-types/
https://snowtree-injune.com/2018/08/23/data-type/#toc4
***



