Python - 資料型態
歡迎,有抱負的程式設計師!今天,我們將深入探討Python資料型態的迷人世界。作為您親切友善的電腦科學老師,我非常高興能引導您了解Python編程的這個基本方面。所以,拿起您的虛擬筆記本,讓我們一起踏上這次旅程吧!
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_age
和 temperature
都是整數。您可以使用整數進行各種數學運算:
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) → True ,bool(0) → False
|
請記住,這些函數不會改變原始值;它們會創建所需型態的新值。
這就是了,親愛的學生們!我們已經走過了Python資料型態的土地,從簡單的整數到複雜的字典。每種資料型態都是您編程工具箱中的一個強大工具,準備幫助您解決各種問題。
當您繼續您的Python冒險時,您會發現自己每天都在使用這些資料型態。它們是您程式的基石,編程食譜的食材。所以,盡情地玩弄它們,進行實驗,最重要的是,玩得開心!
記住,在編程中,就像在生活中一樣,並不是一開始就要做對。重要的是學習、成長和享受過程。所以,不要害怕犯錯誤 - 它們只是您成為Python大師道路上的踏脚石!
現在,勇往直前地編程吧!並永遠記住:在Python中,就像在生活中一樣,型態很重要!?✨
Credits: Image by storyset