Python 函數(Functions)

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

程式語言所用的函數(Functions)和數學上的函數有著很相似的觀念,但程式語言的函數比較複雜一點,需要了解底下知識:函數宣告、函數定義、函數呼叫。然而不是所有的程式語言都會有這三種觀念,因此本文會分別以C語言和Python語言來說明這三種觀念(註:C語言也是有版本之分的,請參考 https://en.wikipedia.org/wiki/C_(programming_language)#History)。

函數宣告(Function declaration)
C語言語法如下:
1
回傳型態 函數名稱( 參數列 );

C語言範例:
1
2
3
4
int sum(int a, int b);
int add(int, int);
int min(int x, int y);
int max(int, int);

因為 Python 目前沒有 Function declaration 的語法,請直接使用 Function definition。

函數定義(Function definition)
C語言語法如下:
1
2
3
回傳型態 函數名稱( 參數列 ) {
   函數主體
}

C語言範例:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
int sum(int a, int b) {
    return a + b;
}

int add(int a, int b) {
    return a + b;
}

int min(int x, int y) {
    return x <= y ? x: y;
}

int max(int x, int y) {
    return x >= y ? x: y;
}

Python語言語法如下:
1
2
3
4
def 函數名稱( 參數列 ):
   "函數說明"
   程式碼
   return [運算式(Expression)]

Python語言範例:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
def sum(a, b):
    return a + b

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

def min(x, y):
    if x <= y:
        return x
    else:
        return y

def max(x, y):
    if x >= y:
        return x
    else:
        return y

函數呼叫(Function call)
C語言語法如下:
1
函數名稱( 參數列 );

C語言範例:
1
2
3
4
int sumInt = sum(4, 5);
int addInt = add(9, 11);
int minInt = min(0, 123);
int maxInt = max(123, 0);

Python語言語法如下:
1
函數名稱( 參數列 )

Python語言範例:
1
2
3
4
sumInt = sum(4, 5)
addInt = add(9, 11)
minInt = min(0, 123)
maxInt = max(123, 0)

自訂函數範例
瞭解上述的語法後,就可以自訂函數了,底下提供C語言與Python語言的自訂函數範例。

C 語言範例:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>

int sum(int a, int b);
int add(int, int);
int min(int x, int y);
int max(int, int);

int main(void) {
  int sumInt = sum(4, 5);
  int addInt = add(9, 11);
  int minInt = min(0, 123);
  int maxInt = max(123, 0);

  printf("Sum:%d add:%d min:%d max:%d\n", sumInt, addInt, minInt, maxInt);
  return 0;
}

int sum(int a, int b) {
    return a + b;
}

int add(int a, int b) {
    return a + b;
}

int min(int x, int y) {
    return x <= y ? x: y;
}

int max(int x, int y) {
    return x >= y ? x: y;
}

Python語言範例:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def sum(a, b):
    return a + b

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

def min(x, y):
    if x <= y:
        return x
    else:
        return y

def max(x, y):
    if x >= y:
        return x
    else:
        return y

sumInt = sum(4, 5)
addInt = add(9, 11)
minInt = min(0, 123)
maxInt = max(123, 0)

print("Sum:", sumInt, "add:", addInt, "min:", minInt, "max:", maxInt)

沒有留言: