Python - 資料型態

歡迎,有抱負的程式設計師!今天,我們將深入探討Python資料型態的迷人世界。作為您親切友善的電腦科學老師,我非常高興能引導您了解Python編程的這個基本方面。所以,拿起您的虛擬筆記本,讓我們一起踏上這次旅程吧!

Python - Data Types

Python中的資料型態

在編程中,資料型態就像是用來存儲各種資訊的不同容器。想像您正在籌備一場派對,需要為不同的物品使用不同類型的容器 - 盤子用來放食物,玻璃杯用來裝飲料,盒子用來放禮物。同樣地,在Python中,我們使用不同的資料型態來存儲不同類型的資料。

讓我們從一個簡單的例子開始:

name = "Alice"
age = 25
height = 5.7
is_student = True

在這段代碼中,我們使用了四種不同的資料型態:

  • name 是一個字符串(文字)
  • age 是一個整數(整數)
  • height 是一個浮點數(小數)
  • is_student 是一個布爾值(True或False)

這些變量各自保存不同類型的資料,就像我們在派對上為不同的物品使用不同的容器一樣。

Python資料型態的類型

Python帶有許多內置的資料型態。讓我們一一來探索它們:

1. 數值型態

a. 整數(int)

整數是正負整數,沒有小數。

my_age = 30
temperature = -5

這裡,my_agetemperature 都是整數。您可以使用整數進行各種數學運算:

x = 10
y = 3
print(x + y)  # 加法:13
print(x - y)  # 減法:7
print(x * y)  # 乘法:30
print(x / y)  # 除法:3.3333...(注意:這實際上返回一個浮點數)
print(x // y) # 整除:3(向下取整到最近的整數)
print(x % y)  # 餘數:1
print(x ** y) # 指數:1000

b. 浮點數

浮點數是有小數點的數字。

pi = 3.14159
gravity = 9.81

浮點數可以用於計算,就像整數一樣:

radius = 5
area = pi * (radius ** 2)
print(f"The area of the circle is {area:.2f}")  # 輸出:The area of the circle is 78.54

c. 複數

複數有實部和虛部,用'j'表示。

z = 2 + 3j
print(z.real)  # 輸出:2.0
print(z.imag)  # 輸出:3.0

2. 序列型態

a. 字符串(str)

字符串是字符序列,用單引號或雙引號括起來。

greeting = "Hello, World!"
name = 'Alice'
multi_line = """這是一個
多行
字符串。"""

字符串有許多有用的方法:

message = "Python is awesome"
print(message.upper())  # 輸出:PYTHON IS AWESOME
print(message.split())  # 輸出:['Python', 'is', 'awesome']
print(len(message))     # 輸出:20(字符串的長度)

b. 列表

列表是有序、可變的序列,用方括號表示。

fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "two", 3.0, [4, 5]]

列表多功能且允許各種操作:

fruits.append("orange")  # 添加項目
fruits.remove("banana")  # 刪除項目
print(fruits[0])         # 透過索引訪問:apple
print(fruits[-1])        # 最後一個項目:orange
print(fruits[1:3])       # 切片:['cherry', 'orange']

c. 元組

元組是有序、不可變的序列,用括號表示。

coordinates = (4, 5)
rgb = (255, 0, 128)

元組與列表相似,但創建後不能修改:

print(coordinates[0])  # 透過索引訪問:4
# coordinates[0] = 6   # 這會引發錯誤

3. 映射型態:字典(dict)

字典存儲鍵值對,用大括號表示。

person = {
"name": "Bob",
"age": 30,
"city": "New York"
}

字典對於結構化資料非常有用:

print(person["name"])   # 透過鍵訪問:Bob
person["job"] = "Developer"  # 添加新的鍵值對
del person["age"]       # 刪除鍵值對
print(person.keys())    # 獲取所有鍵
print(person.values())  # 獲取所有值

4. 集合型態

a. 集合

集合是無序的獨特元素集合,用大括號表示。

fruits = {"apple", "banana", "cherry"}
numbers = {1, 2, 3, 4, 5}

集合對於刪除重複項目和集合運算非常棒:

fruits.add("orange")
fruits.remove("banana")
print("apple" in fruits)  # 檢查成員:True

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))        # 聯合:{1, 2, 3, 4, 5}
print(set1.intersection(set2)) # 交集:{3}

b. 冻結集合

冻結集合是不可變的集合。

fs = frozenset([1, 2, 3])
# fs.add(4)  # 這會引發錯誤

Python資料型態轉換

有時,您需要將資料從一種型態轉換為另一種型態。Python提供了內置函數來達到此目的:

# 字符串轉整數
age_str = "25"
age_int = int(age_str)
print(age_int + 5)  # 輸出:30

# 整數轉字符串
number = 42
number_str = str(number)
print("The answer is " + number_str)  # 輸出:The answer is 42

# 字符串轉浮點數
price_str = "19.99"
price_float = float(price_str)
print(price_float * 2)  # 輸出:39.98

# 列表轉集合(刪除重複項目)
numbers = [1, 2, 2, 3, 3, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # 輸出:{1, 2, 3, 4, 5}

資料型態轉換函數

以下是常見的資料型態轉換函數的便捷表格:

函數 描述 示例
int(x) 將x轉換為整數 int("10")10
float(x) 將x轉換為浮點數 float("3.14")3.14
str(x) 將x轉換為字符串 str(42)"42"
list(x) 將x轉換為列表 list("hello")['h', 'e', 'l', 'l', 'o']
tuple(x) 將x轉換為元組 tuple([1, 2, 3])(1, 2, 3)
set(x) 將x轉換為集合 set([1, 2, 2, 3]){1, 2, 3}
dict(x) 創建字典。x必須是鍵值對的序列 dict([('a', 1), ('b', 2)]){'a': 1, 'b': 2}
bool(x) 將x轉換為布爾值 bool(1)Truebool(0)False

請記住,這些函數不會改變原始值;它們會創建所需型態的新值。

這就是了,親愛的學生們!我們已經走過了Python資料型態的土地,從簡單的整數到複雜的字典。每種資料型態都是您編程工具箱中的一個強大工具,準備幫助您解決各種問題。

當您繼續您的Python冒險時,您會發現自己每天都在使用這些資料型態。它們是您程式的基石,編程食譜的食材。所以,盡情地玩弄它們,進行實驗,最重要的是,玩得開心!

記住,在編程中,就像在生活中一樣,並不是一開始就要做對。重要的是學習、成長和享受過程。所以,不要害怕犯錯誤 - 它們只是您成為Python大師道路上的踏脚石!

現在,勇往直前地編程吧!並永遠記住:在Python中,就像在生活中一樣,型態很重要!?✨

Credits: Image by storyset