iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
Modern Web

flask系列 第 11

Day11 Python 進階2

  • 分享至 

  • xImage
  •  

函數

函數是預先建構好的可重復使用的,用來實現單一或相關聯功能的程式碼,能提高應用的模塊性,和程式碼的重複利用率。Python 本身提供了許多內建函數,比如 print(),但也可以自己創建函數,這被叫做用戶自定義函數。

def add(a, b):
    ans = a + b
    return ans


print(add(3, 4))
7

函式以 def 關鍵字定義,並以 return 將結果輸出。
一個函式只應該做好一件事情,太複雜拆開減少耦合,引數原則至多讓使用者輸入 2 個。

*args 和 **kㄊargs

*args 這個數值可透過使用者自定義輸入,透過 * 收集的引數會被放到一個叫 args 的元組 (tuple)中,所以我們可以使用 for 迴圈來對它進行迭代。
使用 *args 的好處是我們當今天不確定預先輸入至函式的變數有多少時,我們可以透過這個方法來避免輸入至函式的變數比預先設定的多,導至報錯。

def add(*args):
    ans = 0
    print(args)
    for i in args:
        ans += i
    return ans


print(add(3, 4, 5, 6, 7, 8, 9, 10))
(3, 4, 5, 6, 7, 8, 9, 10)
52

**kwargs 會自己把它拆開將有指定的參數變成 dict 格式。

def test(**kwargs):
    print(kwargs)


test(name="a", age="20")
{'name': 'a', 'age': '20'}

概括的說一個 * 號類似於將資料蒐集存成 turple ,兩個 * 號則是蒐集完並且存成 dict。


上一篇
Day10 Python 進階
下一篇
Day12 Python 進階3
系列文
flask30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言