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:連線兩個列表 lshrubbery
  • 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()

讀取檔案時,可以使用 readreadlinereadlines 函式來讀取內容。以下是一些範例:

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 中,使用 ifelifelse 關鍵字來實作條件判斷。

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 提供了 forwhile 兩種主要的迴圈結構。

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 的特性:

  1. 動態型別:Python 是動態型別語言,變數不需要預先宣告型別。
  2. 簡潔語法:Python 的語法簡潔明瞭,減少了冗長的程式碼。
  3. 豐富的標準函式庫:Python 提供了豐富的標準函式庫和第三方擴充套件模組。
  4. 跨平台:Python 是跨平台語言,可以在多種作業系統上執行。

語法風格與可讀性

Python 強調程式碼的可讀性和清晰度。以下是一些建議:

  1. 使用空白和註解:適當使用空白和註解來提高程式碼的可讀性。
  2. 避免單一等號:在條件判斷中使用雙等號 == 與單一等號 = 區分。
  3. 避免過度壓縮:不要過度壓縮程式碼行以求緊湊。

總結來說,Python 是一種強大且靈活的程式語言,適合各種應用場景。透過掌握基本的條件判斷、迴圈和函式等概念,你可以輕鬆編寫出功能強大且易於維護的程式。