Python函數

函數使我們可以創建一組可以在需要時運行的指令。

功能是必不可少的Python並且通過許多其他編程語言來創建有意義的程序,因為它們使我們能夠將程序分解為可管理的部分,從而提高了可讀性和代碼重用性。

這是一個示例函數,稱為hello打印“你好!”:

def hello():
    print('Hello!')

這是功能定義。有一個名字(hello)和主體(一組指令),這是跟在冒號後面的部分,在右邊向右縮進一層。

要運行此功能,我們必須調用它。這是調用該函數的語法:

hello()

我們可以一次或多次執行此功能。

函數的名稱,hello, 非常重要。它應該是描述性的,因此任何調用它的人都可以想像該函數的作用。

一個函數可以接受一個或多個參數:

def hello(name):
    print('Hello ' + name + '!')

在這種情況下,我們調用傳遞參數的函數

hello('Roger')

我們稱之為參數函數在函數定義內接受的值,以及論點調用函數時傳遞給函數的值。對這種區別感到困惑是很常見的。

如果未指定參數,則參數可以具有默認值:

def hello(name='my friend'):
    print('Hello ' + name + '!')

hello() #Hello my friend!

這是我們如何接受多個參數的方法:

def hello(name, age):
    print('Hello ' + name + ', you are ' + str(age) + ' years old!')

在這種情況下,我們調用傳遞一組參數的函數:

hello('Roger', 8)

參數通過引用傳遞。 Python中的所有類型都是對象,但其中一些是不可變的,包括整數,布爾值,浮點數,字符串和元組。這意味著,如果將它們作為參數傳遞,並且在函數內部修改了它們的值,則新值不會反映在函數外部:

def change(value):
    value = 2

val = 1 change(val)

print(val) #1

如果傳遞了一個不可變的對象,並且更改了其屬性之一,則更改將反映在外部。

函數可以使用return陳述。例如,在這種情況下,我們返回name參數名稱:

def hello(name):
    print('Hello ' + name + '!')
    return name

當功能滿足時return語句,函數結束。

我們可以忽略該值:

def hello(name):
    print('Hello ' + name + '!')
    return

我們可以在條件內部包含return語句,這是在不滿足開始條件的情況下結束函數的常用方法:

def hello(name):
    if not name:
        return
    print('Hello ' + name + '!')

如果調用該函數傳遞的值等於False,就像一個空字符串一樣,該函數在到達print()陳述。

您可以使用逗號分隔的值來返回多個值:

def hello(name):
    print('Hello ' + name + '!')
    return name, 'Roger', 8

在這種情況下,hello('Syd')返回值是一個包含這三個值的元組:('Syd', 'Roger', 8)


更多python教程: