---
# System prepended metadata

title: Python常用語法(1)
tags: [Python基礎教學]

---

# Python常用語法(1)

### ***python學起來並不難，難是難在讓你把教學看完***

### ***by 幻宇***

## 註解
在開始之前先來講一下怎麼在程式碼中插入註解，來方便我們閱讀，插入註解時只要在註解前面打上`#`，程式就會判斷`#`後面的內容不是程式碼，該功能只限與`#`的那一行
```python
print("Hello, World!")
# 輸出:Hello, World!
```
這樣可以讓我們更直觀的了解到程式碼的功能

## 變數

### 變數命名規則:
- 變數名稱只能用**字母**、**數字**和**底線**
- **第一個字母不能是數字**
- **不能用程式碼保留字**(if、print、for......)

### 變數指派

Python變數不用宣告，依指派值自動設定資料型態。
指派方法:
`變數名稱 = 指派值`
範例:
```python
a = 1
#可以多變數同時指派
a = b = c = 10
#同一行指派多個變數
name, number = ‘huanyu’, 24
```
    
## 文字輸入輸出

### 輸出
使用`print()`函數來輸出
```python
print("Hello, World!")
#也可以用變數
a = 123
print(a)
#123
```

### 輸入

使用`input()`函數輸入，輸入的資料，型態必為**字串(str)**
```python
ans = input("請輸入文字")
```
函數內部也可以不放提示文字

## 資料型態

Python 資料型態有以下三種
- **數值**型態(Numeric Data Types)：整數int、浮點數float、布林值bool
- **字串**型態(String Data Types)：字串str,字元chr
- **容器**型態(Container Types)：列表list,字典dict,元組tuple,集合set

### 型態轉換函數
`int()`:轉為整數
`float()`:轉為浮點數
`str()`:轉為字串
`chr()`:轉為字元

##  運算式與運算子

### 運算式

遵守先乘除後加減，括號內先算等算術規則

### 運算子

這裡只會列出幾種常用的運算子，詳細內容將會整理在下一篇**python運算子(operator)**

- **算數**運算子(Arithmetic Operators)
  `+`、`-`、`*`、`/`
- **比較**運算子(Comparison Operators)
  `==`、`>=`、`<=`、`!=`
- **邏輯**運算子(Logical Operators)
  `and`、`or`、`not`
- **賦值**(**指定**)運算子(Assignment Operators)
  `=`、`+=`、`-=`、`*=`、`/=`
  
## if條件判斷

### if敘述

語法:
```
if 條件式:
    程式區塊
```
條件式後需搭配冒號`：`
程式區塊以縮排方式處理(空四格，也就是一個`Tab`)，同一層縮排視為同一程式區塊
範例:
```python
a = 2
b = 1
if a > b:
    print("a>b")
```

### if...elif...


語法:
```
if 條件式:
    程式區塊
elif 條件式:
    程式區塊
```
`elif`是`else if`的簡寫的功能和`if`相同，必須接在`if`後面，elif`通常用在要判斷的事物不只一種可能結果的時候，而且`elif`可以同時存在好幾個
範例:
```python
a = 2
b = 1
if a > b:
    print("a>b")
elif a < b:
    print("a<b")
```

### if...else...

語法:
```
if 條件式:
    程式區塊
else:
    程式區塊
```
`else`可以解釋為其他，也就是說如果條件式結果都為`False`時就執行`else`底下的程式區塊，也就是所謂的**例外處理**
範例:
```python
a=1
if a==0:
    print("1")
else:
    print("0")
```

### if...elif...else...
將前面三種語法集合在一起的，這裡就不在多做解釋了
範例:
```python
a = 2
b = 1
if a > b:
    print("a>b")
elif a < b:
    print("a<b")
else:
    print("a=b")
```

## for

### for次數迴圈
語法:
```
for 變數 in range(起始值,結束值,間隔值):
    要執行程式碼內容
```
起始值預設為0，間隔值預設為1，兩者皆可省略不設，而變數則會被設為`range()`當時的值，這個變數也可以在迴圈內使用要注意不要和迴圈外的變數混淆
範例:
```python
for i in range(5):
    print(i)
```

### for遍歷迴圈
語法:
```
for 變數 in 序列:
    程式區塊
```
變數會依序設為序列中的元素，序列可為、字串、列表、元組、字典、集合，通常變數會再拿來使用
範例:
```python
for i in "Hello, World!":
    print(i)
```

## while

語法:
```
while 條件式:
    程式區塊
```
和`if`有些類似，差別在於`while`會重複執行程式區塊直到條件式為`False`，程式區塊執行完會回頭檢查條件式是否成立，若條件成立，程式區塊繼續執行，當然，你也可以不放條件式直接放`True`，他就會一直執行，也就是所謂的無限迴圈

範例:
```python
a = 1
b = 2
while a < b:
    print("a < b")
```

## break 迴圈脫離

有時迴圈還未執行完，但因為某些原因要停止迴圈時，我們就會需要用到迴圈脫離的功能，也就是`break`，`break`會讓程式強制脫離當下正在執行的迴圈，但若有多層迴圈的話僅終止`break`所在的迴圈
```python
a = 1
while True:
    print(a)
    a += 1
    if a == 10:
        break
        
for i in range(4):
    for n in range(4):
        if i % 2 == 0:
            break
        print(i)
```

## continue 迴圈跳過

有時迴圈當下在執行的內容並不是我們想要的時候，就可以用迴圈跳過`continue`的功能直接執行下一個迴圈內容
範例:
```python
for i in range(11):
    if i % 2 == 1:
        continue
    print(i)
```

## 實做練習

完成以下條件
1. 做一個簡單的計算機，功能是加減乘除
2. 不須重啟就能一直使用
3. 不要出現沒有回應的情況

運行結果範例:
```
加法代碼:1
減法代碼:2
乘法代碼:3
除法代碼:4
請輸入運算代碼1
請輸入數字1
請輸入數字1
2
請輸入運算代碼
```

## [下一篇](https://hackmd.io/@Huanyu763/Python運算子)
## [回到主頁](https://hackmd.io/@Huanyu763/home)
