Python基础之函数的定义与使用示例
本文实例讲述了Python基础之函数的定义与使用。分享给大家供大家参考具体如下Python 定义函数使用 def 关键字一般格式如下def 函数名参数列表函数体让我们使用函数来输出Hello World12345defhello() :print(Hello World!) hello()Hello World!更复杂点的应用函数中带上参数变量:12345678defarea(width, height):returnwidth*heightdefprint_welcome(name):print(Welcome, name)print_welcome(Fred)w4h5print(width , w, height , h, area , area(w, h))以上实例输出结果Welcome Fredwidth 4 height 5 area 20函数变量作用域定义在函数内部的变量拥有一个局部作用域定义在函数外的拥有全局作用域。通过以下实例你可以清楚了解Python函数变量的作用域12345678910#!/usr/bin/env python3a4# 全局变量defprint_func1():a17# 局部变量print(in print_func a , a)defprint_func2():print(in print_func a , a)print_func1()print_func2()print(a , a)以上实例运行结果如下in print_func a 17in print_func a 4a 4关键字参数函数也可以使用 kwargvalue 的关键字参数形式被调用.例如,以下函数:123456defparrot(voltage, statea stiff, actionvoom,typeNorwegian Blue):print(-- This parrot wouldnt, action, end )print(if you put, voltage,volts through it.)print(-- Lovely plumage, the,type)print(-- Its, state,!)可以以下几种方式被调用:123456parrot(1000)# 1 positional argumentparrot(voltage1000)# 1 keyword argumentparrot(voltage1000000, actionVOOOOOM)# 2 keyword argumentsparrot(actionVOOOOOM, voltage1000000)# 2 keyword argumentsparrot(a million,bereft of life,jump)# 3 positional argumentsparrot(a thousand, statepushing up the daisies)# 1 positional, 1 keyword以下为错误调用方法1234parrot()# required argument missingparrot(voltage5.0,dead)# non-keyword argument after a keyword argumentparrot(110, voltage220)# duplicate value for the same argumentparrot(actorJohn Cleese)# unknown keyword argument返回值Python的函数的返回值使用return语句可以将函数作为一个值赋值给指定变量12345defreturn_sum(x,y):cxyreturncresreturn_sum(4,5)print(res)你也可以让函数返回空值1234defempty_return(x,y):cxyreturnresempty_return(4,5)print(res)可变参数列表最后,一个最不常用的选择是可以让函数调用可变个数的参数.这些参数被包装进一个元组(查看元组和序列).在这些可变个数的参数之前,可以有零到多个普通的参数:12345678910defarithmetic_mean(*args):sum0forxinargs:sumxreturnsumprint(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())以上实例输出结果为244170009.3177450