Python函數詳解:定義、呼叫及參數型別
函數定義與作用
函數是一段可重複使用的程式碼區塊,只有在需要時才執行。在Python中,使用def
關鍵字定義函數。
例如,以下程式碼定義了一個求和函數:
<code class="language-python">def sum(a, b): print(a + b)</code>
此函數計算兩個整數a
和b
的和。 需要求兩個數和時,可以直接呼叫sum(a, b)
函數。
函數呼叫
呼叫函數是指透過函數名稱後面跟著括號來執行函數內部的程式碼。 例如:
<code class="language-python">def sum(a, b): print(a + b) sum(1, 3)</code>
這裡:
a
和b
是函數定義中的參數。 1
和3
是傳遞給函數的參數值(實參)。 sum
是函數名。 參數型別
Python函數支援四種參數類型:
TypeError
異常。 <code class="language-python">def sum(a, b): print(a + b) sum(1, 3) # 正确 sum() # TypeError</code>
a
和b
是必需參數,因為它們沒有預設值。
<code class="language-python">def new_print(a, b): print(f"{a} is a friend of {b}") new_print(b="Alice", a="Bob")</code>
輸出:Bob is a friend of Alice
即使參數順序錯誤,關鍵字參數也能正確地將值賦給對應的參數。
<code class="language-python">def sum(a=0, b=0): print(a + b) sum() # 输出:0 sum(1, 3) # 输出:4</code>
即使沒有提供a
和b
的值,函數也能正常執行,因為它們有預設值0。
可變長參數: 函數可以接受任意數量的參數。
a. *args
:用於接收任意數量的非關鍵字參數,在函數內部以元組的形式存取。
<code class="language-python">def sum(*numbers): total = 0 for i in numbers: total += i print(total) sum(1, 2, 3, 4) # 输出:10</code>
b. **kwargs
:用來接收任意數量的關鍵字參數,在函數內部以字典的形式存取。
<code class="language-python">def print_kwargs(**kwargs): for key, value in kwargs.items(): print(f"{key}={value}") print_kwargs(name="Alice", age=30, city="New York")</code>
四個數字交換的方法
以下四種方法都可以交換兩個數字的值:
方法一:使用臨時變數
<code class="language-python">P = 5 Q = 4 temp = P P = Q Q = temp</code>
方法二:元組解包
<code class="language-python">P = 5 Q = 4 P, Q = Q, P</code>
方法三:使用位元運算子
<code class="language-python">P = 5 Q = 4 P = P ^ Q Q = P ^ Q P = P ^ Q</code>
方法四:使用加減法
<code class="language-python">P = 5 Q = 4 P = P + Q Q = P - Q P = P - Q</code>
以上是關於 Python 函數您需要了解的一切的詳細內容。更多資訊請關注PHP中文網其他相關文章!