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使用正则匹配实现抓图代码分享
Apr 02 Python
python中xrange用法分析
Apr 15 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
Python用for循环实现九九乘法表
May 31 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
Python callable内置函数原理解析
Mar 05 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
Python中requests做接口测试的方法
May 30 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 Try Catch异常测试
2009/03/01 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
JavaScript类的写法
2016/09/17 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
Python之list对应元素求和的方法
2018/06/28 Python
tensorflow更改变量的值实例
2018/07/30 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
高中毕业自我鉴定
2013/12/19 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
求职简历自我评价范例
2014/03/12 职场文书
爽歪歪广告词
2014/03/20 职场文书
个人培训自我鉴定
2014/03/28 职场文书
根叔历年演讲稿
2014/05/20 职场文书
2014年征兵标语
2014/06/20 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
2015年技术员工作总结
2015/04/10 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
GPU服务器的多用户配置方法
2022/07/07 Servers