美文网首页
2021-12-10 Python-12

2021-12-10 Python-12

作者: MaggieXie | 来源:发表于2021-12-10 16:58 被阅读0次

自建函数

如果要多次重复相同或者类似的代码,就很有必要写一个自定义的函数。
函数声明用 def 关键词,返回时用 return 关键词
函数的参数可以是位置参数和关键词参数,默认参数,可变参数和包裹位置参数和包裹关键词参数。

1.位置参数
调用函数的时候按照形参的先后顺序设置。

def my_func1(a,b):
   if a > b:
       return a+b
   else:
       return a*b

my_func1(-1,3)
# -3
#实参和形参一一对应,并且一个参数都不能落
  1. 关键词参数和默认参数
    关键词参数是用键-值的形式加以命名,设定的时候可以用关键词参数的形式设定默认值。
def my_func2(a,b,c=1):
    if a > b:
        return (a-b)*c
    else:
        return (a+b)*c
my_func2(-1,2,c=1.5)
#1.5
my_func2(-1,2)
#1
my_func2(-1,2,1.5)
#1.5
#对于关键词参数可以通过 形参=实参 的形式传参,也可以通过位置参数的形式传参。如果是默认值,可以对其进行传参,也可以不传递参数。

3.可变参数,包裹位置参数和包裹关键词参数
如果传递的参数的数目不确定,可以设定可变参数。

def my_func3(*num):
    i=0
    for j in num:
        i=i+j
    return i 

my_func3(2,3,4)
#9
#多个实参传递给形参,实际上num是以元组的形式存储实参的。这个形式是包裹位置参数
def my_func3(**num):
    i=0
    for key, value in enumerate(num):
        i=i+key
    return i

my_func3(a=1,b=2,c=3)
#6
#包裹关键词参数实际上是以字典的形式接受实参

4.不同参数的命名顺序
如果同时存在以上的参数类型,参数命名的顺序应该依照:
先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
其实默认参数和包裹位置参数的前后顺序可以调换,但是只有在默认参数在前时,可以对其值执行修改。

相关文章

网友评论

      本文标题:2021-12-10 Python-12

      本文链接:https://www.haomeiwen.com/subject/nljmxrtx.html