当前位置:主页 > 软件编程 > Python代码 >

python 函数的详解与应用范例

时间:2022-03-09 09:34:22 | 栏目:Python代码 | 点击:

如何定义一个函数

函数也称方法,下面写一个简单的函数:

def function():
	print("我是函数。")

这是一个很简单的函数,函数只干了一件事,打印输出“我是函数。”这句话。
从这个函数的外观看,有个def,还有个function加个():
def是定义函数的关键字不能改动,function为函数的名称,可以随便写,后加():这是规定。
在函数里面的输出语句可以称之为函数体所有函数体需要进行缩进,不然那个会报错。

如何使用

使用方式很简单

function()

重复函数名再加上括号,就可以使用了

什么是参数

接下来我写一个函数:

def function(a,b):
	print(a,b)

在这个函数里,括号里面的 a和b就叫参数(函数参数)也叫形式参数。参数是干什么的呢?参数的作用是可以向这个目标函数传入一些东西。

比如在这个函数里是可以打印外面传入的参数内容:

function("aaa","bbb")

我向这个函数传入了两个参数,参数的位置是不能改变的,"aaa"可以成为实际参数,对应的就是a这个形式参数,"bbb"对应就是b,这个传入的过程为参数传递

结果输出的顺序就是:

aaa bbb

还可以这样进行参数传递:

function(a="aaa","bbb")
function("aaa",b="bbb")
function(a="aaa",b="bbb")
function(b="bbb",a="aaa")

当我们所定义的函数里面存在参数,当使用的它的时候,一定需要传入参数不然会报错,类如:

def function(a):
	print(a)

function()

运行结果:

TypeError Traceback (most recent call last)
<ipython-input-1-1ea14deaa8c8> in <module>
2 print(a)
3
----> 4 function()

TypeError: function() missing 1 required positional argument: 'a'

不定长参数

如果不知到传递的参数到底有多少,该怎么办呢?
可以用***来实现。

加了 * 的参数会以元组(tuple)的形式传入,存放所有未命名的变量参数,类如:

def function(*args):
	print(args)
function(12,35,65)

运行结果:

(12, 35, 65)

发现输出结果是一个元组,包含了所有传入的参数

加了两个星号 ** 的参数会以字典的形式传入;

def function(**kwargs):
	print(kwargs)
function(a=12,b=35,c=65)

这里传入的参数需要注意,是键值对。

当 一个星号,和两个星号同时出现,一个星号必须在两个星号前面,列如:

def function(*args, **kwargs):
	print(args)
	print(kwargs)

return是干什么

如果函数里面出现return,表示这个函数运行到这里结束了,后面不管有多少多不会再执行。并且return会返回它后面表达式的值,相当于把后面的值赋给函数,例如:

def function():
	print("aa")
	return "aaa"
	print("bb")

print(function())

运行结果:

aa
aaa

发现return后面的语句没有执行函数就退出了,并且函数自己也有值了。

您可能感兴趣的文章:

相关文章