Python3函数的常见应用及代码是什么
Admin 2022-10-13 群英技术资讯 267 次浏览
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):
if len(args) == 0:
return 0
else:
sum = 0
for x in args:
sum += x
return sum/len(args)
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())
尝试一下
以上实例输出结果为:
61.0
42502.3275
38.5
45.0
0
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了安装python中wordcloud的几种方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
由于矢量图层文件较多,手动发布费时费力,python支持的关于geoserver包又由于年久失修,无法在较新的geoserver版本中正常使用。本文为大家准备了Python自动化发布矢量文件的代码,需要的可以参考一下
Python内置函数-next() 函数。next() 返回迭代器的下一个项目。next() 函数要和生成迭代器的iter() 函数一起使用。
__init__()一般用来创建对象的实例变量,或一次性操作,super()用于调用父类的方法,可用来解决多重继承问题,下面这篇文章主要给大家介绍了关于Python中super().__init__()测试及理解的相关资料,需要的朋友可以参考下
学习神经网络已经有一段时间,从普通的BP神经网络到LSTM长短期记忆网络都有一定的了解,但是从未系统的把整个神经网络的结构记录下来,我相信这些小记录可以帮助我更加深刻的理解神经网络
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008