2.Python 基本語法
日期:2024/04/04
2.Python 基本語法
本章節會提及資料型態、資料型態轉換、變數、運算子。
下表示於編輯器
print('Hello world')
下表示於終端機操作
>>> print('Hello world')
2.1 資料型態
我們先建立下列程式,並觀察他們的表示方式。
print(type('Hello world'))print(type(1069))print(type(8.6))print(type(True))
輸出結果,上述的資料形態分別為字串 (str)、整數 (int)、浮點數 (float)、布林值 (bool)。
<class 'str'><class 'int'><class 'float'><class 'bool'>
Python 是動態型別的語言,不需要事先聲明變數的資料形態,Python 會根據變數賦值自動推斷其資料形態。
以下是 Python 中常見的資料形態:
基本型態:
整數 (int): 代表整數值,如
-5,0,100。浮點數 (float): 代表浮點數值,即帶有小數點的數值,如
3.14,-0.001,2.0。字串 (str): 代表文字資料,可以使用單引號
''或雙引號""來表示,如'Hello',"Python",'123'。- 布林值 (bool): 代表 True 或 False 兩種值之一的資料型別。
容器:
列表 (list): 有序的資料集合,可以容納任意類型的元素,並使用方括號
[]來表示,如[1, 2, 'a', True]。元組 (tuple): 類似於列表,但元素不可變,使用圓括號
()來表示,如(1, 2, 'a', True)。字典 (dict): 由鍵值對組成的資料集合,使用大括號
{}並以鍵值對形式表示,如{'name': 'Alice', 'age': 30}。
2.2 資料型態轉換
資料形態的轉換是一個常用的操作,將一種資料型別轉換為另一種資料型別。
- 隱式轉換: 在某些情況下,Python 會自動將一種資料類型轉換為另一種資料類型。這稱為隱式類型轉換。
numInt = 10numFloat = 10.5result = numInt + numFloatprint(result) # Output: 20.5
- 使用明確轉換將傳入之參數轉為字串型態: str()
>>> num = 9>>> num = str(num)>>> num'9'
- 使用明確轉換將傳入之參數轉為整數型態: int()
>>> int('10')10>>> int(-2.3)-2>>> int(9.0)9>>> int(True)1>>> int(False)0>>> int('1.0')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: invalid literal for int() with base 10: '1.0'
- 使用明確轉換將傳入之參數轉為浮點數型態: float()
>>> float('1.0')1.0>>> float(-2)-2.0
2.3 數值更改
round():四捨五入運算 (四捨六入五近偶)>>> round(99.5)99>>> round(98.5)98>>> round(3.14159, 2) # 至小數 2 位3.14
abs():取絕對值>>> abs(-8)8>>> abs(3-17)14
2.4 變數
變數是程式語言一個重要的元素之一,你可以想象他是一個裝資料的袋子並且我們在上面貼上一個標籤並且寫上一個名稱。
袋子裡的內容就是變數所存儲的數據值,而標籤則是變數的名稱,寫上名稱的行為我們稱作為宣告。那麼我們可以直接依照名稱找到對應的內容。
舉例,假設我們想要宣告一個名為 age 的變數來存儲一個人的年齡。我們可以這樣做:
age = 25
這就像是在袋子上貼上一個標籤寫上 age,然後把一張紙條寫上 25 放進袋子裡。現在,這個袋子就代表了名為 age 的變數,而裡面的內容就是數字 25,這個變數的資料類型是整數。
變數命名規則
- 由大小寫英文字母、數字、_(底線符號)、或中文
- 第一個字母不能是數字
- 區分大小寫
- 不能包含空白字元及保留字
| 保留字 | ||||
|---|---|---|---|---|
and | as | assert | async | await |
break | class | continue | def | del |
elif | else | except | False | finally |
for | from | global | if | import |
in | is | lambda | None | nonlocal |
not | or | pass | raise | return |
True | try | while | with | yield |
- 將內建函式 (function) 的名稱用作變數名稱或函式名稱,將會導致該內建函式的功能丟失,因為它被重新賦值為您所指定的對象。
| 內建函式 | ||||
|---|---|---|---|---|
abs() | all() | any() | ascii() | bin() |
bool() | breakpoint() | bytearray() | bytes() | callable() |
chr() | classmethod() | compile() | complex() | delattr() |
dict() | dir() | divmod() | enumerate() | eval() |
exec() | filter() | float() | format() | frozenset() |
getattr() | globals() | hasattr() | hash() | help() |
hex() | id() | input() | int() | isinstance() |
issubclass() | iter() | len() | list() | locals() |
map() | max() | memoryview() | min() | next() |
object() | oct() | open() | ord() | pow() |
print() | property() | range() | repr() | reversed() |
round() | set() | setattr() | slice() | sorted() |
staticmethod() | str() | sum() | super() | tuple() |
type() | vars() | zip() | __import__() | abs() |
input() | len() | max() | min() | print() |
Python 變數的特性
- 動態資料型別,只要重新賦值不同資料型態改變,變數的資料型態就改變。
- 不需要明確聲明變數類型的情況下直接賦值。
2.5 運算子
會四則運算吧?Python 也是一樣的先乘除後加減,不過程式的可讀性很重要如果運算子很多還是建議加上()提高優先度。
算術運算子
| 運算子 | 說明 | 範例 | 結果 |
|---|---|---|---|
| + | 加法 | 1 + 1 | 2 |
| - | 減法 | 2 - 1 | 1 |
| * | 乘法 | 5 * 6 | 30 |
| / | 除法 | 18 / 6 | 3 |
| // | 整除 | 7 // 2 | 3 |
| % | 餘數 | 7 % 3 | 1 |
| ** | 指數 | 2 ** 3 | 8 |
復合型態的運算子
「賦值運算子」就是「等號 =」,會將等號右邊的結果 ( 值 ),指定 ( 賦予 ) 給等號左邊的變數。
將算術運算子和賦值運算子組合,變成復合型態的運算子。
| 運算子 | 範例 | 等同於 |
|---|---|---|
| += | a += 1 | a = a + 1 |
| -= | a -= 1 | a = a - 1 |
| *= | a *= 2 | a = a * 2 |
| /= | a /= 2 | a = a / 2 |
| //= | a //= 2 | a = a // 2 |
| %= | a %= 2 | a = a % 2 |
| **= | a **= 2 | a = a ** 2 |
比較運算子
| 運算子 | 說明 | 範例 | 結果 |
|---|---|---|---|
| == | 相等 | 5 == '5' | False |
| != | 不等於 | 10 != '10' | True |
| > | 大於 | 8 > 12 | False |
| < | 小於 | 8 < 12 | True |
| >= | 大於等於 | 8 >= 12 | False |
| <= | 小於等於 | 8 <= 12 | True |
邏輯運算子
| 運算子 | 說明 | 範例 | 結果 |
|---|---|---|---|
| and | 邏輯且 (Logical and) | true and true | True |
| or | 邏輯或 (Logical or) | true or false | True |
| not | 邏輯非 (Logical not) | not (2>5) | True |
