iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Python

如果讓chatgpt參加iThome鐵人賽,他竟然寫出...!?系列 第 7

從 0 開始學!跟著 ChatGPT 學會 Python 函數&模組

  • 分享至 

  • xImage
  •  

第四天的內容將聚焦在 Python 中的函數與模組。這些概念是提高程式碼重用性和可維護性的核心技術。


第四天:Python 中的函數與模組

在程式設計中,當我們需要重複使用某段程式碼時,通常會將這段程式碼封裝成函數或模組。這不僅能提高程式碼的可讀性,還能讓我們更方便地管理和維護程式碼。今天,我們將深入探討 Python 中的函數與模組,並學習如何創建和使用它們。

函數的定義與使用

函數是用來執行特定任務的程式碼塊。我們可以將一段需要重複使用的程式碼定義為函數,並通過函數名來調用它。

定義函數:

在 Python 中,函數使用 def 關鍵字來定義。以下是一個簡單的函數範例:

def greet(name):
    print(f"你好,{name}!")

這個函數名為 greet,接受一個參數 name,並輸出一個問候語。要調用這個函數,我們只需傳入一個參數:

greet("小動物")

這段程式碼會輸出 "你好,小動物!"。

函數的返回值

函數不僅可以執行任務,還可以返回一個結果,這通常通過 return 關鍵字來實現。

def add_numbers(a, b):
    return a + b

這個函數將兩個數字相加並返回結果。你可以將這個結果賦值給一個變數,或直接用於其他操作:

result = add_numbers(5, 3)
print(result)  # 這將輸出 8

預設參數值與關鍵字參數

在定義函數時,我們可以為參數設置預設值,這樣在調用函數時,如果沒有提供對應的參數,Python 會使用預設值。

def greet(name="世界"):
    print(f"你好,{name}!")

如果我們調用 greet() 而不傳遞任何參數,則會輸出 "你好,世界!"。

同時,我們可以使用關鍵字參數來明確指定參數的值,這樣可以使函數調用更加靈活和可讀。

def calculate_total(price, tax=0.05):
    return price * (1 + tax)

print(calculate_total(price=100, tax=0.1))  # 這將輸出 110.0

模組的概念與使用

當我們的程式碼越來越複雜時,將程式碼拆分成多個模組(即多個 Python 檔案)是個好方法。這樣可以提高程式碼的組織性和可維護性。

創建與導入模組:

假設我們有一個名為 math_operations.py 的檔案,其中定義了多個數學運算的函數:

# math_operations.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

然後,我們可以在另一個 Python 檔案中導入並使用這些函數:

from math_operations import add, subtract

result1 = add(10, 5)
result2 = subtract(10, 5)

print(result1)  # 這將輸出 15
print(result2)  # 這將輸出 5

這樣,我們就可以將不同的功能模組化,並在需要時重複使用。

使用內建模組

Python 提供了許多內建模組,可以直接導入使用。例如,我們可以使用 math 模組來執行數學運算:

import math

print(math.sqrt(16))  # 這將輸出 4.0

這些內建模組為我們提供了許多現成的功能,大大減少了我們需要編寫的程式碼量。

小結

今天,我們學習了如何在 Python 中定義與使用函數,並了解了模組的概念與實踐。通過將程式碼封裝成函數和模組,我們可以提高程式碼的重用性和可維護性,這對於撰寫大型專案尤為重要。下一步,你可以嘗試創建自己的模組,並在不同的專案中重複使用它們。


上一篇
從 0 開始學!跟著 ChatGPT 學會 Python 條件判斷&迴圈
下一篇
從 0 開始學!跟著 ChatGPT 學會 Python 的 List & Dictionary
系列文
如果讓chatgpt參加iThome鐵人賽,他竟然寫出...!?14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言