owned this note
owned this note
Published
Linked with GitHub
---
title: Python 新手導覽( 基本功能篇 )
tags: Python, note, guiding
---
# Python 基本功能
[TOC]
## 輸入輸出
> 對於電腦來說 輸出輸入可以透過很多不同的裝置
> 比如 透過鍵盤/ 滑鼠 輸入
> 透過螢幕/ 喇叭輸出 等
> 而現在的輸入 指的就是使用者透過鍵盤(STDIN) 輸入
> 輸出指的就是 螢幕上顯示出的文字(STDOUT)
> (括弧內不用理他 有興趣再去看就好)
> [color=blue]
### input()
> `a = input()` or `a = input('type something')`
> a: str
> [color=blue]
> 透過此函式(數),就能接收使用者輸入的文字(以 enter 結尾)
> 所以當程式執行到 `a = input()`,就會停下來等待鍵盤的輸入資料,直到出現 enter 鍵
> 之後把這一串資料,做為==字串==存到前面的變數中 a
> e.g. 輸入 123 456 之後,變數 `a` 就會變成字串 `'123 456'`
### print()
> `print(content1, c2, c3, sep=' ', end='\n')`
> 最後的結果會像這樣: content1 + sep + c2 + sep + c3 + end
> [color=blue]
> 透過此函式(數),能將資料輸出到螢幕上
> 可以輸出各種形態的資料,輸出兩種資料以上時 請用逗號分隔`print(1, '2')`
> 輸出結果會在資料間加上空白鍵`1 2`
> 若想更改預設的間隔及結尾符號在最後輸入 sep/end 的數值即可
> `print('hello', 'world', sep=' ~ ', end='!\n') # hello ~ world!`
> 補充: `'\n'` 在大部分程式中都是換行字元的意思,所以若要換兩行就是輸出 `'\n\n'`
## 程式架構
> 循序/ 選擇/ 重複 結構是程式最重要的
### if
```python=
if 條件成立:
code...
elif 上面的條件失敗 不過這個條件成功:
code...
else: # 上面都失敗了 就執行他
code
# 離開 if 區塊
```
#### if 這麼多種 怎麼組合才是對的
> ==if + elif(*0~n) + else(*0~1)==
> if
> if + elif
> if 一定要有 放在最前面 | 後面可以加 0~n 個 elif | 最後可以加 else
> \# 可以的意思就是 可加可不加 可不可(X
### for
```python=
for e in range(10):
code...
# 離開 for 區塊
```
### while
```python=
while 條件成立:
code...
# 離開 while 區塊
```
## 型態
### 整數 (int)
`a = 1`
### 浮點數 (小數 float)
`a = 3.23`
可以*特別留意一個問題,程式中的小數並不是完全"精準"的,
有興趣的話可以去搜尋看看 `0.1 + 0.2`
https://0.30000000000000004.com/*
### 字串 (string)
`a = "hello"`
`a = 'hello'`
### 布林 (bool)
`a = True`
`a = False`
## 程式運算
### (數值, 數值) -> 數值
四則運算 + 與除法相關的 `%` 跟 `//` + 次方 `**`
- `+` : 加
- `-` : 減
- `*` : 乘
- `/` : 除
- `%` : 取餘數
- `//` : 整數除法
```
9 除以 4 等於 2 餘 1
等於 2.25
print(9 / 4) -> 2.25
print(9 % 4) -> 2
print(9 //4) -> 1
```
- `**` : 次方
`print(3 ** 2) -> 9`
### (數值, 數值) -> 布林
- `==` : 等於
- `!=` : 不等於
- `<` : 小於
- `<=` : 小於等於 / 不大於
- `>` : 大於
- `>=` : 大於等於 / 不小於
### (布林, 布林) -> 布林
- `and`, `&` -> `if(A and B)`, `if(A & B)`
- `or`, `|` -> `if(A or B)`, `if(A | B)`
- `not`, `!` -> `if(not A)`, `if(!A)`
- `^` : Xor(exclusive or) -> `if(A ^ B)`
#### 真值表補充
*用來表示 `True`, `False` 在經過運算過後,會變為什麼值的表格*
::: spoiler 展開
*以 O 為 `True`,以 X 為 `False`*
| A | B | A and B |
| --- | --- | ------- |
| O | O | ==O== |
| O | X | X |
| X | O | X |
| X | X | X |
| A | B | A or B |
| --- | --- | ------ |
| O | O | O |
| O | X | O |
| X | O | O |
| X | X | ==X== |
| A | not A |
| --- | ----- |
| O | X |
| X | O |
| A | B | A Xor B |
| --- | --- | ------- |
| O | O | O |
| O | X | X |
| X | O | X |
| X | X | O |
:::
## 函式
- 不含輸入、回傳
```python=
def func():
print("Hello, world!")
```
- 輸入
```python=
def func(var):
print('input a', var)
```
- 輸出
```python=
def func1():
return 'the function output'
def func2():
return 123
```