PYTHON機器學習自學/自修 整理[00014] ~ 語言技術:PYTHON GOSSIP(def 陳述句 ~自訂函數)
PYTHON機器學習自學/自修 整理[00014] ~ 語言技術:PYTHON GOSSIP(def 陳述句 ~自訂函數)
在Python中要定義函式,是使用def來定義
語法
def 函數名稱(參數列): something...
範例:
import sys import decimal#精準度/精度 運算 def gcd(m, n):#遞迴方式求最大公因數函數 if n == 0: return m else: return gcd(n, m % n) print(type(gcd))#顯示 <class 'function'> print("20 和 30 最大公因數[gcd(20, 30)] = "+str(gcd(20, 30))) gcd2 = gcd#函數指標 print(gcd2(20, 30))# 顯示 10 print(id(gcd), id(gcd2))#兩個函數記憶體位址顯示的數字相同 def sum(a, b, c = 0):#函數參數有預設值 return a + b + c print(sum(10, 20, 30)) # 顯示 60 print(sum(10, 20)) # 顯示 30 def sumN(*numbers):#*單一變數名=定義N個相同型態參數 total = 0 for number in numbers: total += number return total print(sumN(1, 2)) # 顯示 3 print(sumN(1, 2, 3)) # 顯示 6 print(sumN(1, 2, 3, 4)) # 顯示 10 def dosome(**args):#**單一變數名=字典物件 print(args) dosome(name = 'Justin', passwd = 123456, job = '?') def selection(number):#選擇排序 # 找出未排序中最小值 def min(m, j):#函數中的函數=區域函數 if j == len(number): return m elif number[j] < number[m]: return min(j, j + 1) else: return min(m, j + 1) for i in range(0, len(number)): m = min(i, i + 1) if i != m: number[i], number[m] = number[m], number[i] number = [1, 5, 2, 3, 9, 7] selection(number) print(number) # 顯示 [1, 2, 3, 5, 7, 9]