## Python基本語法 - 1
#### **Gino**
---
#### 認識Python

----

**\\Python他發明的/**
----
### 語言特性
----
**\\code簡潔&人性化/**
```cpp=
/* 長得很醜的C++ */
#include <iostream>
using namespace std;
int main() {
cout << "Hello, world\n";
return 0;
}
```
```python=
# 簡簡單單的Python
print("Hello, world")
```
----
但是...
**/直譯式語言\\ - 讓Python速度慢**

----
**/動態型別語言\\ - 讓Python速度慢**
----
儘管速度這麼慢...
**\\還是很受歡迎/**!
---
### **常用編輯器**
我也好想寫Python ><,但應該用什麼寫呢?
----
記事本寫code + 打指令執行Python

----
~~記事本寫code + 打指令執行Python~~
毒瘤
----
### 這堂課要用的編輯器
----

#### Google Colab
---
## **輸入、輸出、註解**
----
輸出
```python=
print("Hello, world!")
print("Welcome to CRC!")
print("CRC", "is", "the", "best")
```
----

----
讓使用者輸入一行字串
```python
input()
```
----
```python
print(input())
```
把輸入進來的文字原封不動輸出
----
註解
```python=
# 我是單行註解
"""
我是多行
註
解
"""
```
---
## **變數**
----
賦值
```python
x = 12345
```
----
## **常見變數資料型態**
----
整數、浮點數
int, float
```python=
my_int = 123456
my_float = 11.321
```
順帶一提
Python的整數無上限(不像C++)
Python的浮點數誤差有點嚴重
----
字串
str
```python=
my_str = "CRC is the best!"
my_str2= 'CRC is the best!'
```
----
布林值
bool
```python=
my_bool = True
my_bool = False
```
----
## **輸入變數**
----
```python=
# w是字串
w = input()
# x是浮點數
x = input()
x = int(x)
# y是浮點數
y = input()
y = float(y)
```
----
簡化
```python=
# w是字串
w = input()
# x是整數
x = int(input())
# y是浮點數
y = float(input())
```
----
## **輸出變數**
----
```python=
x = 4243
print(x) #4243
```
----
輸出多個東西
```python=
x = 42
y = 43
print(x, y) # 42 43
```
---
## **變數的運算**
----
### **數字**
----
#### 整數
```python=
a = 5
b = 3
print(a + b) # 8
print(a - b) # 2
print(a * b) # 15
print(a / b) # 1.6666666666666667
print(a // b) # 1 (因為 5/3 的整數部分是1)
print(a % b) # 2
print(a ** b) # 125
```
優先順序:
1. **次方**
2. **取餘數**、**除->取整數部分**、**乘除**
3. **加減**
----
算式太長可以加括號
`((5 + 1) * (2 ** 5 - 4) + 3) % 6`
----
#### 浮點數
其實跟整數一樣
但是Python小數誤差很嚴重
```python=
a = 5.1
b = 1.6
print(a + b) # 6.699...
print(a - b) # 3.499...
print(a * b) # 8.16
print(a / b) # 3.187499...
print(a // b) # 3.0
print(a % b) # 0.299...
print(a ** b) # 13.555...
```
----
#### 字串
字串加法 = 接龍
```python=
s = "ABC"
t = "DEF"
print(s + t) # "ABCDEF"
print(s * 3) # "ABCABCABC"
```
----
#### 布林值
```python=
T = True
F = False
print(T and F) # False
print(T or F) # True
print(not T) # False
print((not T) or (T and F)) # False
```
跟中文語法的邏輯一樣
- and(且): 兩個都要成立 -> True
- or (或): 一個成立就可以了 -> True
- not(不): 對,就是"不"
----
比較兩筆資料、變數的關係
```python=
one = 1
two = 2
print(one > two) # False
print(one >= two) # False
print(one == two) # False
print(one <= two) # True
print(one < two) # True
print(one != two) # True
```
字串的比較適用**字典序**
布林值則是 **True > False**
---
{"metaMigratedAt":"2023-06-15T21:04:49.406Z","metaMigratedFrom":"YAML","title":"Python基本語法 - 1","breaks":true,"slideOptions":"{\"transition\":\"fade\",\"spotlight\":{\"enabled\":false}}","contributors":"[{\"id\":\"ac1507e0-f05c-4708-bdd2-c56d13fb0dbb\",\"add\":7535,\"del\":4487}]"}