Python基础之函数的定义与使用示例


Posted in Python onMarch 23, 2019

本文实例讲述了Python基础之函数的定义与使用。分享给大家供大家参考,具体如下:

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):
    函数体

让我们使用函数来输出"Hello World!":

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

更复杂点的应用,函数中带上参数变量:

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))

以上实例输出结果:

Welcome Fred
width = 4 height = 5 area = 20

函数变量作用域

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。通过以下实例,你可以清楚了解Python函数变量的作用域:

#!/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)

以上实例运行结果如下:

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

关键字参数

函数也可以使用 kwarg=value 的关键字参数形式被调用.例如,以下函数:

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, "!")

可以以下几种方式被调用:

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

以下为错误调用方法:

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的函数的返回值使用return语句,可以将函数作为一个值赋值给指定变量:

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

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

你也可以让函数返回空值:

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

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

可变参数列表

最后,一个最不常用的选择是可以让函数调用可变个数的参数.这些参数被包装进一个元组(查看元组和序列).在这些可变个数的参数之前,可以有零到多个普通的参数:

def arithmetic_mean(*args):
sum = 0

for x in args:


sum += x

return sum
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())

以上实例输出结果为:

244
170009.31
77
45
0

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python如何读取MySQL数据库表数据
Mar 11 Python
python生成圆形图片的方法
Mar 25 Python
Python判断telnet通不通的实例
Jan 26 Python
python从子线程中获得返回值的方法
Jan 30 Python
Python语言进阶知识点总结
May 28 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
python编写微信公众号首图思路详解
Dec 13 Python
Python3常见函数range()用法详解
Dec 30 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
python调试工具Birdseye的使用教程
May 25 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
详解用Python练习画个美队盾牌
Mar 23 #Python
详解python中TCP协议中的粘包问题
Mar 22 #Python
Python JSON格式数据的提取和保存的实现
Mar 22 #Python
Python3.4解释器用法简单示例
Mar 22 #Python
Python常见数字运算操作实例小结
Mar 22 #Python
详解python校验SQL脚本命名规则
Mar 22 #Python
pymongo中group by的操作方法教程
Mar 22 #Python
You might like
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
arguments对象
2006/11/20 Javascript
JavaScript国旗变换效果代码
2008/08/13 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
python pickle 和 shelve模块的用法
2013/09/16 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
简单谈谈python中的多进程
2016/11/06 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
python定义具名元组实例操作
2021/02/28 Python
毕业实习个人鉴定范文
2013/12/10 职场文书
机关会计岗位职责
2014/04/08 职场文书
清明节演讲稿
2014/05/27 职场文书
上海世博会口号
2014/06/19 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
《开国大典》教学反思
2016/02/16 职场文书
德劲DE1108畅想
2021/04/22 无线电
比较几种Redis集群方案
2021/06/21 Redis