Python 的字串處理能力相當靈活,支援多樣的操作,例如計算長度、連線字串、字元迭代以及索引和切片等。列表則能有效管理集合資料,同樣支援連線、長度計算和元素迭代,並可透過索引和切片修改列表內容。Python 也提供豐富的內建函式和方法,方便開發者進行資料轉換、格式化以及列表操作,例如 append、sort 和 reverse 等。除了字串和列表,Python 也支援其他重要的資料結構,例如辭典和元組,辭典以鍵值對儲存資料,而元組則是一種不可變的序列。檔案操作也是 Python 的重要功能,透過內建函式 open 可以讀取和寫入檔案。
def calculate_area_and_perimeter(height, width):
height = int(height)
width = int(width)
area = height * width
perimeter = (2 * height) + (2 * width)
print("The area is:", area)
print("The perimeter is:", perimeter)
while True:
h = input("Enter height: ")
w = input("Enter width: ")
calculate_area_and_perimeter(h, w)
Python 字串與列表探討
在 Python 中,字串(string)是一種有序的字元集合,用來表示文字資訊。與 C 語言等其他語言不同,Python 沒有單獨的字元型別(char),單一字元只是一個只有單個字元的字串。字串可以包含任何可視為文字的內容,如字母、數字、標點符號、程式名稱等。因此,以下兩個範例是完全不同的:
>>> x = 4
>>> x = "4"
在第一個範例中,x
是整數 4,可以進行數學運算;而在第二個範例中,x
是字串 “4”,不能進行數學運算。Python 對於單引號和雙引號並沒有區別,可以互換使用。這意味著可以在字串中直接包含另一種引號而不需要使用跳脫字元:
>>> "Brian's"
'Brian's'
基本字串操作
Python 提供了許多基本的字串操作,如計算長度、連線、迭代、索引和切片等。以下是一些示例:
>>> len('shrubbery')
9
>>> 'spam ' + 'and ' + 'eggs'
'spam and eggs'
>>> title = "Meaning of Life"
>>> for c in title: print(c, end=' ')
M e a n i n g o f L i f e
>>> s = "spam"
>>> s[0], s[2]
('s', 'a')
內容解密:
len('shrubbery')
:計算字串'shrubbery'
的長度,結果為 9。'spam ' + 'and ' + 'eggs'
:連線三個字串,結果為'spam and eggs'
。for c in title: print(c, end=' ')
:迭代title
字串中的每個字元並列印,使用end=' '
確保每個字元後面跟著一個空格。s[0], s[2]
:分別取得s
字串中的第一個和第三個字元。
轉換與格式化
Python 支援將字串轉換為整數或浮點數,並且可以進行格式化操作。例如:
>>> int("4") ** 2
16
內容解密:
int("4") ** 2
:將字串"4"
轉換為整數 4,然後計算其平方。
Python 的列表(Lists)
列表(list)是 Python 中最強大的內建資料型別之一。它們是其他資料型別的集合,非常靈活。列表可以在原地修改、隨需擴充套件和縮小,並且可以包含和被包含在其他物件中。
>>> l = [1, 2, 3, 4, 5]
>>> shrubbery = ["spam", 1, 2, 3, "56"]
基本操作
列表可以進行連線、計算長度、迭代等操作:
>>> l + shrubbery
[1, 2, 3, 4, 5, 'spam', 1, 2, 3, '56']
>>> len(shrubbery)
5
>>> for x in l: print(x, end=' ')
1 2 3 4 5
>>> shrubbery[3]
3
內容解密:
l + shrubbery
:連線兩個列表l
和shrubbery
。len(shrubbery)
:計算列表shrubbery
的長度。for x in l: print(x, end=' ')
:迭代列表l
中的每個元素並列印。shrubbery[3]
:取得列表shrubbery
中的第四個元素。
處理與修改列表
你可以使用索引和切片操作來修改列表:
>>> cast = ["John", "Eric", "Terry", "Graham", "Michael"]
>>> cast[0:2] = ["Cleese", "Idle", "Gilliam"]
>>> cast
['Cleese', 'Idle', 'Gilliam', 'Graham', 'Michael']
內容解密:
cast[0:2] = ["Cleese", "Idle", "Gilliam"]
:將列表cast
中的前兩個元素替換為新的元素。
常用方法
列表還有一些專屬的方法,如 append()
、sort()
、reverse()
和 pop()
:
help(list)
內容解密:
help(list)
:呼叫內建的幫助函式來檢視所有可用於列表的方法。
Python 的辭典(Dictionaries)
辭典(dictionary)與列表相似,但它們是無序的集合。你可以透過鍵(key)來存取辭典中的專案。辭典包含鍵值對(key-value pairs),透過鍵來請求值。
>>> dict = {'food': 'spam', 'drink': 'beer'}
>>> dict['food']
'spam'
巢狀辭典
辭典可以巢狀:
>>> dict2 = {'food': {'ham': 1, 'eggs': 2}}
內容解密:
dict['food']
:透過鍵'food'
取得其對應的值'spam'
。dict2 = {'food': {'ham': 1, 'eggs': 2}}
:建立一個巢狀辭典。
常用方法
辭典也有一些專屬的方法:
>>> dict.keys()
['food', 'drink']
>>> dict.has_key('food')
True
內容解密:
dict.keys()
:傳回辭典中所有的鍵。dict.has_key('food')
:檢查辭典中是否存在鍵'food'
。
元組(Tuples)與檔案(Files)
元組(tuple)是不可變更的物件集合。它們類別似於列表,但無法在原地修改。元組用圓括號表示:
>>> t = (0, 'words', 23, [1, 2, 3])
檔案操作
Python 提供了內建函式 open()
用來建立檔案物件,這些物件提供了對電腦上檔案進行讀寫操作的介面。
元組與檔案比較
flowchart TD; A[元組] --> B[不可變更]; A --> C[類別似列表]; D[檔案] --> E[讀寫操作]; D --> F[物件集合];
此圖示展示了元組和檔案之間的基本概念及其功能差異。
內容解密:
- 元組和檔案都是 Python 中重要的資料型別。
- 元組是不可變更且類別似於列表。
- 檔案提供了對磁碟上檔案進行讀寫操作的介面。
總結來說,Python 的字串和列表提供了豐富且靈活的資料處理能力。透過深入瞭解這些基本資料型別及其操作方法,可以更有效地進行程式設計與開發。
匯入 Python
Python 是一種功能強大且易於學習的程式語言,廣泛應用於資料分析、機器學習、網頁開發等領域。本章節將介紹 Python 的基本概念,包括內建資料型態、檔案操作以及基本的程式設計技巧。
Python 的資料型態
Python 提供了豐富的內建資料型態,包括整數、浮點數、字串、列表、元組和字典等。這些資料型態不僅簡單易用,還能夠靈活地組合起來進行複雜的操作。以下是一些基本的資料型態介紹:
整數(int):用於表示整數值。
x = 10 y = -5
浮點數(float):用於表示小數值。
a = 3.14 b = -0.001
字串(str):用於表示文字,可以使用單引號或雙引號定義。
name = "玄貓" greeting = 'Hello, world!'
列表(list):用於儲存一組有序的元素,可以包含不同型態的資料。
fruits = ["apple", "banana", "cherry"] mixed_list = [1, "two", 3.0]
元組(tuple):類別似於列表,但一旦建立就不能修改。
point = (1, 2) coordinates = (3.5, -2.1)
字典(dict):用於儲存鍵值對,適合進行快速查詢操作。
person = {"name": "玄貓", "age": 25} scores = {"math": 95, "english": 88}
檔案操作
Python 提供了多種函式來處理外部檔案,這些函式包括讀取、寫入、開啟和關閉檔案等。以下是一些基本的檔案操作範例:
myfile = open('test.txt', 'w')
myfile.write('hello there, text file!\n')
myfile.close()
上述程式碼會開啟一個名為 test.txt
的檔案(如果不存在則會建立),並寫入一行文字後關閉檔案。需要注意的是,如果檔案已存在且使用 w
模式開啟,原有內容將會被覆寫。如果想要在檔案末尾追加內容,可以使用 a
模式開啟檔案。
myfile = open('test.txt', 'a')
myfile.write('this is an additional line.\n')
myfile.close()
讀取檔案時,可以使用 read
、readline
或 readlines
函式來讀取內容。以下是一些範例:
myfile = open('test.txt', 'r')
content = myfile.read()
print(content)
myfile.close()
編寫 Python 資料
要編寫一個 Python 資料,首先需要離開解譯器並使用文字編輯器(如 emacs 或 Leafpad)建立一個新檔案。完成後,將其儲存為 .py
檔案,然後在終端機中執行:
$ python myprogram.py
Python 的語法特別之處在於它使用空白和縮排來區分程式碼塊。與 C 語言使用大括號 {}
不同,Python 用冒號 :
和縮排來定義程式碼塊。以下是一些範例:
原始程式碼:
if (x == 4) {
printf("x is equal to four\n");
printf("Nothing more to do here.");
}
printf("The if statement is now over.");
轉換為 Python:
if x == 4:
print("x is equal to four")
print("Nothing more to do here.")
print("The if statement is now over.")
需要注意的是,Python 不需要在行尾使用分號 ;
,也沒有強制要求使用括號來提高可讀性。這些特性使得 Python 的程式碼更加簡潔和易讀。
基本程式陳述式
在 Python 中,最基本的程式陳述式是指定陳述式。指定陳述式將右側的值賦給左側的變數。以下是一些範例:
x = 4
y = "This is a string."
Python 不需要明確宣告變數的型態,它會根據指定自動推斷變數的型態。此外,變數命名應該遵循一致的規則,例如使用駝峰命名法或下劃線命名法。
IF 測試
if
陳述式是 Python 中常見的控制結構之一,它允許根據條件執行不同的程式碼塊。以下是一些範例:
if x == 'spam':
print("Spam is a wonderful thing!")
elif x == 'eggs':
print("eggs are better when they're green!")
else:
print("this little piggy stayed home!")
這段程式碼會根據變數 x
的值執行不同的輸出陳述式。如果 x
是 'spam'
則輸出「Spam is a wonderful thing!」;如果是 'eggs'
則輸出「eggs are better when they’re green!」;否則輸出「this little piggy stayed home!」。
未完成
Python 基礎介紹
Python 是一種強大且靈活的程式語言,適合各種應用場景,從簡單的指令碼到複雜的軟體系統都能應對自如。以下將探討 Python 的基本結構,包括條件判斷、迴圈和函式等核心概念。
條件判斷
條件判斷是程式設計中的基本概念,用於根據特定條件執行不同的程式碼區塊。在 Python 中,使用 if
、elif
和 else
關鍵字來實作條件判斷。
x = "Spam"
if x == "Spam":
print("Spam is a wonderful thing!")
elif x == "Eggs":
print("Eggs are also great!")
else:
print("Something else.")
內容解密:
在這段程式碼中,首先檢查變數 x
是否等於 "Spam"
。如果是,則執行第一個印出陳述式。如果不是,則檢查 x
是否等於 "Eggs"
,如果是則執行第二個印出陳述式。如果都不符合,則執行最後的 else
區塊。這樣的結構讓程式可以根據不同的條件執行不同的操作。
迴圈
迴圈是程式設計中重複執行某段程式碼的機制。Python 提供了 for
和 while
兩種主要的迴圈結構。
for 迴圈
for
迴圈通常用來遍歷序列(如列表、字串或範圍)。以下是一些基本例子:
# 遍歷範圍
for i in range(10):
print("Hello")
# 遍歷字串
for char in "Camelot":
print(char)
內容解密:
第一個例子中,range(10)
生成一個從 0 到 9 的數字序列,迴圈會對每個數字執行一次 print("Hello")
。第二個例子中,for char in "Camelot"
會遍歷字串中的每個字元並印出來。
while 迴圈
while
迴圈則根據一個布林表示式重複執行某段程式碼,直到該表示式變為假。
x = 0
while x < 10:
print(x)
x += 1
內容解密:
在這段程式碼中,變數 x
初始為 0,當 x < 10
滿足時,印出 x
的值並將 x
增加 1。當 x
滿足條件時就不再進入迴圈。
函式
函式是程式設計中的基本構建塊之一,它們允許我們將重複的程式碼封裝起來,提高程式碼的可重用性和可讀性。
def calculate_area_and_perimeter(height, width):
height = int(height)
width = int(width)
area = height * width
perimeter = (2 * height) + (2 * width)
print("The area is:", area)
print("The perimeter is:", perimeter)
while True:
h = input("Enter height: ")
w = input("Enter width: ")
calculate_area_and_perimeter(h, w)
內容解密:
這段程式碼定義了一個名為 calculate_area_and_perimeter
的函式,它接受兩個引數:高度和寬度。函式內部計算矩形的面積和周長,並印出結果。主程式部分使用無限迴圈不斷詢問使用者輸入高度和寬度,並呼叫函式進行計算。
認識 Python 的特性
Python 的設計理念強調簡潔和易讀性。以下是一些 Python 的特性:
- 動態型別:Python 是動態型別語言,變數不需要預先宣告型別。
- 簡潔語法:Python 的語法簡潔明瞭,減少了冗長的程式碼。
- 豐富的標準函式庫:Python 提供了豐富的標準函式庫和第三方擴充套件模組。
- 跨平台:Python 是跨平台語言,可以在多種作業系統上執行。
語法風格與可讀性
Python 強調程式碼的可讀性和清晰度。以下是一些建議:
- 使用空白和註解:適當使用空白和註解來提高程式碼的可讀性。
- 避免單一等號:在條件判斷中使用雙等號
==
與單一等號=
區分。 - 避免過度壓縮:不要過度壓縮程式碼行以求緊湊。
總結來說,Python 是一種強大且靈活的程式語言,適合各種應用場景。透過掌握基本的條件判斷、迴圈和函式等概念,你可以輕鬆編寫出功能強大且易於維護的程式。