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调用windows api锁定计算机示例
Apr 17 Python
浅谈Python中的数据类型
May 05 Python
详解Django框架中用户的登录和退出的实现
Jul 23 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
Sanic框架配置操作分析
Jul 17 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
python爬虫的一个常见简单js反爬详解
Jul 09 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
Python基础之pandas数据合并
Apr 27 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调用数据库的存贮过程
2006/10/09 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
PHP错误处理函数
2016/04/03 PHP
Laravel实现表单提交
2017/05/07 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python实现处理管道的方法
2015/06/04 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
Python 字符串换行的多种方式
2018/09/06 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
大学生标准推荐信范文
2013/11/25 职场文书
店长助理岗位职责
2013/12/13 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
小学生综合素质评语
2014/04/23 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
紧急通知
2015/04/17 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android