甲居工作室

2.Python 基本語法

日期:2024/04/04

2.Python 基本語法

本章節會提及資料型態資料型態轉換變數運算子

下表示於編輯器

  1. print('Hello world')

下表示於終端機操作

  1. >>> print('Hello world')

2.1 資料型態

我們先建立下列程式,並觀察他們的表示方式。

  1. print(type('Hello world'))
  2. print(type(1069))
  3. print(type(8.6))
  4. print(type(True))

輸出結果,上述的資料形態分別為字串 (str)整數 (int)浮點數 (float)布林值 (bool)

  1. <class 'str'>
  2. <class 'int'>
  3. <class 'float'>
  4. <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 會自動將一種資料類型轉換為另一種資料類型。這稱為隱式類型轉換。
  1. numInt = 10
  2. numFloat = 10.5
  3. result = numInt + numFloat
  4. print(result) # Output: 20.5
  • 使用明確轉換將傳入之參數轉為字串型態: str()
  1. >>> num = 9
  2. >>> num = str(num)
  3. >>> num
  4. '9'
  • 使用明確轉換將傳入之參數轉為整數型態: int()
  1. >>> int('10')
  2. 10
  3. >>> int(-2.3)
  4. -2
  5. >>> int(9.0)
  6. 9
  7. >>> int(True)
  8. 1
  9. >>> int(False)
  10. 0
  11. >>> int('1.0')
  12. Traceback (most recent call last):
  13. File "<stdin>", line 1, in <module>
  14. ValueError: invalid literal for int() with base 10: '1.0'
  • 使用明確轉換將傳入之參數轉為浮點數型態: float()
  1. >>> float('1.0')
  2. 1.0
  3. >>> float(-2)
  4. -2.0

2.3 數值更改

  • round():四捨五入運算 (四捨六入五近偶)

    1. >>> round(99.5)
    2. 99
    3. >>> round(98.5)
    4. 98
    5. >>> round(3.14159, 2) # 至小數 2 位
    6. 3.14
  • abs():取絕對值

    1. >>> abs(-8)
    2. 8
    3. >>> abs(3-17)
    4. 14

2.4 變數

變數是程式語言一個重要的元素之一,你可以想象他是一個裝資料的袋子並且我們在上面貼上一個標籤並且寫上一個名稱。
袋子裡的內容就是變數所存儲的數據值,而標籤則是變數的名稱,寫上名稱的行為我們稱作為宣告。那麼我們可以直接依照名稱找到對應的內容。

舉例,假設我們想要宣告一個名為 age 的變數來存儲一個人的年齡。我們可以這樣做:

  1. age = 25

這就像是在袋子上貼上一個標籤寫上 age,然後把一張紙條寫上 25 放進袋子裡。現在,這個袋子就代表了名為 age 的變數,而裡面的內容就是數字 25,這個變數的資料類型是整數。

變數命名規則

  • 由大小寫英文字母、數字、_(底線符號)、或中文
  • 第一個字母不能是數字
  • 區分大小寫
  • 不能包含空白字元及保留字
保留字
andasassertasyncawait
breakclasscontinuedefdel
elifelseexceptFalsefinally
forfromglobalifimport
inislambdaNonenonlocal
notorpassraisereturn
Truetrywhilewithyield
  • 將內建函式 (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 + 12
-減法2 - 11
*乘法5 * 630
/除法18 / 63
//整除7 // 23
%餘數7 % 31
**指數2 ** 38

復合型態的運算子

「賦值運算子」就是「等號 =」,會將等號右邊的結果 ( 值 ),指定 ( 賦予 ) 給等號左邊的變數。
將算術運算子和賦值運算子組合,變成復合型態的運算子。

運算子範例等同於
+=a += 1a = a + 1
-=a -= 1a = a - 1
*=a *= 2a = a * 2
/=a /= 2a = a / 2
//=a //= 2a = a // 2
%=a %= 2a = a % 2
**=a **= 2a = a ** 2

比較運算子

運算子說明範例結果
==相等5 == '5'False
!=不等於10 != '10'True
>大於8 > 12False
<小於8 < 12True
>=大於等於8 >= 12False
<=小於等於8 <= 12True

邏輯運算子

運算子說明範例結果
and邏輯且 (Logical and)true and trueTrue
or邏輯或 (Logical or)true or falseTrue
not邏輯非 (Logical not)not (2>5)True

延伸閱讀

3.Python 字串(string)

在 Python 中有東西都是物件 (object), 字串是由一個文字 (字元)一個文字串 (字元)接起來,將想要使用的文字內容放在兩個單引號''或兩個雙引號""裡。

Read more

4.Python 串列(list)

串列是一串 Python 的資料,將想要使用的資料內容放在兩個方括號[],各個資料可以有不同的資料型態。

Read more