---
# System prepended metadata

title: 01_Python資料型別
tags: [python]

---

---
tags: python
---
# 01_Python資料型別
## 變數賦值
```python
# 使用 = 對變數賦值
my_name = 'Eric'
# 使用print()函數將內容印出
print(my_name)
```
>Note: 變數名稱可以自由命名，但要**避免**使用Keywords(保留詞)及Built-in Functions(內建函數)

### 查詢保留詞
```python
import keyword
print(keyword.kwlist)
```
### 查詢內建函數
```python
print(dir(__builtins__))
```
## 使用註解
使用#加入註解，註解將不會被執行
```python
# 印出自我介紹
my_name = 'Eric'
# 註解也可以加在程式後方
print('Hi, I am' + my_name) # 字串可以相加
```
## 資料型別
### 使用type()函數取得變數的型別
```python
my_name = 'Eric'
age = '28'
height = '175.0'
Male = True
print(type(my_name) # str 資料型別為字串
print(type(age) # int 資料型別為整數
print(type(height) # float 資料型別為浮點數
print(type(Male) # bool 資料型別為布林值
```
### 使用input()函數向使用者索取資料
```python
my_name = input('請輸入名字: ')
title = input('請輸入職稱: ')
# f-string是python3.6以上才有的字串格式
intro = f'Hi, 我叫{my_name}是一個{title}'
print(intro)
```
>Note: input()函數所取得的資料型別都是str，如果索取的資料還要用來做數值運算，可用int()或float()函數轉換
```python
my_name = input('請輸入名字: ')
age = int(input('請輸入年齡: ')
intro = f'Hi, 我是{my_name}，明年滿{age + 1}歲'
print(intro)
```
## 數值運算
數值之間可以做加減運算，字串之間也可以。但是數值跟字串之間無法做加減
```python
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.33
# a除以b的商
print(a // b) # 3
# a除以b的餘數
print(a % b) # 1
# a的b次方
print(a ** b) # 1000
```
### 悠遊卡加值及消費
```python
# 開卡100元
card = 100
print(card)
# 御飯糰28元
rice_ball = 28
# 悠遊卡結帳28元
card -= rice_ball # card = card - rice_ball
print(card)
# 悠遊卡儲值500元
top_up = 500
# 儲值成功
card += top_up # card = card + top_up
print(card)
```
> Note: card += 500 等同於先儲存於card的值取出來，加上500後，再賦值回card變數
## 判斷運算符號
判斷式會回傳一個布林值
```python
a = 11
b = 5
a > b # True
a >= b # True
a < b # False
a <= b # False
# a儲存的值是否等於b儲存的值
a == b # False
# a儲存的值是否不等於b儲存的值
a != b # True

c = 3
# and判斷運算符號用於判斷多個條件是否都是True
a > b and a > c # True
# or判斷運算符號用於判斷多個條件是否任一為True
a > b or a == c # True
# not判斷運算符號用於反轉True或False
not True # False
```


> Written with [StackEdit](https://stackedit.io/).
<!--stackedit_data:
eyJoaXN0b3J5IjpbNjk5MjkyNDldfQ==
-->