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 相关文章推荐
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
python 实现图片旋转 上下左右 180度旋转的示例
Jan 24 Python
flask框架url与重定向操作实例详解
Jan 25 Python
Tensorflow限制CPU个数实例
Feb 06 Python
Python多线程多进程实例对比解析
Mar 12 Python
Python如何给你的程序做性能测试
Jul 29 Python
python脚本第一行如何写
Aug 30 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
Django windows使用Apache实现部署流程解析
Oct 12 Python
如何用 Python 制作 GitHub 消息助手
Feb 20 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
基于php无限分类的深入理解
2013/06/02 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
python实现串口通信的示例代码
2020/02/10 Python
Python内存映射文件读写方式
2020/04/24 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
python实现移动木板小游戏
2020/10/09 Python
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
初中英语教学反思
2014/01/25 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
教师辞职信范文
2015/02/28 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL