Python3 函數(shù)

2022-01-12 10:17 更新

本章節(jié)我們將為大家介紹 Python 中函數(shù)的應(yīng)用。

該章節(jié)可參閱 Python 函數(shù)應(yīng)用詳解。

Python 定義函數(shù)使用 def 關(guān)鍵字,一般格式如下:

def  函數(shù)名(參數(shù)列表):
    函數(shù)體

讓我們使用函數(shù)來輸出"Hello World!":

>>> def hello() :
  print("Hello World!")

 
>>> hello()
Hello World!
>>> 

更復(fù)雜點的應(yīng)用,函數(shù)中帶上參數(shù)變量:

def area(width, height):
    return width * height
 
def print_welcome(name):
    print("Welcome", name)

print_welcome("Fred")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

以上實例輸出結(jié)果:

Welcome Fred
width = 4  height = 5  area = 20

函數(shù)變量作用域

定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域。

通過以下實例,你可以清楚了解 Python 函數(shù)變量的作用域:

#!/usr/bin/env python3
a = 4  # 全局變量
 
def print_func1():
    a = 17 # 局部變量
    print("in print_func a = ", a)


def print_func2():   
    print("in print_func a = ", a)


print_func1()
print_func2()
print("a = ", a) 

以上實例運行結(jié)果如下:

in print_func a =  17
in print_func a =  4
a =  4

關(guān)鍵字參數(shù)

函數(shù)也可以使用 kwarg = value 的關(guān)鍵字參數(shù)形式被調(diào)用。例如,以下函數(shù):

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print("-- This parrot wouldn't", action, end=' ')
    print("if you put", voltage, "volts through it.")
    print("-- Lovely plumage, the", type)
    print("-- It's", state, "!")

可以以下幾種方式被調(diào)用:

parrot(1000)                                          # 1 positional argument
parrot(voltage=1000)                                  # 1 keyword argument
parrot(voltage=1000000, action='VOOOOOM')             # 2 keyword arguments
parrot(action='VOOOOOM', voltage=1000000)             # 2 keyword arguments
parrot('a million', 'bereft of life', 'jump')         # 3 positional arguments
parrot('a thousand', state='pushing up the daisies')  # 1 positional, 1 keyword

以下為錯誤調(diào)用方法:

parrot()                     # required argument missing
parrot(voltage=5.0, 'dead')  # non-keyword argument after a keyword argument
parrot(110, voltage=220)     # duplicate value for the same argument
parrot(actor='John Cleese')  # unknown keyword argument

返回值

Python 函數(shù)使用 return 語句返回函數(shù)值,可以將函數(shù)作為一個值賦值給指定變量:

def return_sum(x,y):
    c = x + y
    return c


res = return_sum(4,5)
print(res)

你也可以讓函數(shù)返回空值:

def empty_return(x,y):
    c = x + y
    return


res = empty_return(4,5)
print(res)

可變參數(shù)列表

最后,一個較不常用的功能是可以讓函數(shù)調(diào)用可變個數(shù)的參數(shù)。

這些參數(shù)被包裝進一個元組(查看元組和序列)。

在這些可變個數(shù)的參數(shù)之前,可以有零到多個普通的參數(shù):

def arithmetic_mean(*args):
    if len(args) == 0:
        return 0
    else:
        sum = 0
        for x in args:
            sum += x
        return sum/len(args)


print(arithmetic_mean(45,32,89,78))
print(arithmetic_mean(8989.8,78787.78,3453,78778.73))
print(arithmetic_mean(45,32))
print(arithmetic_mean(45))
print(arithmetic_mean())

以上實例輸出結(jié)果為:

61.0
42502.3275
38.5
45.0
0

更詳細教程請參閱參閱Python 函數(shù)應(yīng)用詳解。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號