python中函数的参数种类

在python中,函数定义时小括号中的参数被称为形式参数,简称形参。函数调用时的参数被称为实际参数,简称实参
根据形参的不同格式进行划分,共有五种格式:

  • 必须参数
  • 默认参数
  • 可变参数
  • 关键字参数
  • 命名关键字参数

必选参数

必选参数在使用时必须传值。示例:

def bit(n):
    print('n:',n)
bit(9)

默认参数

默认参数可以不传值,不传值时使用默认的数据。如果默认数值的数据类型是可变的,则会先开辟出一块内存空间出来。

# m为默认参数
def fight(m=18):
    print('m:',m)  #10,传参时为所传参数,不传参时为默认参数
fight(10)

可变参数

可变参数在函数定义是使用*args表示,接收不定长的参数,在函数内部组合为一个元组:

def total(a=5,*args,):
    print('a:',a)
    print('args:',args)
total(19,22,23,24,23)

关键字参数

关键字参数在函数定义时使用**kwargs作为形式参数,在调用时允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组合为一个dict。

def person(name,age,**kwargs):
    print('name:',name,'age:',age,'orthers:',kwargs)
    print(kwargs['wuwu'])
person('张三',19,cc='3',wuwu='cc')

命名关键字参数

命名关键字参数在调用传参时必须指定参数的名字,且必须放在可变参数的后边,没有可变参数时需要在第一个参数位置放一个*。

def eat(fruit,food,*args,milk):
    print("fruit:",fruit)
    print("food",food)
    print("args:",args)
    print("milk:",milk)
eat('西瓜','鸡蛋',11,23,24,milk='蒙牛')

当没有可变参数时:

def sleep(*,hour):
    print(hour)
sleep(hour=9)```

你可能感兴趣的:(python高阶用法,python)