🐘如果有其他语言基础的伙伴们相信对于函数这个词肯定都不陌生,所谓的函数指的是被封装成固定一块的便于管理的代码块,它具有特定的功能,可重复调用,这样的代码块就是我们最常说的函数。对于函数的使用我们只需要调用我们的函数名即可。那么接下来我们就从函数的不同的部分来详细的解释一下函数的使用方法吧。
1.函数的定义与调用
🐘在Python中有很多内置的函数,就比如我们的求长度的函数len()函数可以获得列表的长度。对于一个函数的语法格式如下:
def 函数名([参数]):
函数体
return [表达式]
以上语法的含义是:
①定义函数的关键字是def,后面是函数名和参数。
②参数必须放在小括号()中间,可以没有参数,但是括号必须保留。
③括号后面的冒号是必须的,标志函数内容的开始。
④以缩进表示函数体的范围
⑤return[表达式]语言表示函数结束,并且返回表达式的值。
例如我们可以简单的定义一个加法函数来感受一下函数的定义方法:
#定义一个加法函数实现加法运算
def add(x,y):
return x+y
🐘当我们的函数定义好之后,就可以使用函数来完成相应的功能。一般是通过"函数名(实参)"的形式调用一个函数。比如,对上面加法函数的调用,其代码如下:
sum=add(12,13)
print(sum)
🐘我们在调用完毕之后哪一个变量接受我们的函数的返回值即可使用。
2.函数的返回值
🐘在前面函数的定义当中,return[表达式]语句用来返回函数值,如果没有定义返回值表达式,则返回值是None。示例如下:
#打印传入的数字
def pri(num):
print(num)
num=int(input("请输入一个数字:"))
ret=pri(num)
print(ret)
🐘和我们的其他语言不相同的是我们的其他语言一般不支持返回多个参数,一般使用指针的形式修改我们的特定的变量已达到我们函数返回多个值的作用。而Python语言当中的我们的函数允许具有多个函数的返回值,我们需要使用小括号将我们的多个返回值括起来并使用逗号隔开即可。我们接收函数返回值的变量会自动被定义成一个元组的形式,我们可以通过元组获得函数的多个函数的返回值并使用。代码示例如下:
#多数值返回函数
def fun(num1,num2):
s1=num1+num2
s2=num1-num2
s3=num1*num2
s4=num1/num2
return (s1,s2,s3,s4)
res=fun(12,6)
print(res)
3.函数参数
🐘我们函数参数的传入的形式有两种,一种是一一对应的方法,一种是特定值复制的方法。对于这两种方法我们一一进行介绍:
🐘首先是我们一一对应的函数的传参方式,我们向函数中传入的值必须和我们函数定义时的返回的值相同,如果不同的话程序就会报错。示例如下:
🐘就像我们上面的代码所展示的那样,当我们实参传入个数和我们形参传入个数不相同的时候我们的程序就会出现报错。
🐘其次是我们特定值的赋值的方法,我们在实参的部分可以不按照顺序,而是按照形参中的变量名利用等号和我们的传参的值进行数据之间的链接。这样的传参方式并不要求我们参数之间一一对应,使得我们多函数的传参更加方便。其代码所示如下:
#定义一个减法函数,进行传参测试
def sub(x,y):
return x-y
sum=sub(12,3)
sum1=sub(y=12,x=3)
print(sum1)
print(sum)
🐘在介绍我们函数参数的时候就不得不提到我们函数的默认参数了,要是我们对于参数的赋值不完全的时候,我们就会使用到我们的默认参数。默认参数是在我们函数定义的时候所创建的,使用等号和我们的变量名链接起来的一种形式。起作用是当我们没有想函数中传递该项参数的时候就会使用我们的默认传参,在定义默认参数的时候规定,没有定义默认值的参数必须在前,默认传参必须在后,否则系统就可能产生报错。所示代码如下:
def add(x,y=12):
return x+y
sum=add(3)
print(sum)
🐘最后我们再来介绍一下我们的可变参数,可变参数是指函数能够接受任意多个参数。可变参数有两种形式,一种是参数的名字前面有一个*号,比如*args,另一种是参数的名字前面有两个*号的形式,比如**kargs。需要注意的是,如果同时使用*args和**kargs的时候必须把*args参数放在**kargs的前面。下面我们就来详细介绍一下我们这两个可变参数的区别。
🐘对于我们的可变参数,顾名思义就是我们可以向其中传入变化的变量参数值,这里的变化指的是长度个数的变化而不是大小的变化。对于我们的*args我们在函数形参的部分可以传入许多普通的变量值,就比如(1,2,3,4,5)诸如此类的形式。而我们的**kargs就有些许不同了。我们的**kargs是专门针对于字典数据结构的一种可变参数,要求我们在可变参数在实参部分传入的是x=y的形式,我们的Python解释器会自动将我们传入的参数组成一个字典,因此,在函数体内,可以把变量kwargs作为一个字典进行处理。其所示的代码如下:
def pri(**kwargs):
sum=0
for i in kwargs:
print("%s的年龄是%d"%(i,kwargs[i]))
pri(张三=12,李四=13,王五=12)
4.变量的定义域
🐘据我们所知的是我们的变量都会具有其特定的定义域。我们函数中所创建的变量同样具有其特定的定义域。我们在函数当中所创建出的变量只能够在我们的函数体中使用,在外部无法对函数中的变量进行修改,(作为函数的返回值传出的值除外)因此我们使用函数变量的时候需要仔细且耐心的处理函数中的变量,避免发生不必要的错误。下面是我们展示的相关的测试代码:
def sum(x,y):
sum=0
sum=x+y
return sum
sum(12,13)
print(sum)
🐘经过上面对于Python函数的介绍之后相信大家对于Python函数有了更多的了解,那么本次博客也就到此结束了,感谢您的观看,再见喽。