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实现排序算法
Feb 14 Python
python通过urllib2爬网页上种子下载示例
Feb 24 Python
Python操作MongoDB详解及实例
May 18 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
python设置环境变量的原因和方法
Jun 24 Python
Python跳出多重循环的方法示例
Jul 03 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
Python实现冒泡排序算法的完整实例
Nov 04 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
Python多线程和队列操作实例
2015/06/21 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python opencv实现简易画图板
2020/08/27 Python
python之语音识别speech模块
2020/09/09 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
师德师风个人自我剖析材料
2014/09/27 职场文书
家属联谊会致辞
2015/07/31 职场文书
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL